Travis Knight in the press release for Laika’s next stop-motion feature, Wildwood:
Our movie is a celebration of artistry over algorithms, and of the belief that films made by hand, with enormous care, can still feel bold, surprising, dangerous, and alive.
I’m really looking forward to this.
When I read a blog post I love, I usually find my favorite part of it to quote in a short post on my own blog. Sometimes I can’t find a single excerpt that fits, so I turn it into a full blog post and add more commentary. Such is the case with this fantastic essay by Om Malik:
What matters now is how fast something moves through the network: how quickly it is clicked, shared, quoted, replied to, remixed, and replaced. In a system tuned for speed, authority is ornamental. The network rewards motion first and judgment later, if ever. Perhaps that’s why you feel you can’t discern between truths, half-truths, and lies.
Om doesn’t focus on ad-based platforms, but I think the incentives are similar. Meta is fine with rushing us through an algorithmic feed because there is no end. The more engaged we are, the more ads we see.
We built systems that reward acceleration, then act surprised when everything feels rushed, shallow, and slightly manic. People do what the network rewards. Writers write for the feed. Photographers shoot for the scroll. Newsrooms frame stories as conflict because conflict travels faster than nuance.
We should slow down in 2026. Take more time to read longer posts. Full stories, not headlines. This is why when I cancelled all of my news subscriptions, I kept only The New Yorker. Longer, thoughtful posts that I read once a week instead of all the time.
AI will bring us infinite content, with a velocity that humans can’t match. It will be noise, overwhelming. Then we will become numb to it. The only antidote is authenticity. Knowing that what you’re reading is coming from a real human with their own perspective, their own strengths and flaws, because you’ve followed them for years.
Powerful email shared by Brent Simmons from family members in Minnesota.
This is a great extended ad for the new Volvo EX60. You can acknowledge the old hassle when you think you’ve solved it. 500-mile range.
Kagi has a blog post about the Google antitrust ruling and the need for a more open search index, including perhaps a government-backed service:
This layer would replace the role public libraries played for centuries - a role that effectively disappeared when commercial web search took over in the late 1990s. Our ancestors understood well the benefits that non-discriminatory, direct access to information brings to citizens, and ultimately society itself.
Manu Moreale, as usual being thoughtful on his blog:
Assuming something about someone else, based on your own worldview and without asking questions, is intellectually lazy. And it also prevents people who might have different views from engaging in conversation and exploring differences.
The upcoming Europe-based W social network seems well intentioned, but there has gotta be a better name than W. Why draw attention to Twitter / X? And W has the most syllables of any letter. Admittedly “Micro.blog” doesn’t exactly roll off the tongue either. 🤪
This blog post from OpenAI about their data center buildout — called Stargate — sounds a little like a response to the mistakes xAI made in Memphis:
Stargate is a partnership with communities, and we can only achieve our mission by being good neighbors.
There’s also more on their approach to the electrical grid and water. All this new infrastructure seems to be moving along quickly.
Spurs lose a close one in Houston, but this team has been on a roll otherwise. Looking really good and fun to watch. I want to get down to San Antonio again soon. 🏀
Exactly one year since Trump was sworn in for his second term. Some things have been predictably bad and some things (Greenland?) have been nutty even for him.
I re-listened to the podcast episode I recorded two days after the 2024 election. I should listen to this every year to recenter myself.
I hinted a few times that I was adding WordPress and Ghost sync to Micro.blog. It was a big change, and I deployed it just for myself last week to test in production. It’s sort of amazing, unlike anything out there… but also it’s not good enough. Putting it aside for a couple weeks.
The best way I can explain how I work: every day, I fix a bug, I work on a new feature, I reply to a customer. The balance isn’t perfect but it’s always all of these things. Keeps things moving forward.
After Google Reader, folks asked me about building an open API for feed syncing, given my history with Tweet Marker. I didn’t work on it because I wanted to focus on indie microblogging. But it was inevitable that eventually Micro.blog would have something. Like Apple having both Pages and Numbers.
The Iconfactory is out with a new Kickstarter campaign! Nice pitch:
We all need a way to unplug from time to time - the world’s gone off the rails and no amount of doomscrolling is fixing it. That’s one of the reasons we created Ollie’s Arcade - to be a pixelated place to take refuge from the real world and enjoy some simple, fun old-school arcade games on your iPhone or iPad.
Over the last year I’ve become hyper-sensitive to extremism. The lesson from Trumpism should be to do the opposite of whatever he does. Less hate, less judgement, less bullying. More empathy. I’m hopeful that whoever picks up leadership of the Democratic party will understand this. 🇺🇸
Matt Mullenweg blogged about Scott Adams, trying to reconcile good memories of Dilbert with later racist comments:
When I was younger, I used to have a more binary view of people, but as I’ve grown, read a ton of biographies, seen the press cycles, and been lucky enough to meet some idols and villains, I’ve become much more comfortable taking everyone as a flawed human being.
Nuance here is difficult because we shouldn’t downplay hurtful comments with a “both sides”-style argument. Sometimes we must draw a line. Still, I agree we should avoid reducing people to a single moment.
My short posts tend to cut corners so they flow a little more like informal thoughts. I wonder if I’ll one day regret all the intentional comma splices. The semicolon is sitting right there yet I reserve it for only the rare sentence, like it’s sacred punctuation that will draw attention to itself.
Nice new micro app from @mattbirchler: Quick Stuff, for making App Store screenshots. If you look at any of my apps, the screenshots are always way out of date. I’d rather improve the apps than fiddle with screenshot sizes.
I enjoy visiting Apple’s home page every January to see the update for Martin Luther King Jr. They don’t reuse the same quotes and photos from last year, it’s always something a little new. Maybe I’ve lost faith in Tim Cook — see the bonus episode of Core Int — but this tribute still feels genuine.
We’re on a roll with movies this weekend. Just got back from Avatar 3. Unfortunately while I was away being overwhelmed with the beauty and spectacle of what they put on screen, the Micro.blog servers were being overwhelmed with traffic. 🍿
I always thought I was lucky to grow up in the 20th century. I didn’t even realize how poor my family was until years later. But the future is going to be much better for our grandchildren. I was born too early! It’s hard to see because the last decade has been such a setback for social progress.
Going back and forth between bug fixing and something new. So fun to start from a blank slate, yet still be able to build on all the plumbing we’ve built in Micro.blog APIs for years.
Wish I knew more about the reason for this post from Eugen Rochko, although we can guess:
I will be opting my account out of the #Bluesky bridge next week. If you follow me from Bluesky (I think there are about 3.9K of you) and want to continue seeing my posts you will need to get an account on the fediverse. Cheers.
Last year there were periods of time when I stopped sending my blog posts to the fediverse. So that’s similar, right? Maybe. Bridgy Fed is an unusual case because of how dramatic the opt-in / opt-out story unfolded.
Watched: All You Need Is Kill. We love Edge of Tomorrow so had to see this. It would be fun if there were more adaptations or spinoffs. 🍿
Went to see Marty Supreme. Wild, much different and better than I was expecting. Loved it. 🍿
Fascinating drama in Elon Musk’s court filing against OpenAI. OpenAI’s web response is well done, with color highlighting of passages from Greg Brockman’s journal.
Always good to take notes. I wouldn’t be able to remember these kind of details from 8 years ago without writing them down.
Rewrote some WebSocket code this week and it seems to have made a dramatic improvement not just for Nostr (which uses it) but general stability with hung Sidekiq processes. Reviewing Nostr, I still find it an elegant protocol. Just not sure how it fits in the modern social web.
Ads are coming to ChatGPT. OpenAI is attempting to head off some of the inherent misalignment with ads and users by outlining some ad principles:
Ads do not influence the answers ChatGPT gives you. […] We keep your conversations with ChatGPT private from advertisers, and we never sell your data to advertisers. […] We do not optimize for time spent in ChatGPT.
The problem is once you’re making money with ads, it’s hard not to optimize for more ads. I just hope ads will remain a small part of their business compared to Plus and Pro subscriptions.
This announcement from Wikipedia seemed to spark some debate. I think it’s only good news. If a company is significantly benefiting from Wikipedia and is able to help offset hosting costs, they should.
From the announcement:
Tech companies that rely on Wikipedia content must use it responsibly and help sustain Wikipedia for the future. One key way to do this is through Wikimedia Enterprise. Developed by the Wikimedia Foundation, Wikimedia Enterprise is a commercial product for large-scale reusers and distributors of content from Wikimedia projects.
It’s a little like supporting open source. Micro.blog has a recurring donation to the Hugo project. It’s honestly not very much money, but it’s a good habit and can increase as Micro.blog grows.
Molly White in a longer thread on Bluesky:
AI companies have ALWAYS been training their models on Wikipedia content, which under the free and open access model is available to anyone — including AI companies. Agreements like these require AI companies to limit and offset the strain they place on Wikimedia infrastructure.
AI using Wikipedia reminds me of the FAQ on setting up a Little Free Library:
I think someone is stealing books from my library and selling them, what do I do?
Remember that the purpose of a Little Free Library is to share books—you can’t really steal from it.
Wikipedia is an incredible resource. Even though I use AI chatbots all the time, I still find myself reading Wikipedia pages fairly often. There’s always going to be value in reading something longer that was researched and written by humans.
I blogged briefly this morning about the W3C. Connected Places has a much longer post today about the new working group and participation.
I’ve submitted my name as an invited expert. I think they will have plenty of ActivityPub experts, but I’d like to help with testing LOLA and updating Micropub.
Reviewing some of the W3C policies, kind of interesting who can be part of a working group. Small companies can be members for $2k/year. Invited experts can also participate, but:
Invited Expert status is not normally granted to individuals employed by organizations which have significant business interest in results from W3C.
If they’re too strict about this, which I think is unlikely, it might create a hole where very small companies don’t have a clear place.
A long story in The Hollywood Reporter about George R.R. Martin and all the work he is juggling. The problem with a book taking so long — I know this firsthand — is that the author’s expectations keep going up, as if it needs to be even more perfect. But it never will be. Maybe best to just ship it.
There’s never been a better time to learn a little about nearly everything in web technology. 2026 will be a year for generalists and new tools that span platforms. And yet I see folks on the fediverse who have strong opinions about Bluesky without really understanding why it exists or how it works.
We officially have a new W3C working group to advance ActivityPub and related specifications (including IndieWeb standards). There has been a lot of work in the years since the last specs were updated, so it’ll be good to see conventions formalized.
I’ve been watching some of the CNN live coverage from Minneapolis. Looks precarious. Sad and worried for a city that has already gone through so much.
Stay safe everyone.
Two co-founders of Thinking Machines are going back to OpenAI. Last July, a co-founder of Safe Superintelligence left for Meta.
Building a business is hard, even with funding. The near implosion of OpenAI and the board shakeup that led to these companies’ founding now feels like ancient history.
Reading this post on Daring Fireball today about the explosive growth of the iPhone made me curious what I had blogged about the launch. We tend to slightly reframe history when looking back, so older posts are a snapshot of how things really felt. My post in 2007 also collected some tweets.
Really unique design for Honda’s prototype camper trailer. I like it. There’s some video and commentary here on YouTube.
David Pierce writes that all the AI pieces are falling into place for Google:
Three years after being caught off guard by ChatGPT, Gemini appears to have everything it needs to take down OpenAI and everyone else.
And:
It announced an opt-in feature called “Personal Intelligence,” which connects Gemini to the vast ocean of information Google has about you in order to give you better responses.
I don’t think Gemini will ever reach the level of market share that Google search had. There’s still a lot of room for a few successful companies.
There’s a major Verizon outage, still impacting us here in Austin. My phone is currently on SOS. I don’t think I’ve ever seen something on this scale before… Despite how much we gripe about cellular service, it’s actually very reliable.
The Information report on Gemini + Siri answers most of my questions, including deployment:
To maintain Apple’s privacy pledge, the Gemini-based AI will run directly on Apple devices or its private cloud system, which is powered by Apple’s own server chips, rather than running on Google’s servers. Google put significant engineering effort into getting a version of Gemini working on Apple’s servers, according to a person familiar with the partnership talks.
No small thing for Apple to scale this up on their own. We’ll see small improvements in iOS 26.4, with the biggest changes in the fall.
John Gruber commenting on Meta’s plans to sell more glasses:
20 million units is a real number. But building the capacity for 20 million units isn’t the same as selling 20 million units, and, to my knowledge, actual sales of Meta Glasses are only Bezos Numbers.
In NYC last week, I walked by the Meta Lab store. There was a 30-minute wait to try Ray-Ban Display glasses. I don’t want to actually buy them, so I didn’t waste everyone’s time by taking up a slot. The store had real people in it, though. (Not Apple Store level crowdedness, of course.)
Caught myself writing a blog post to complain about someone else’s blog platform and API. Deleted the draft. There is plenty of complaining to go around already. “Everything is amazing and nobody is happy.”
It has been forever, but we’ve finally released a new version of Sunlit for iOS! It’s simpler, faster. It’s the app for when you just want to browse and reply to photo posts. Still more we want to do with it. Needed to get this update out first as a reset.
Continuing to experiment with video. Here’s a short one from this morning, working at Lazarus while it was raining.
When I switched to the iPhone Pro Max, I gave up my iPad Mini, thinking the larger iPhone is good enough most of the time, and I’ve got the Kindle for reading. With AI-assisted coding, maybe the iPad has a new role… Jotting down ideas or firing off coding tasks to run from anywhere without a Mac.
Most features I work on are fairly small. I like to roll out improvements all the time, whenever they’re ready, rather than hold features for a big release. And I get nervous if there are Git branches sitting there, drifting away from the production code.
Sometimes there really are larger features that take time to get right, though. I’ve been working on a new thing that I teased in a screenshot a few weeks ago. It’s complicated enough that I don’t think I could build it all at once, so instead I iterate in small chunks over weeks or months.
I thought it would be interesting to share all the commits so far, about 75 messages. They illustrate the sort of meandering flow that a feature sometimes takes as I work out exactly what to build.
Still more testing to do, then I’ll write up a formal announcement with details about what it is and why.
Another Micro.blog tool from @timapple, this one is for blogging from the command line. The year of micro apps.
Pretty significant bundle of apps in Apple Creator Studio. I’ve been using an old license of Final Cut Pro to edit my short videos recently, even though it’s overkill. Probably will keep doing that for now, don’t really need a new subscription.
OpenAI acquires health startup Torch:
We started Torch to build a medical memory for AI, unifying scattered records into a context engine that helps you see the full picture, connect the dots, and make sure nothing important gets lost in the noise again.
This is pretty much exactly what I was blogging about last week.
Also just announced: Claude for Healthcare.
Southwest is still my preferred airline but the new changes do hurt the experience. Paying for checked bags encourages people to stuff more bags overhead where they don’t fit. Paying for assigned seats ruins the checkout flow with upsells.
Anthropic has bundled Claude Code features into a more user-friendly interface called Cowork. Looks good. Requires a Max subscription (💰) for now so I can’t try it.
Pretty good name, though not as good as Copilot and Codex. Still, I like where Anthropic is going with this.
Something feels off about this Apple and Google statement on Siri and Gemini. I’m left with more questions than I started with, particularly around this Gemini “cloud technology” mentioned in the statement.
Salvatore Sanfilippo, the creator of Redis, wrote over the weekend about AI for programming:
It does not matter if AI companies will not be able to get their money back and the stock market will crash. All that is irrelevant, in the long run. It does not matter if this or the other CEO of some unicorn is telling you something that is off putting, or absurd. Programming changed forever, anyway.
I’ve blogged a lot about AI. Part of it reminds me of this particular post from June last year. I can’t believe it was less than a year ago… Feels like two years ago, so much has happened.
I’m glad this blog post from Norbert Heger is getting so much attention. I thought I was losing my mind trying to resize macOS Tahoe windows. Even keeping the rounded window corners, Apple should be able to fix this now that it’s so perfectly illustrated.
You can subscribe to get an email each Monday of all my blog posts from the previous week. Even if no one subscribed, I’d keep this enabled because it’s nice to skim through and reflect on the last week. What was I focused on? What’s next? I’m usually surprised how many posts or photos there were.
The Internet Archive has more about the legacy of Stewart Cheifet and the digitization of his shows. Rest in peace. Glad to see such a long-running effort to archive his work.
Ben Thompson with a critique of the first live NBA game on Vision Pro:
Here’s the thing that you don’t seem to get, Apple: the entire reason why the Vision Pro is compelling is because it is not a 2D screen in my living room; it’s an immersive experience I wear on my head. That means that all of the lessons of TV sports production are immaterial.
Apple is overthinking it. People just want more content. One camera at every game instead of multiple cameras at only a handful of games. Worse is better.
I’m reading Station Eleven, finished a chapter and then checked the internet, my mind still halfway in the book. For a moment I wasn’t sure if I’d see people online talking about ICE, the federal reserve, or a new pandemic. Reality now as unsettling as fiction, and it all blurred together.
Matt Birchler on AI-assisted bespoke apps:
I’m calling it now: if 2025 was the year of “vibe coding,” 2026 is going to be the year of “micro apps.” It’s the year a meaningful number of people begin to solve their own problems by building custom software tailored specifically to their needs.
Dan Moren makes a great point at Six Colors about the ongoing Grok is still in the App Store controversy:
It is absolutely unconscionable that, as of this writing, X is not only still on the App Store but is ranked #1 in “News” and that Grok is the #3 free app.
With trending lists, the platform owner cedes discovery to an algorithm. If Apple and Google aren’t ready to ban Twitter / X, the very least they could do is stop recommending the app to new users through these lists.
Finished reading: Ship of Magic by Robin Hobb. Starts slow, took about a third in until I really got into it. Fantastic. 📚
In New York City for a few days with family. Amazing time. Got to see Maybe Happy Ending last night which I loved.
I expect a lot of people to be bothered by ChatGPT Health. Of course you shouldn’t use AI as a replacement for a human doctor. And what about privacy?
AI for health questions has actually gotten really good in the last year. It’s better at explaining lab results. It’s better at understanding medications. It’s just generally better at pointing us in the right direction about complex topics.
When my mom got sick last year, I spent many days in the hospital, in the ER, at rehab facilities, talking to nurses and doctors. It’s what inspired me to make Micro.blog free for nurses. Doctors and nurses are trying their best and sometimes they do work miracles, but they are overwhelmed by the system. Too many things fall through the cracks.
There are a couple of significant problems that could be addressed by AI:
I can’t count how many times I had to explain my mom’s medical history to a new nurse or doctor, just to get them up to speed. They need the full picture, not just a quick glance at the latest vitals and blood work. And at the same time, doctors have to spend precious minutes summarizing a procedure or medication in terms that we can understand.
I don’t have even the slightest worry that AI will replace doctors. There will always be more work than they can handle. Technology should be an amplifier, letting professionals do their jobs more effectively, so they can focus more time on the things that only they can do.
We are only at the very beginning with AI for health, and it can be scary to move too quickly. But in a decade, if this is properly woven into the fabric of health care, it will save lives. I’m not talking about breakthroughs and cures, at least not yet. There is mundane work that breaks down under the frenzy and scale of modern health care — context, communication, and surfacing the right details at the right time — problems that LLMs are well suited to fix.
It has been an unbelievable nine years since I launched the Kickstarter for Micro.blog. Even after I finally published the book online, a few things still nagged at me about the structure and text. I had hoped in the last couple of years to address them.
Actually running Micro.blog and improving it is my priority, though. We deploy changes multiple times a week, fixing bugs and adding features. Maintaining the apps across iOS, Android, and Mac.
Over the holidays and the new year, I went back to the book draft and gave it a fresh look. I updated a bunch of things, improving the flow of a few sections, adding a new chapter about Bluesky and the AT Protocol, fixing typos and diagrams.
The book clearly grew out of control, filled with my thoughts and essays, at times losing focus. I could never decide if it was a history of the open web, a technical write-up of new protocols, or a call to action, so it is all three. In some sections, I think it works well. In others, it takes too long to get to the point, detouring into my own feelings.
As much as I wish I could continue to rework several parts of the book, I have to call it. I don’t plan on making any more text changes. You can read it online or download the latest ePub. It’s as done as it can be with the time I have.
Thank you. I hope the book is a unique snapshot of where we are with blogging and social media. Many of the threads of the open social web that began years ago have been followed to a stopping point. Now we get to see what comes next.
I mentioned this on our bonus episode of Core Intuition last month, but I don’t think I’ve blogged about it… Sometimes AI will come up with something and I’ll think, “Damn, that is better than what I would have written myself.” Annoying! My only fix is to edit nearly everything to make it my own.
I wrote most of my book years ago, so this is the first time I’ve actually run it through AI to get some feedback on structure, redundancies to trim, and grammar problems. It’s valuable, but it’s also leaving me with doubt that I didn’t have before.
Let’s say I let AI come up with a bridge paragraph that helps tie something together. Just a few sentences. Is it still my work? Am I contributing in a small way to the slop of the web?
For a blog post, this wouldn’t bother me. There is something about a “book” that gives me pause, even though it’s 50k of my own words. The tiny part that AI helped with would barely register.
I expect artists will go through the same dilemma. Art that is 95% human, 5% robot. Or podcasters that let AI edit each episode. You might think editing doesn’t matter, but there is a craft to it and how it shapes the pacing of a show.
This balance of how much of creative work we give up will be different for everyone. There will be purists for which nothing short of 100% human will be acceptable. I get that, and perhaps for some things I agree. For programming, I would go in the opposite direction, fine if AI writes more and more code.
Books and blogs are different than programming for me. I want the human voice. When I read other people’s blogs, I want to feel a connection to the authors. I want my own book to be genuine, and I think it is, even if there are bits here and there where a robot pointed me in the right direction.
When I experimented with not federating my posts for a few months, I also accidentally muted everything from Mastodon. Now that I’m seeing everything again, I’m not sure my life is better. Perhaps there should be a preference to temporary hide external posts — Mastodon, Bluesky, Tumblr, etc.
Sean Heber blogs about the continued devaluation of software, comparing it to Zork in the 1980s.
In 2026 there is going to be more software than ever, much of at least AI-assisted if not outright slop, and so more competition. More indie developers, but maybe fewer successful ones.
Intrigued by the upcoming LEGO smart bricks. It’s crazy what is possible now. I ordered a few widgets from SparkFun the other day to experiment with… So tiny and powerful.
Satya Nadella started a new blog at the end of 2025. A couple interesting things about it… There is no mention of Microsoft, so it feels like a personal blog, and he quotes Steve Jobs:
A new concept that evolves “bicycles for the mind” such that we always think of AI as a scaffolding for human potential vs a substitute. What matters is not the power of any given model, but how people choose to apply it to achieve their goals.
Also his blog is using Hugo.
John Voorhees revived his old Objective-C app with Claude Code and came away floored:
What I see is the foundation of a fundamental shift in the economics of building and maintaining apps. […] Will new opportunities emerge for indie developers to serve even narrower user segments as the time and effort to build new utility apps drops?
Yes. Small developers (especially generalists) have a new competitive advantage because they have all the capability of larger teams and none of the bureaucracy.
Great post today by Ben Thompson on the changes coming in the future, even as AI replaces some jobs:
All of that could very well be replaced by AI, but the point is that the history of humans is the continual creation of new jobs to be done — jobs that couldn’t have been conceived of before they were obvious, and which pay dramatically more than whatever baseline existed before technological change.
There will always be something to do. And humans will always seek out art and writing and anything crafted by humans, because we feel a connection with it.
My book has about 65 short chapters. Each chapter has a quote at the beginning. I thought it would be fun to gather all of these together in a blog post, so here they are. (They aren’t in book order.)
It’s not all the quotes in the book. There are hundreds of block quotes and there are special “interlude” interviews with a few people. But just reading all the epigraphs together paints an interesting picture. I’m also noticing a little repetition which I might still edit.
“If Facebook’s power to swing elections is like the Ring, then the only solution is to destroy that power.” — Scott Rosenberg
“You choose the web you want.” — Brent Simmons
“We come now to the very brink, where hope and despair are akin.” — Aragorn from The Lord of the Rings
“There’s no such thing as a sure thing. At the end of the day, the only thing that matters is what you think.” — Ali from Draft Day
“We keep moving forward, opening new doors and doing new things, because we’re curious… and curiosity keeps leading us down new paths.” — Walt Disney
“If there’s a book that you want to read, but it hasn’t been written yet, then you must write it.” ― Toni Morrison
“Progress depends on our changing the world to fit us. Not the other way around.” — Halt and Catch Fire
“Most important things in life are a hassle. If life’s hassles disappeared, you’d want them back.” — Hayao Miyazaki
“You donʼt know if your idea is any good the moment itʼs created. Neither does anyone else. The most you can hope for is a strong gut feeling that it is. And trusting your feelings is not as easy as the optimists say it is. Thereʼs a reason why feelings scare us.” — Hugh MacLeod, Ignore Everybody
“The most valuable of all talents is that of never using two words when one will do.” — Thomas Jefferson
“Perhaps you think that Twitter today is a really cool and powerful company. Well, it is. But that doesn’t mean that it couldn’t have been much, much more.” — Dalton Caldwell
“There aren’t many companies that get to this level. And there aren’t many founders that choose their company over their own ego.” — Jack Dorsey’s resignation letter
“This device isn’t a spaceship; it’s a time machine. It goes backwards, forwards. It takes us to a place where we ache to go again. It’s not called the wheel; it’s called the carousel. It lets us travel the way a child travels — around and around, and back home again, to a place where we know we were loved.” — Don Draper
“The station structure, designed after the Qual d’Orsay, Paris, but twice as large, will be 1,500 ft. in length by 500 ft. in width, three decked, inclose 25 tracks at tunnel level, which will be approached by gradual carriage drive and walkway.” — The Brooklyn Daily Eagle Almanac, 1906
“You were the captain of a ship, sailing aimlessly through the wilds of the Web. Occasionally you would drop anchor and stop to peruse all the great content that netizens were putting out into the world.” — The Web Is Fucked
“Nature uses only the longest threads to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry.” — Richard P. Feynman
“The true meaning of life is to plant trees, under whose shade you do not expect to sit.” — Nelson Henderson
“In principle, I don’t believe anyone should own or run Twitter. It wants to be a public good at a protocol level, not a company.” — Jack Dorsey
“kottke.org isn’t so much a thing I’m making but a process I’m going through. A journey. A journey towards knowledge, discovery, empathy, connection, and a better way of seeing the world. Along the way, I’ve found myself and all of you.” — Jason Kottke
“Postel walked in because he had a job for Mockapetris. He wanted him to find a compromise between five different proposals for improving the way the APRAnet dealt with names and addresses. Mockapetris took the job, but he pretty much ignored the five proposals and built his own system.” — Cade Metz writing about how Paul Mockapetris created DNS
“As the web becomes more and more of a part of our every day lives, it would be a horrible tragedy if it was locked up inside of companies and proprietary software.” — Matt Mullenweg
“All we have to decide is what to do with the time that is given us.” — J. R. R. Tolkien
“As software developers and designers, we have a responsibility to the world to think these things through carefully and design software that makes the world better, or, at least, no worse than it started out.” — Joel Spolsky
“The magician takes the ordinary something and makes it into something extraordinary. But you wouldn’t clap yet, because making something disappear isn’t enough. You have to bring it back.” — The Prestige
“I am very aware that the original concept must do something worthwhile creatively or all the hard work to follow will be wasted.” — Mary Blair
“Micro.blog is not an alternative silo: instead, it’s what you build when you believe that the web itself is the great social network.” — Brent Simmons
“A complex system that works is invariably found to have evolved from a simple system that works.” — John Gall
“The magic of compatibility between products, that’s a big part of what I do this for. All the great stuff is built around agreements between developers to let users move data between the products.” — Dave Winer
“That is why you need to own your little place on the Internet: otherwise you are always tilling someone else’s land.” — Om Malik
“Why bake your pages instead of frying? Well, as you might guess, it’s healthier, but at the expense of not tasting quite as good. Baked pages are easy to serve. You can almost always switch servers and software and they’ll still work.” — Aaron Swartz
“So come and walk awhile with me and share the twisting trails and wondrous worlds I’ve known. But this bridge will only take you halfway there. The last few steps you have to take alone.” — Shel Silverstein
“This particular disposition of the secondary projections relative to the primary projections which is the essential feature of the invention provides for a vast number of possible combinations of adjacent bricks.” — LEGO patent
“Everything has been said before, but since nobody listens we have to keep going back and beginning all over again.” — André Gide
“My approach to security, and I think this is true for others involved with OAuth, is to strive for the best security that will actually work.” — Blaine Cook
“The world isn’t run by weapons anymore, or energy, or money. It’s run by little ones and zeroes, little bits of data.” — Cosmo from Sneakers
“The technical folks in the blogging world have learned a lot of the past few years about RSS and the blogging APIs—about what works well and what doesn’t. And, despite the efforts that have gone into certain directions, we feel it’d be unfortunate this early in the game to be married to a certain direction just because we started out that way when we didn’t know as much.” — Evan Williams, Blogger API post from 2003
“One’s legacy depends on one’s impact and what better way to measure impact than by the effect of what you’ve done. But this is measuring against the wrong baseline. The real question is not what effect your work had, but what things would be like had you never done it.” — Aaron Swartz
“Declaring independence is one thing, building it is another.” — Tantek Çelik, first microblog post on his own site
“I cannot imagine the future, but I care about it. I know I am a part of a story that starts long before I can remember and continues long beyond when anyone will remember me.” — Danny Hillis, The Long Now Foundation
“Big technology platforms are now singular points of failure as much as they are single points of protection against malicious intent.” — Om Malik
“The internet does not need a conversation layer. It is the conversation layer.” — Derek Powazek
“It was a land of vast silent spaces, of lonely rivers, and of plains where the wild game stared at the passing horseman.” — Theodore Roosevelt
“These are lean times in social bookmarking. The staff at del.icio.us has been eviscerated by layoffs, and the project is now being run by a skeleton crew. Magnolia, the other useful bookmarking site, has gone offline for the summer while it implements a new ‘don’t irretrievably lose everyone’s data’ feature.” — Maciej Cegłowski in 2009, developing what would become Pinboard
“The result is a loose federation of documents — many small pieces loosely joined. But in what has turned out to be simply the first cultural artifact and institution the Web has subtly subverted, the interior structure of documents has changed, not just the way they are connected to one another. The Web has blown documents apart.” — David Weinberger
“Every once in a while, a revolutionary product comes along that changes everything.” — Steve Jobs, introducing the iPhone
“To the complaint, ‘There are no people in these photographs,’ I respond, There are always two people: the photographer and the viewer.” — Ansel Adams
“It is not impermanence that makes us suffer. What makes us suffer is wanting things to be permanent when they are not.” — Thich Nhat Hanh
“HTML documents represent a media-independent description of interactive content. HTML documents might be rendered to a screen, or through a speech synthesizer, or on a braille display. To influence exactly how such rendering takes place, authors can use a styling language such as CSS.” — HTML5 specification
“Future standards — including vocabularies for social applications, activity streams, embedded experiences and in-context actions, and protocols to federate social information such as status updates — will address use cases that range from social business applications, to cross-organization federation, to greater user control over personal data.” — Launch press release of the W3C Social Web Working Group
“If fate doesn’t exist, then we must create it.” — Jay Graber
“My good opinion once lost is lost forever.” — Pride and Prejudice
“Modularity increases the chance that at least some of it can and will be re-used, improved, which you can then reincorporate.” — IndieWeb principles
“We need something that’ll work forever.” — Eugen Rochko
“My goal isn’t to get the bits to you as fast as possible while you wait for them, but to have the bits arrive before you even know they’re there.” — Dave Winer
“To bring in someone from Berkeley, I had to change chairs to another terminal. I wished I could connect someone at MIT directly with someone at Berkeley. Out of that came the idea: Why not have one terminal that connects with all of them?” — Bob Taylor
“That’s called polling. And although it works, it’s slow and inefficient, and about as annoying as a person in the backseat asking: ‘Are we there yet?’” — Brett Slatkin and Brad Fitzpatrick in a video for PubSubHubbub
”For years, I’ve been explaining to people that daily blogging is an extraordinarily useful habit. Even if no one reads your blog, the act of writing it is clarifying, motivating and (eventually) fun.” — Seth Godin
“In terms of sheer engagement, objectionable content is the most popular.” — Why The IndieWeb?
“Understand well as I may, my comprehension can only be an infinitesimal fraction of all I want to understand.” — Ada Lovelace
“It’s worrying how easily the most vile of fringe views can be elevated by seemingly-benign features when they’re applied at the scale of YouTube or Facebook.” — Nick Heer
“We must reject the culture in which facts themselves are manipulated, and even manufactured.” — Joe Biden, January 20th, 2021
“There are never purely technological solutions to societal problems.” — Molly White, Blockchain Solutionism
“Micro.blog is a small, friendly community and platform that understands the need for people to own their data but still freely express themselves on the web. A beacon of light in the darkness.” — Adam Procter
“They’ve got you looking for any flaw, that after a while that’s all you see. For what it’s worth, I’m here to tell you that it is possible.” — Vincent from Gattaca
“As you may know, @-replies were not originally part of Twitter. They were embraced by the community first, and then we built them into the system.” — 2008 post about Twitter formalizing replies
“In order to maintain a tolerant society, the society must be intolerant of intolerance.” — Karl Popper
“Technology is inherently a force multiplier, by default it amplifies the already powerful more than the less privileged, widening existing power gaps.” — Tantek Çelik
Last week I started making one final editing pass on my book, trimming some sections and adding new text for Bluesky and other recent social web developments. I’ll publish all the changes soon. This will really be the last time I touch the text.
Can’t believe I’m just now learning that the people mover in the Houston airport was built by Disney (WED, now Imagineering).
A short video with some clips from driving to Lake Brownwood this weekend. Apparently I say “stopped real quick” frequently.
Driving back into Austin there was an incredible view of the huge moon low over downtown, just touching the UT tower. Unlike anything I’ve ever seen. Almost pulled over to take a photo, but instead I snapped this from the car. Kind of neat in its own way.
Joan Westenberg’s blog post this week is such a perfect start to 2026. It sets the tone for what we should keep working on throughout the year. Just picking out a few things to quote… On the value of exploring ideas through longer blog posts:
You can write a post working through an idea, acknowledge in the post itself that you’re not sure where you’ll end up, and invite readers to think alongside you. You can return to the topic weeks later with updated thoughts. The format accommodates the actual texture of thinking, which is messy and recursive and full of wrong turns.
One of many disappointments from the rise of social media and hot takes is that it sometimes feels that our most nuanced blog posts get over-simplified when quoted online. I’ve had what I thought were pretty balanced essays reframed on Mastodon by people who seemed to be responding to a summary of the post rather than the post itself.
Maybe that’s not a problem that needs fixing. People are entitled to their opinion, and negativity and hate spread quickly online. But I think longer blog posts naturally trend toward thoughtfulness and away from the click-driven performative nature of social media.
Continuing with Joan:
If you’re trying to build a body of work, or to create something that will outlast the platform of the moment, a blog is simply a better tool.
I could not agree more with this. I wrote about it in my chapter Permanence in Indie Microblogging. It’s a topic I return to again and again.
Just yesterday, I linked to one of my posts from 2002. There wasn’t anything special about the post except that it captured something that would be lost by now if not written down. That blog post predates not just Twitter / X but also Facebook. Today it’s hard to imagine the pre-Facebook web, and yet it persists because of its simplicity: a domain name, text, and RSS.
Start a blog. Start one because the practice of writing at length, for an audience you respect, about things that matter to you, is itself valuable. Start one because owning your own platform is a form of independence that becomes more important as centralized platforms become less trustworthy.
The call to action is clear. Get a domain name and start writing. Short posts, long posts. It’s okay if you haven’t figured everything out yet. With time it’ll all come together.
While traveling last week, I found myself thinking back to when Kindles came with free cellular connectivity. It’s a minor problem, but it’s not worth the trouble of connecting a Kindle to hotel wi-fi, so if juggling multiple devices you miss sync. I’ll sometimes read on both a Kindle and my iPhone.
Working on support for standard.site in Micro.blog. I had blogged earlier this year about potential AT Proto lexicons for long-form posts, but I didn’t get much feedback, so I’m happy to follow the work that has already been done here by Leaflet and others.
Watched: Down Cemetery Road S1E1, Almost True. I haven’t been able to get into the other new shows that everyone seems to love. I thought this was a very strong start, though. 📺
Ben Werdmuller on LLMs for coding:
I also think we’re going to see a real split in the tech industry (and everywhere code is written) between people who are outcome-driven and are excited to get to the part where they can test their work with users faster, and people who are process-driven and get their meaning from the engineering itself and are upset about having that taken away.
I’ve been saying some variation on this too. Is the art the engineering work or the final product? Tech generalists are going to be very successful.
Starting the new year with some Micro.blog home page tweaks for signed-out users. Added a new Atmosphere page with an overview of Bluesky and AT Protocol features.
Watched: LotR: The Return of the King, Extended Edition. I always forget that it’s actually four hours long. Still a few nitpicks but not enough to overshadow some amazing sequences. What I blogged in 2002 generally about the film adaptation also still feels right. 🍿
Meghana Indurti writing for The New Yorker on our optimized, convenient lives:
During the drive, I instruct my A.I. assistant to send custom responses to all my friends’ and family members’ text messages. Some of them text back right away with laughing emojis. I guess my A.I. has learned to emulate my sense of humor. I smile, knowing how much time I must have saved today, unlike my ancestors who had to engage in the hours-long, monotonous task of corresponding with their loved ones.
🙂
In 2026 we’re going to see incredible advances in AI and also incredible pushback.
Jason Snell has some good predictions for Apple at Macworld:
I doubt any new-and-improved Siri will be as good as we dream it might be, but I think it’ll be appreciably better than it is today. (And the arrival of a better Siri will unlock Apple’s ability to ship new smart home products, which the company has been itching to do for at least a year.)
I still think Apple’s whole AI approach works against having a universal Siri across devices. Hoping for some surprises in 2026.
Watching LotR: The Two Towers and started looking through old Hobbit history and revisions. I don’t think I had ever read the 1937 version. This website has the original and updated text for chapter 5.
Paul Frazee blogs about AT Protocol and building different kinds of apps on the same underlying architecture and storage:
Connected clouds solve a lot of problems. You still have the always-on convenience, but you can also store your own data and run your own programs.
Nice post from Allan Pike examining how AI-enabled web browsers attempt to route queries to web search or answers. I like Dia but still prefer using a dedicated chat app when I actually want AI.
Parker Ortolani blogs five takes on 2025. On OpenAI:
OpenAI does its best work when it focuses on the models and the core app, which I fear it is getting slightly distracted away from.
I agree they are distracted, but I think the products are just as important as the models. Pulse could be built with any model, but only OpenAI has done it.
Parker also has a defense of Alan Dye:
iOS 7, watchOS, tvOS, the iPhone X experience, the Big Sur redesign, the Dynamic Island, visionOS, Liquid Glass and so much more have all defined his time at the company.
Had to redo my 2025 reading post because there was a comically wrong cached book cover. Guess it’s a reminder that I need to figure out a better way to preview Hugo shortcodes.
Universal driving directions: Go straight. Turn left or right whenever you need to.
Seriously, I’m trying to use turn-by-turn directions less often. I can’t decide if it introduces some subconscious extra stress with or without it.
Screenshot teaser for something I’ve been working on over the holidays, for launch next year. I think this could be a big deal. Can’t share the details yet! Perfectly fits with the Micro.blog and IndieWeb principle of pluralism: multiple protocols, platforms, anything that makes the open web better.
A few months ago I turned off fediverse publishing for my blog. Some of my posts still trickle out to the fediverse, via conversations, which is fine. I haven’t missed it. I still get replies on Micro.blog and from Bluesky. I’m going to turn the fediverse back on and see how things are in 2026. 👋
I’ve been testing some new features with Ghost. I can see the appeal of it, it’s robust and beautiful, but personally I could never use Ghost for my own blog. I would feel trapped in its design. Trying to articulate part of this, I wrote a new help page: Why Micro.blog uses Markdown.
Following on my post about the fediverse for next year, I’m going to be doing some work to clean out never-used or spammy accounts in Micro.blog. Micro.blog is currently 6th most popular fediverse software for total users, but will fall off after more housekeeping.
NetNewsWire is moving away from Slack:
The switch to Discourse means conversations will be preserved and they will be able to benefit people for years to come. And we get to use an open web app that’s also open source.
Speech to text has gotten so good that the difference between “pretty good” and “perfect” is noticeable. I only use Siri when in the car. Laughing at how it transcribed “Redis set” to “red sat”. (Also, how do people use Apple Notes without good versioning? Yikes.)
Cool write-up of building a custom Micro.blog posting frontend with Claude. Next year I wonder if these kind of built on-the-fly custom pieces of software will become more common.
Finished reading: Making History by K. J. Parker. Neat idea, I was pulled into the narration. Wonder if it could’ve been an even longer full novel. 📚
Tim Chambers has his yearly predictions post for the open web. I enjoy these posts and I agree with most of his predictions for 2026.
But there is one prediction that I think is too optimistic:
The ActivityPub Fediverse (excluding Threads) will cross 15 million registered users, monthly active users […] will plateau around 2-3 million. Another good year in terms of stable base, but no big waves of new users. Both Bluesky and Fediverse growth won’t come from big waves of migration this year.
To put this in context, according to FediDB the current count of registered users is just short of 12 million. It has grown about 1 million users in each of the last couple of years. I know from Micro.blog’s contribution to these numbers that there are also spam accounts and other junk that has yet to be cleaned out, but still I think these numbers are mostly correct.
You can see this steady, slow growth in total users from this FediDB graph:
The problem is active users. There, we see occasional spikes as users migrate from Twitter / X, but generally the fediverse in terms of active users is shrinking, not growing. Absent some major event or new fediverse platform, I don’t expect active users to get much over 1 million again, let alone 2-3 million. Here’s the graph of the last couple of years:
January through April 2025 was the influx of users from Twitter / X, as Trump took office and Elon Musk went all-in on politics and culture wars. But a few months later that fediverse growth had evaporated, and active users today is apparently less than it was two years ago.
One way to view this is that the fediverse rises and falls naturally based on current events and popular software. Another way to view it is that the fediverse is in trouble, boxed in on one side by massive Bluesky growth and on the other side held back by the dominance of Mastodon.
Mastodon is an incredible success story, yet it still feels unapproachable for new users and it has changed very little in the last several years. I think Mastodon recreates some problems from Twitter in likes and boosts, fixes a few things such as an open protocol and more hands-on curation with small communities, while also adding new wrinkles in the form of local timelines leading to filter bubbles and pile-ons.
There is nothing wrong with Mastodon remaining a small platform in the context of Threads and Bluesky. If people are finding value in it, contributing to the open web, that’s great. But if I’m right that the fediverse has already plateaued, and we care about expanding indie blogging and open social networks, we must continue to adopt a plurality approach, not tied only to the ActivityPub-based fediverse. More platforms should have strong support for RSS and multiple social protocols, rooted in blogs and the broader open web.
Finished reading: The Spellshop by Sarah Beth Durst. A little bit cozy fantasy, a little bit romantasy. Fairly quick read, trying one last push to finish a couple books before the new year. 📚
Jason Snell blogging at Macworld about how much the Siri delay has affected other products:
Nothing exposes the imbalance between Apple’s hardware designers and its software organization than multiple products reportedly being finished months or years in advance, forced to idle because their software isn’t up to snuff.
Apple might’ve dug a bigger hole with Siri than we realize. While balancing on-device models and private cloud is good in theory, it has fragmented Siri across devices, making it all but impossible to roll out a new assistant to HomePods, for example. They are 2+ years behind.
Hope everyone is having a relaxing holiday week. What a crazy year! I love this time, as things slow down, anticipating all the possibilities of the new year to come. 🎄
If you’re following the Micro.blog holiday photo challenge, there will be a special “pin” to unlock. It should be active soon, and it won’t be too strict about participation… I’m going to make it so it only requires posting in about half the holiday prompt days. Not too late to catch up! 🎄
Wemby reading Hero of Ages in French on Instagram. 📚
In addition to the Micro.blog holiday photo challenge, we also have micro.christmas, a fun domain that gathers up recent posts about the holidays.
Manu Moreale reflecting on a Mastodon post that attempted to simplify the world into effectively good and bad people:
I keep thinking about this tweet because to me it embodies one of the core issues I have with general social media discourse: the lack of depth.
This fits with a theme I’ve been blogging about throughout the year. In a stressful, divisive world, we are quick to label other people. We dig our heels in without nuance, vilifying our perceived enemies. As I blogged earlier this year:
I’m drawn to blogging about divisive topics, but it would probably be healthier to avoid it. People can be so tribal now that everything is either good or bad. Our views have become extreme caricatures of the truth.
And after my post recently about Mastodon, someone reminded me of when Wil Wheaton was run off Mastodon. Wil Wheaton, really? Moments like that make it easy to see why newcomers to the fediverse often feel like unwelcome outsiders.
I want to err on the side of defending good people even when they are caught up in overblown drama online. Yet I often do so in roundabout ways, from a distance, because engaging directly is a losing battle that makes everyone feel worse.
My default AI for coding help is GPT-5.2 in Codex on “high”. It is very good. But just when I think they’ve mostly solved hallucinations, ChatGPT gets a couple easy fact-checks wrong. As models get more efficient and cheaper, I expect more users to be routed to longer thinking to address this.
“Life is made up of meetings and partings. That is the way of it.” — Kermit in The Muppet Christmas Carol 🎄
Going through more of my mom’s things, still miss her every day. And thinking of my dad often too, even though it has been many, many years now.
Kicking myself for deployment mistakes as we wind down for the holidays. We have a few big things planned for early next year. I probably should stop working on new things until then, but can’t resist. Also got new iOS and Android bug fixes submitted today.
Careless blunder while deploying a security improvement today, which caused posts created from the native apps to go into an outdated saved articles list for a short time. To minimize the fallout, I’ve restored them to drafts in your Posts list. You can post again or use the draft. Very sorry.
When we complain about the App Store, it’s not just the fees. It’s the lack of control and fragmented billing. With our Micro.one $1 plan — cheap! — I’m actually paying more to Stripe (33 cents) because credit cards aren’t good for small transactions. But having everything in one place is worth it.
I’m tempted to just get all my political news from Jimmy Kimmel’s monologue. But I do watch CNN every morning during breakfast. I don’t expect to break this habit until at least after the midterms, if ever. And politics is pervasive, everywhere. 🇺🇸
The New Yorker has put their 100-year archive online in a really nice way. I’ve poked around on a few old issues.
Over the last year I’ve scaled back my news reading… Cancelled the NYT, Washington Post, Atlantic, everything. I read blogs, tech news, and for long-form The New Yorker. And novels.
Laurens Hof at Connected Places wraps up the Threads / fediverse experiment:
My take is that Meta and Threads have played the game well. They immediately capitalised on the moment in 2023 when decentralisation and Twitter-alternatives got large-scale attention, and knew how to say the right buzzwords to ride the wave.
Threads with even partial ActivityPub support in maintenance mode is still better than a completely closed platform. But it is disappointing that Meta didn’t take this further.
Updated the Mac app today with a few little improvements, including a right-click context menu for Movies. I’ve wanted this a few times to copy a link to a movie or TV show. Most menus also support holding down the option key to switch to Markdown.
I missed that iOS 26.2 in Japan allows developers to replace Siri from the side button. This seems like a big deal.
Also from @timapple, blogging on returning to Micro.blog:
I have come and gone quite a few times over the years, but all that moving around has convinced me that this is where I belong. I am ready to hang up my coat and stay awhile.
Welcome! It makes me happy when people come back after trying something different. Micro.blog gets better every year.
Brand new app for Micro.blog from @timapple, for Android and Linux users. It already has support for notes, books, and more. More details and download links on this page. For Android, you’ll have to sideload until it’s in the store.
John Gruber’s one-sentence take on Apple adding more ads to the App Store:
I have a bad feeling about this.
Yep. Even ignoring that Apple shouldn’t be in the ads business, the problem with App Store search ads is they take up half the phone screen! It’s a lot of junk to scroll through.
TikTok has finally been sold, sort of. New partners include Silver Lake, the private equity firm that owns WP Engine. It’s almost like Silver Lake doesn’t care much about the open web.
Casey Newton has predictions for 2026: the bubble will continue even as some AI companies fail, OpenAI will retire Sora, social media will increasingly be 16+, and other mostly AI-related predictions. On politics:
I predict AI concerns will take a backseat to the economy and a backlash to Trump’s authoritarianism. That said, I do think we’ll see the beginnings of an anti-AI movement — and perhaps a bipartisan one.
2026 might be too early for a substantial, mainstream backlash. But I do think as AI improves, both proponents and detractors will become more extreme.
Evergreen. Got our tree so early this year, it’s losing more and more needles every day. Just needs to last another week. 🎄
This is an amazing follow-up video from Joanna Stern on the Anthropic vending machine. I’m not super concerned about the outcome… Might be a good thing if our future robot overlords can be persuaded to trust humans. 🤪
If you use Day One and haven’t tried the cross-posting from Micro.blog to Day One, it is kind of magical. This is what one of my blog posts today looks like after it has been automatically synced to Day One.
It can be used directly for your main journal, or in a separate journal as an extra backup.
Listening to Jay Graber on the latest Revolution.Social. Rabble continues to do a great job of interviewing folks from across the social web. I think we’re all better off when we’re aware of what other platforms are doing, and so we can come from a point of potential collaboration, not competition.
Seeing videos of the new Samsung trifold phone has convinced me that foldables are good enough now. I don’t want a trifold, but I’m looking forward to Apple’s take on this. I’d prefer super thin at all costs, no outside screen, minimal battery and camera.
Tim Sweeney in a tweet about the new App Store rules for Japan:
Apple was required to open up iOS to competing stores today, and instead of doing so honestly, they have launched another travesty of obstruction and lawbreaking in gross disrespect to the government and people of Japan.
I’ve already spent half an hour reviewing the terms and comparing them to the EU. It’s such a waste of time for everyone, including Apple.
Apple is opening up third-party marketplaces to Japan, similar to the expansion in the EU. Slow and good progress for the App Store, but on first reading looks like there are still junk fees.
Third day of the Micro.blog winter wonder photo challenge: firelight.
Calvin Tomkins, leading up to his 100th birthday, wrote a series of journal entries for The New Yorker, a mix of memories from his career and the new challenges of getting older and losing his vision:
When she types my spoken text, I spend the next few days editing it on my antediluvian laptop—changing words, deleting sections and redoing them, fine-tuning the focus. This gets harder and harder, but the alternative, I fear, is doing nothing.
The technical explanation for how Bluesky has implemented their find friends from contacts is fascinating. I don’t plan to do anything with phone numbers again, but I still learned some things from it.
OpenAI often makes fun of their own product names — “really bad at naming things” — but Google’s image product is literally called Nano Banana. 🍌
I like this blog post by Robin Rendle about whether the current disruption of search engines might be a good thing:
Perhaps the web needs to be released from the burden of this business model. Perhaps mass readership isn’t possible for the vast majority of websites and was never really sustainable in the first place.
Most blogs are not monetized with ads and shouldn’t be. There are still indirect benefits to writing on the web. Sharing for the sake of it, bringing people into newsletters or subscriptions, and building an audience that leads to other good things, jobs, friends.
For day 2 of the winter photo challenge: cozy blanket and cozy book, The Spellshop.
John Gruber blogging at Daring Fireball about the updated Apple TV logo animation and sound:
The new one feels like a branding stroke unto itself. Sonically, it doesn’t evoke anything else. It just sounds rich and cool. Visually, with its rotating prism effect, it does evoke the classic six-color Apple logo.
The new one is great. The glowing background of the old logo actually bugged me from the very beginning. Something about it felt wrong, like design that uses too many gradients getting muddled instead of crisp and clear.
MacStories 2025 Lifetime Achievement Award: Unread. Congrats @johnbrayton!
Eleven years after its inception and eight years after its second sale to a different developer, Unread still stands out in the third-party indie app market because it’s managed to honor its lineage while adapting to the ever-changing nature of the Apple ecosystem.
If you missed it, we brought our Core Intuition podcast back for another special bonus episode. We catch up on AI, the new Micro.blog Studio plan, Daniel’s family and college search, losing trust in Tim Cook, and whether Steve Jobs can be replaced.
How about, instead of preventing “the kids” from accessing social media, we go in the opposite direction and keep all the adults out? Wouldn’t that be wonderful?
🙂
Joking aside, I do think there is something to just make the social web better, for everyone.
Great blog post from Matt Haughey on driving a VW Buzz from Texas to Oregon. When the Buzz was announced, I was hoping it would look a little more old-school VW, but seeing one in person they look really good. Seems mostly well designed inside too.
Watched: Mushka. Andreas Deja helping keep hand-drawn animation alive, purposefully showing the pencil lines in the age of AI and computer-generated everything. 🍿
We just posted a new Core Intuition! Wha…?! Episode 26.2.
Nick Heer on locked Apple accounts:
Given this tight control, the bar for locking a user out of their Apple Account and, to some extent, out of their devices should be unbelievably high.
As an aside, I use iCloud but also (less frequently) copy my photos to Dropbox and Google Photos. Too important to only have one synced copy.
Tesla robotaxis in Austin no longer need safety drivers. Worrisome. Elon Musk’s insistence that self-driving does not need radar or lidar is just needlessly dangerous. Waymos drive better than human drivers in part because they can see better.
Six years ago I blogged about my favorite Christmas movies. No changes needed yet. 🎄
Too many guns. I don’t have a lot of words beyond what has already been said for years. Sad for the victims and families from Brown University and Bondi Beach. We should watch what Australia does next and learn from it.
For the first day of the winter photo challenge, no actual frost anywhere near me, although it is nearly freezing in Austin, so I’m going with Frosty.
Watched: Wake Up Dead Man: A Knives Out Mystery. Another great one. 🍿
Just noticed a new F1 movie ad in the Apple Sports app. So weird that Apple has become a company that doesn’t mind upselling everything, cluttering the UI of their own apps. It’s a pattern at this point.
David Pierce introducing the latest Vergecast:
Here’s a thought: what if the next-generation Siri is awesome? Not just awesome for setting timers and dictating text messages (though that would be nice), but so awesome and fun to talk to that people actually start falling in love with their iPhones. We may not be prepared for what happens next.
It could happen. Expectations are so low that Apple could surprise people. I’m just skeptical that Apple is prioritizing the right things to get there.
Quick trip up to Dallas this weekend to see the kids. The weather turned cold overnight! ❄️ Speaking of the winter… We’re starting a 12-day holiday photo challenge tomorrow. 🎄
Thinking more about Australia… Our kids are adults now, and they grew up through the rise of Instagram, through Covid shutdowns… We can choose to make a better environment for the next generation, if society makes progress on social media. Less anxiety, fewer ads, more time away from screens.
Enjoyed the discussion on Hard Fork about the Australia social media ban for kids. In a nutshell: it’s a good experiment that we will actually have data for in several years. No parent says, “I wish my kid was on Instagram and TikTok more often.”
Good post from Creative Commons with concerns about pay-per-crawl efforts, including principles to guide deployment:
Pay-to-crawl represents a strategy that may work for some websites, and not all websites share the same underlying concerns. Pay-to-crawl systems should not be deployed as an automatic or assumed setting on behalf of websites by others, such as domain hosts, content delivery networks, and other web service providers.
Matches some of my thinking about Cloudflare and AI.
Announcing a special Micro.blog winter photo challenge! @BonnieRue has written a new post with details over on the challenges blog. It starts on Monday and runs 12 days. ❄️
I’m hoping to add a new Micro.blog pin too for anyone who participates.
Not sure yet how to read the Epic vs. Apple appeals court decision. Seems like a partial Apple win, but Tim Sweeney says on Twitter / X that it’s actually good progress. I think we’ll know for sure when the district court judge updates her ruling.
A little-known Micro.blog feature is getting better visibility today: we store previous versions of private notes (and blog posts!) so you can restore them if you make an editing mistake or delete something. From @news:
Added note versions browsing to the web interface. When editing a note, you’ll now see a “5 versions” link in the corner. For Premium subscribers, we’re storing previous versions for a full year. (60 days for everyone else.)
The natural follow-up from my last post: people want a place to belong. Friends, a community. So the challenge is building a community that minimizes the more negative effects of tribalism. I’m not sure how to do this, but I can usually spot when things have drifted into unhealthy territory.
Let’s not confuse tribes and principles. Principles allow us to build coalitions with people who don’t agree with us on everything. They keep us on the right path, even when it’s unpopular. With tribes, we are heavily influenced by those around us, sometimes with social pressure to attack others.
Happy we got the new Android update out today. I worked on a few other web things tonight, queued up as pull requests to deploy in the morning. I think we’ve had a good pace of improvements lately, before things slow down a little for the holidays. Tomorrow: photo challenge announcement. ❄️
When driving sometimes I’ll have a few ideas for blog posts and I’ll try to narrate the gist of them so I can remember later. My digital notebook is full of discarded blog post drafts. Reminds me of Peter Dinklage’s character in Elf, pointing to his notebook:
I’ve got about 5 of 6 great starts here. I have one idea that I’m especially psyched out of my mind about.
🤪
Disney is licensing characters for Sora and investing $1 billion in OpenAI. Bob Iger:
The rapid advancement of artificial intelligence marks an important moment for our industry, and through this collaboration with OpenAI we will thoughtfully and responsibly extend the reach of our storytelling through generative AI, while respecting and protecting creators and their works.
I still think Sora is a distraction and doesn’t fit well with OpenAI’s core products. But the first thing I tried with Sora when it launched was asking it to use 1928 Mickey Mouse, which is in the public domain, and it wouldn’t let me, so I guess this deal will fix that.
Very curious what animators at Disney and Pixar will think of this. From a short post on Cartoon Brew:
This is going to take some time and thought to process…
I’ve a big animation fan, especially hand-drawn animation, which had to find its way when 3D animation took over the box office, and will have to find its way again in the AI era. Uncharted territory.
Not going to come close to hitting my reading goal this year. This year has been too much. Hoping to finish one or two more books before the end of the year, though… With the holidays approaching, great time to disconnect with a book.
When I was trying to simplify the Design page in Micro.blog earlier this year, I think I went too far, burying the CSS functionality inside of custom themes. I’ve reversed course today and elevated the button to a new section.
Usually when I think of something new to work on, I add a note in Micro.blog notes. Lately I’ve been trying something new: I’ll type the idea into Codex (cloud) and ask it to plan the basics, but to not write code yet. Then I can come back later to work on it and have some tips to keep in mind.
Watched the first half of Spurs/Lakers NBA cup game last night, too tired to stay up for the whole thing. West coast games always get me now. Caught up on the final quarter this morning. Spurs have such a complete team. Bench was great. 🏀
From a Bloomberg story about Tim Cook in Washington:
…Cook urged lawmakers not to require app store operators to check documentation of users’ ages and instead rely on parents to provide the age of their child when creating a child’s account…
While requiring Apple to check ages seems like an overreach, it’s better than requiring every app and website to do the same. I’ve lost faith in Tim’s leadership of the App Store, going back a few years to when he suggested in court that developers would have to pay Apple for sales outside the store, and continuing through his meetings with Trump.
I added a help page with an intro to using Pagefind in Micro.blog. Leon Mika also has a good post about it.
Andreas Deja has been sharing some drawings from the cancelled Disney feature My Peoples. Beautiful work. I would’ve loved to see this get made. There is more artwork over on this Disney wiki.
Submitted an iOS update to Apple for Micro.blog, hopefully will be approved in the next day. I think this is the best version of our app yet. Lots of little tweaks. Android will be submitted this week too.
Cory Doctorow has posted the text of a speech he gave about AI. It is very long, but absolutely worth setting aside some time to read, whether you’re an AI skeptic or enthusiast or somewhere in between.
I was actually a little nervous to read it. Cory is an incredible writer. I was reminded when searching my blog that our paths briefly crossed two decades ago now. (This is why you should have a blog, even for short posts, for the mundane but interesting in hindsight stories.) I loved Down and Out in the Magic Kingdom. Enshittification is legendary. But AI is so divisive, nearly every post about it seems to turn extreme, squeezing out all the nuance from a complicated subject.
I needn’t have worried. Cory goes deep on lost jobs, coding, art, medicine, copyright law, the bubble. It’s really well done.
Perhaps it works because while his overall view is negative, the individual sections don’t neatly fall into existing this is all bad talking points. For example, I agree with him on copyright and the open web. I’ve tried to reason this out in a couple of my own posts. Cory takes it further in terms of how new laws might backfire for artists:
A new copyright to train models won’t get us a world where models aren’t used to destroy artists, it’ll just get us a world where the standard contracts of the handful of companies that control all creative labor markets are updated to require us to hand over those new training rights to those companies.
On data centers, he argues that this is all wasted infrastructure. GPUs don’t last very long, unlike the fiber optic cables we got from the dot-com boom:
AI is a bubble and it will burst. Most of the companies will fail. Most of the data-centers will be shuttered or sold for parts. So what will be left behind?
I was listening to the recent Decoder interview that covered this and I came away mostly persuaded by Arvind Krishna. We’ll use the data centers for something, and new solar farms and nuclear power will benefit the grid. We need to keep building clean energy, and AI labs are currently writing the checks.
In a way, Cory’s focus is as much about how big companies treat employees as it is about AI. Companies that only care about money will use AI to justify layoffs. But the strength of AI is letting humans do their jobs better, not getting rid of them, and not turning them into soulless, blind followers of the machine.
I remain hopeful that AI can have a positive impact on the world, possibly a profound one. So I guess although I really enjoyed the post, I’m not convinced by it. At least I hope Cory’s wrong, because it feels like the whole economy is propped up by this one thing, and it’s going to be very bad if everything crashes… But it’s certainly possible that he’s right, and he has some great insight along the way.
Pebble is launching a ring called Index 01 for voice recording. The design looks a little more clunky than the upcoming ring from Sandbar, but the Pebble ring is less than half the price, with an open architecture. Pre-orders are going to fly off the shelves at $75.
Ben Werdmuller blogging about the enduring strength of RSS and ideas for the future:
Feeds have always been powerful for consumption. But the internet is a conversation, and the next generation of RSS-powered applications should unlock its potential for creation and collaboration.
Updated my parks page. This wraps up the second year with 28 parks. Well below what I had hoped for. At this pace, it will take me over 4 more years.
Today I added support for Pagefind to Micro.blog. Pagefind is a search library for static sites. Because Micro.blog uses Hugo underneath, Pagefind fits nicely into our architecture.
You can see it in action on my own blog’s search page.
Along the way to adding this, I realized we could extend more of Micro.blog’s publishing. Because Pagefind runs on your built HTML pages, after your Markdown goes through Hugo, we needed a hook into the processing of your blog. I’m calling these actions. There are a few now and will be more later.
You will find an Edit Actions button on the blog settings page. When adding a new action, you’ll see these options:
Each action can run either right after Hugo, but before Micro.blog finishes publishing your blog to our servers, or after everything is done. You can imagine in the future other useful tools that could be tacked on to this, such as our existing GitHub backups or maybe uploading via SFTP to other servers.
I’ve added a new “Ping” action that sends a POST to another server. This sends simple JSON with a url field for your blog. I’ve also moved the Wayback Machine copy into this part of the interface, but kept the old checkbox for convenience for now.
Have other ideas for actions? We can add more and hopefully open it up to plug-ins later. And of course this is optional, so it’s mostly tucked away in the UI.
I like this blog post about not becoming a connoisseur by Joan Westenberg:
Simply: the aspiring coffee connoisseur who spends 200 hours learning to distinguish processing methods could have spent those 200 hours just drinking coffee and enjoying the hell out of it.
I love coffee shops. My blog currently has 150 posts with something about coffee. But maybe surprisingly, I’m not actually picky about coffee! I’m happy with any coffee beans put through any espresso machine with a splash of any kind of milk.
I like this ELECTRIC. It’s not something that most people would even see while walking by and it doesn’t really matter, but someone spent some time making it look cool anyway.
I’m sorry for some of the flakiness in Micro.blog-hosted blogs today. Long story short, we seemed to have an influx of random traffic — bots or hackers? who knows — and to ease the pressure I enabled some extra rate limiting, which can sometimes interfere with the automatic HTTPS setup.
For Brandon Sanderson fans, he read the first two chapters of a new Cosmere novel last week. I finished listening to it last night. The livestream was very long, so here’s a link on YouTube to the reading spot. 📚
One of these days, gonna need to sit down and come up with a more universal way to add sidebars to Micro.blog themes that works everywhere. There’s so much flexibility in Hugo, but every theme can have a completely different structure. Feel like microhooks are the way.
I’ve tried to have a thoughtful approach to AI-based features in Micro.blog, like the opt-out checkbox to disable everything. I’m still open to reevaluating models too. I’ve tried my own servers, but it’s more expensive and would actually use more energy running 24/7 instead of on-demand.
Sometimes when I rewrite a blog post or email multiple times, it becomes hard to tell if it’s actually better, or if it lost whatever spark was in that first quick draft.
Micro.blog iPhone and iPad folks, the latest TestFlight beta has several bug fixes to text editing layout, keyboard, and the share sheet nav bar. Think I’ve finally got some of those glitches under control. If you’re not on the beta, you can join here.
The obvious downside to AI creating answers and software we might not need is it feels wasteful. There is a cost. There is not enough energy and infrastructure. This is the OpenAI bet: that when they scale up, no one else will be able to do what they can do. Except Google.
ChatGPT Pulse still blows my mind. This morning it built a custom HTML app for visualizing train seating. I didn’t ask it for this, it just knew I had been looking at trains, so it churned on it overnight. In the future you can imagine software is more adaptable to each user.
Ghost founder John O’Nolan is working on a new RSS reader called Alcove:
I wish it were just all in one place. Without all the noise and engagement farming. Just a quiet little spot where I could catch up with things I care about.
I wonder which existing RSS reader he’s using that has noise and engagement farming? Anyhoo, we should probably accelerate our plans for a Micro.blog-based RSS reader. You can follow blogs in Micro.blog, but a full reader outside the social timeline has been a missing piece.
Huge deal with Netflix buying Warner Bros. for $83 billion including HBO Max. If it goes through, will be in the top 10 largest acquisitions of all time. From The Verge, no immediate hope of combining subscriptions:
In its announcement Netflix suggests it has no immediate plans for drastic change at Warner Bros., describing HBO and HBO Max as a “compelling, complementary offering” alongside its own streaming service, and saying it will maintain the studio’s current operations “including theatrical releases for films.”
I assume they’ll have a bundle, similar to early Disney+ and Hulu.
Watching some of the Nexus livestream. Brandon and Emily Sanderson are announcing a free coin for people struggling with depression, as a physical reminder to keep going and get help. Seems really well thought out, with resources and a letter from Brandon:
I challenge you to recognize that the experience you have gained through your struggles with mental health is also a strength. The stronger person is not the one who has never struggled; it is the person who has developed, step by step, the power to keep walking.
I watched Train Dreams last week and I’m still forming an opinion about it. I like this review in The New Yorker:
This is craftsmanship of an undeniably majestic order, and it has a way of both dropping your jaw and raising an eyebrow; you begin to wonder, at a certain point, if the film’s visual splendor has begun to outstrip its meaning.
I have the novella on hold.
Louie Mantia blogging about Alan Dye leaving Apple, and more generally the trend away from user-centered design:
Not to put too fine a point on it, but they started making products that appealed to themselves. Because since Steve Jobs died, Apple, its executives, and its corporate employees got significantly wealthier. It wasn’t just Jony who took an interest in luxury.
I’ve been wanting to make this change for months, finally rolled it out. When you’re on the pages for your managing your blog, the header looks better now, less clutter and fewer lines. Required a surprising amount of HTML and CSS restructuring.
Talking to Alexa+ this morning, I do think it’s an improvement. More conversational. It took them a while from announcement to now to get there, but seems fairly solid to me. I would use Siri if it was that good.
Dario Amodei takes some shots at OpenAI in a DealBook Summit interview:
Let’s say you’re a person who just kind of constitutionally wants to YOLO things or just likes big numbers, then you may turn the dial too far.
There’s a world where Anthropic has an IPO next year and keeps growing in the enterprise, while OpenAI is all-in on everything and collapses. But I think a lot would have to go wrong for that to happen.
Alan Dye is leaving Apple for Meta, with Stephen Lemay taking over design. Nice that he goes back to 1990s Apple. I’m not sure what Apple needs, but I don’t think looking outside the company would help.
Jason Fried blogging about the Fizzy launch, which is free as open source or $20/month hosted:
If you’d prefer not to pay us, or you want to customize Fizzy for your own use, you can run it yourself for free forever. Have a great idea? Submit a PR to contribute to the code base and improve the product for everyone.
37signals is very opinionated, so I wonder if too many PRs will clash with how they usually grow a product.
Quick video demo of a new feature to change the poster frame of a video you’ve uploaded. Testing with a Mickey Mouse short that will go into the public domain in 2026, the first appearance of Pluto, so I’m a few weeks early.
The options we pass to FFmpeg in a variety of cases is now so complicated that I can’t really understand or edit it without AI.
Nick Heer blogs a little Siri + AI skepticism. It’s a good point, why do we keep expecting the next guy is going to fix this? I was just looking at my first post about Alexa from 10 years ago. That whole time, Siri hasn’t changed significantly that I can tell.
Just noticed that the bottle of Dr. Pepper they gave me at the restaurant last night looks like a 20 oz bottle, but it’s 16.9 oz / 500 mL. Shrinkflation? Sort of makes sense to standardize on an even number like 500 mL for global distribution.
Anthropic acquires the JavaScript tool Bun. A quote from Mike Krieger:
Bun represents exactly the kind of technical excellence we want to bring into Anthropic.
Curious where they take this. Bun is our default for building the Micro.blog mobile apps. It’s good.
Trying out Fizzy from 37signals. I don’t need another tool… Tools are kind of like code dependencies: fewer is probably better. But I’m sure there are some interesting choices in the UI to draw inspiration from.
I spent some time reviewing various Mastodon drama from over a year ago that I thought contributed to Eugen Rochko eventually stepping away from a leadership role in the project. In Eugen’s announcement post:
I steer clear of showing vulnerability online, but there was a particularly bad interaction with a user last summer that made me realise that I need to take a step back and find a healthier relationship with the project, ultimately serving as the impetus to begin this restructuring process.
I was not following it closely at the time, so I dug up some of the public criticisms from that time that had kicked up a lot of negativity. However, in a Reddit reply, Eugen says that it was separate from anything in public:
It did not happen in public, and is not related to any public events.
That rules out whatever drama I found. I won’t attempt to summarize it because I don’t want to rehash it again. As the public face of Mastodon, I expect Eugen is frequently overwhelmed with complaints that are too much for one person to deal with.
Still, just looking over the online drama reminded me of how big a problem we have on the social web. Some of the most unexpectedly personal and harsh replies I’ve ever received have come from Mastodon folks who think they’re fighting the good fight. When people are sure they are on the side of justice, they justify extreme rhetoric, even dehumanization of people on the wrong side. As I’ve blogged about previously, the focus on smaller communities is a double-edged sword: good in the move for decentralization and to focus more on community moderation, but also amplifying the negative effects of filter bubbles.
When I quit Twitter in 2012, I remember noticing for the first time how influential it had been to have a community of peers that shaped popular opinion. After I stopped reading Twitter, when Daniel Jalkut and I would record Core Intuition, I would often come to the show with a different perspective than what our Mac and iOS developer community on Twitter had already decided was best. That didn’t mean I was right more often, but I was happy that it felt like my opinion was my own.
It’s easy to look at many Mastodon servers now and see what the groupthink is and how it affects discourse. It’s often political or cultural, which means in today’s climate it’s divisive.
The civility problem combined with slow growth should be worrisome to the fediverse community. From FediDB, there seems to be a decline in active users. That trend will continue without some kind of event to shake things up, like the influx of Twitter users a few years ago. Bluesky is now four times as large as Mastodon because it has managed to break into the mainstream social web, more approachable for new users.
In a great interview this week with Jon Henshaw, Eugen talked about appealing to people dissatisfied with US-based companies:
People no longer want to rely on US tech companies, especially if they live in Europe, Asia, or anywhere else on Earth. And what Mastodon and the fediverse offer is a social media platform in your country, local to you, not subject to whatever is happening in the US or to any third-party developers of the software.
This matches my own experience running Micro.blog, which is why we added European web servers earlier this year. Whether on the fediverse or the IndieWeb, people want ownership of their content and their connections with others. That isn’t likely the path to significant growth for the fediverse, though, as it introduces more complexity in choosing where to sign up.
I believe Mastodon will be around for many years to come. Can it be a healthy community for newcomers, or will it remain an opinionated niche in the social web?
If 2025 was about the fediverse — with new activity from Ghost, Flipboard, WordPress, and also newer platforms — I think 2026 will be a partial reset to the IndieWeb. More blogs. More independent voices, as diverse as the web. More platforms and bridges that span multiple protocols. And of course Micro.blog is well positioned for this future because those were our founding principles all along.
Good Stratechery update today on OpenAI’s “code red”, with Sam Altman telling the company to refocus:
Altman’s declaration raises another long-standing Stratechery concern about OpenAI: the lack of focus. I wanted the company for years to give up their enterprise business and focus on ChatGPT; I eventually conceded on this point, but there sure do seem to be some focus issues at play with this news!
I have mixed feelings. I like when companies try lots of things. But OpenAI’s strength is they have good products, so prioritizing ChatGPT also makes sense. Ads would get in the way too.
John Giannandrea is leaving Apple and Amar Subramanya is joining, and announcing both at once seems to underscore Apple’s patience. They scrambled a little before WWDC 2024, but then slowed down, waiting for someone new before John Giannandrea retired. Not competitive, but not out of the long game.
Just hit my monthly search limit on Kagi’s starter plan. Turns out we still need traditional web search even with AI everywhere.
Good post by Allen Pike about why ChatGPT for Mac is better than the competition. I remarked a year ago that there is clearly some AppKit goodness in the app.
It’s December already? ⛄️ Good start to the morning so far. Responded to a few emails. Releasing updates for iOS and Mac apps today.
Simon Willison marks the 3-year anniversary of the ChatGPT launch with a blog post about how it almost didn’t happen. Clearly being first matters, but also OpenAI still makes very good products, like their Mac app and Pulse. Hard to predict where things will be in another three years.
“He has a hundred ideas a day. Four of them are good, the other 96 downright dangerous.” — from Darkest Hour, although inspired by something FDR said 🍿
Got sidetracked looking at photos and satellite imagery of Hudson Yards, before and after the current redevelopment project covered half the tracks. Now I want to go back to New York. 🚂
Micro.blog’s CDN bill is up about 25% from last month, no surprise with the launch of better video hosting. I’m taking the opportunity to dig into CloudFront stats that I’ve never actually looked at. Seeing a few things that could be easy wins to optimize.
…there is so much interesting content out there ready to be discovered. And discovering new content also means connecting with new people, getting exposed to new ideas, different cultures. That’s by far the best quality of the web if you ask me.
Federico Viticci blogging about AI results, matching my recent thoughts about the products and design mattering:
…since the baseline is now good enough, the app experience and how LLMs are woven into a people’s daily lives and workflows will be the differentiators going forward.
Thanksgiving is tomorrow, and I think this is the earliest we’ve ever gone Christmas tree shopping. Also we’re now measuring tree height in percentages of a Wembanyama. Got a tree that is about one Wemby tall.
Surprisingly quick one-day app reviews from Apple and Google, so we were able to release the new version of Strata today for both mobile platforms. If you use notes or bookmarks in Micro.blog, this update has a few improvements that make the app nicer to use.
Private encrypted notes in Micro.blog present some challenges, especially for search. If you only have a handful of notes, it’s no big deal, but I have over 2000 notes in Micro.blog now. So searching on the web, for example, has to load everything into the browser and decrypt it.
Cold weather is back in Austin. Morning coffee at Cosmic. ☕️ We’re preparing a few things for a new Strata release. I wonder if Apple and Google app review folks have to work on Thanksgiving. 🦃
Fun discussion on the latest ATP about the OpenAI “egg”. I’ve been saying for a year or two that there is a real product here and eventually someone will crack it. (Oops, unintended egg pun…) Sandbar’s ring is the current best-looking attempt, but it’s 6+ months away.
Dave Winer blogging about a new commenting system to connect blogs. I’ve been following his recent work on FeedLand and related projects, so curious how the plumbing for this is going to work:
The first thing to know is that all comments are blog posts. You write the comment on a blog that you own. And maybe that will be the only way anyone other than you will ever see it. But you don’t have to “go” to the blog to write the comment. You stay right where you are.
Sounds like there could be parallels with Webmention too.
While I was feeling terrible in bed yesterday, I couldn’t even sleep, my mind kept drifting to various online drama. I sometimes have a hard time shaking off old problems. But I’m feeling good this morning, ready to get some work done. ☕️
Finished reading: Relics of Ruin by Erin M. Evans. A great second book. Same feel of a mystery as the first book, lots of layers. 📚
World of Frozen opening in Disneyland Paris in March. Really impressed with the new robotic Olaf. ☃️
I like this quote from Jony Ive in the conversation:
There’s not a lot of humor in the products that are being designed and made, particularly in this area. I really sense very clearly there is a huge desire for us not to take ourselves quite so seriously, even though these are serious times.
Got my Covid vaccine yesterday and it floored me. Does the dosage need to be adjusted considering that Covid seems generally (not for everyone!) less severe than it used to be? I just want to stay in bed all morning. Watching this new video with Laurene Powell Jobs, Jony Ive, and Sam Altman.
Crazy comeback win from the Cowboys. When they couldn’t score at the 1 yard line, down 21 points, I would not have predicted this, and in fact turned it off for a while. Gotta play the whole game. 🏈
Thanks @numericcitizen for the new video about what’s new in Micro.blog! You can watch it on YouTube here and it should be available hosted directly on Micro.blog later too.
Watched: Wicked: For Good. In the first hour I almost started to doubt, thinking maybe it needed another pass at editing, but they won me over with No Good Deed. Cynthia Erivo is fantastic. 🍿
Updated my state parks page. 27 down, a whole bunch to go. Glad to resume this challenge after several months that were too busy and too hot. 🏕️
Went camping last night, then home early but a late start getting coffee. Drove by three coffee shops before finding one that wasn’t completely overrun with people. Don’t all these happy people enjoying coffee outside and talking with friends know that I’d like to sit here by myself and work? 🤪
One mistake I made building the bed platform for my car is these flimsy little brackets. They ended up bending enough over months that they broke in half. Worked on fixing this today.
A thoughtful post today from Laurens Hof in the Fediverse Report about Mastodon’s new CEO and the project’s sustainability. It’ll be interesting to look back a year from now on whether there are visible changes. Hope in the meantime that Eugen Rochko gets some rest and a vacation or two.
We released Epilogue 2.1 for iOS and Android today. Now with easy blogging for movies. Here’s a short video to show the new interface.
So happy with how well the new video hosting with Micro.blog Studio is going. I used to fumble around with video file sizes or just give up and use YouTube. Now I can post everything to my blog.
Android app review submissions have been going through very quickly. Nice work by Google. Even when Apple’s reviews are 1-2 days, I wish they were hours.
Raining finally. The new tree is getting a much-needed soak. I decided a few days ago to go camping tomorrow… Looks like it might clear up at least for a day. 🌧️
I wonder if this proposed Algorithm Accountability Act has the right idea. Instead of wiping away Section 230, we could chip away at very specific aspects of it. I feel like this could have broad support.
Some folks are addicted to refreshing social media all day. Not me, but I have noticed that I’m now sort of addicted to asking AI dumb questions and getting random ideas for how to implement things whenever I’m bored. If this was a human assistant, they would be annoyed with my endless questions.
In today’s Stratechery interview they talk about the potential revenue that OpenAI lost by not having any ads in ChatGPT for the last three years. But there would’ve been a cost to having ads too! The product would’ve been slightly worse.
Experimenting with a new Movies tab in our mobile app Epilogue. Feels a little weird… The app is for books. But also, I think it works here better than in the main app. I’m going to finish implementing it and use it and then decide for sure.
Jensen Huang on the Nvidia earnings call:
There has been a lot of talk about an AI bubble. From our vantage point, we see something very different.
I guess he would know, but this growth doesn’t seem sustainable to me. We’re not going to keep building data centers at the current pace.
Bluesky is expanding their moderation tools and the granularity of reporting. Sounds like good changes:
Not every violation leads to immediate account suspension - this approach prioritizes user education and gradual enforcement for lower-risk violations. But repeated violations escalate consequences, ensuring patterns of harmful behavior face appropriate accountability.
Congrats to Gus Mueller on Acorn’s recognition as a finalist in the App Store Awards! I use Acorn pretty much every day, sometimes for design or mockups, and sometimes just as a scratchpad of screenshots and other graphics that need a quick crop or edit before uploading to my blog.
Love the covers on these special TikTok editions of a few of Brandon Sanderson’s books. Might’ve ordered a set for gifts. And I’ll keep The Emperor’s Soul, which I don’t have in print. 📚
After a rocky bit early in the year, I feel that Micro.blog is in a really good place right now. New users are joining and the features are the best they’ve ever been. So now I’m nervous that something else is about to go wrong. 🤪
This report from Matthew Prince about Cloudflare’s outage yesterday shows the mind-boggling scale of their network. The graph has 25 million HTTP 500 errors per second.
New trailer for Project Hail Mary! This is going to be great. I’m going to try to re-read the book before the movie comes out.
Love this blog post from Ton Zijlstra about discovering a train ticket in an old book:
While the book is in excellent condition, not at all ‘well traveled’, it does make me wonder about its path through the world. From that 1991 train trip up the valley towards the St. Gotthard massif, to a bookshop in Galway, Ireland. And now to my bookshelves.
In 1999 when my wife and I were traveling in Europe, I left a book in a hostel in Italy. I wrote a note in it for the next reader. I still wonder where that book ended up.
Good episode of Dithering today, talking about the impending Gemini 3 release and why OpenAI will probably be fine even if their models fall behind the state of the art. It’s increasingly about products, not models, because all the models are quite good now.
Last week when I announced Micro.blog Studio — our new subscription plan with improved video hosting including up to 20-minute videos — I also mentioned we would be adding more features for podcasting. Today we have the first of those new features.
Exclusively for Micro.blog Studio subscribers: Micro.blog can automatically adjust the audio levels and reduce noise for uploaded MP3s. We want to make podcasting easier, with more tools and defaults so that things “just work” without requiring a lot of podcasting experience.
On your blog settings page, you’ll see a new checkbox: “Level audio and reduce noise”. This is a feature that some people would previously use services like Auphonic for.
Now when you upload an MP3, Micro.blog will make it available right away but also process it in the background, replacing the uploaded file with the new version. We preserve the original file, so you can visually compare the waveforms. Click on the audio file on the Uploads page on the web.
Is this as good as Auphonic? No, they have some secret sauce for cleaning up audio with lots of configuration options. For Micro.blog Studio, I wanted a single checkbox that will improve most audio, especially if recorded on-the-go from your phone or without a good microphone. It’s optional. If you find it doesn’t help your audio uploads, you can leave it turned off.
Thanks again for everyone who has tried Micro.blog Studio. More to come!
Wow, Eugen Rochko stepping down as Mastodon CEO. Congrats to him on all the success in helping the open web move forward! This part also resonated with me:
You are to be compared with tech billionaires, with their immense wealth and layered support systems, but with none of the money or resources.
Watched: Frankenstein. I liked this more than I was expecting. Some visually great scenes… Wish I had seen it in the theater instead of Netflix. 🍿
Good interview at Wired with Fidji Simo. I didn’t know she had an illness that forces her to work remotely most of the time:
I care a lot as part of my own mission about everybody realizing their full potential. I want a world where health conditions don’t get in the way. Either because we can cure them or because companies accommodate them. We can have technologies that make it easier.
I don’t think Disney live-action remakes really need to exist, but the new Moana could work well. Also, there are occasional new songs that I would love to see re-cut into the original animated versions: for Beauty and the Beast, take out Human Again and put in Evermore; for Aladdin, add Speechless.
Sometimes I drive the long way around, through old neighborhoods, imagining the people and buildings that used to be there. Time erases so much.
Great video on YouTube (via Matt Haughey) of old Pacific Electric Railway stations in Los Angeles. I would’ve loved to see some of these when they were active. 🚂
I’m excited to welcome Bonnie Rue to the Micro.blog team! She will be helping with new community-focused projects, leading curation of the Discover section, and working with me to respond to community issues.
We’ll keep improving our community guidelines and adapting to what the community needs. The social web is evolving quickly with new platforms. Micro.blog has always had a unique philosophy: content ownership through blogs, and a safe place to interact with others. As the social web becomes more connected, Micro.blog will stick to its mission while trying to balance the right set of tools to connect with people on other platforms.
I also want to thank the folks who were interested in this role at Micro.blog. I wish we could hire several people! Maybe one day we’ll be able to.
Watched: Being Eddie. Really enjoyed this. 🍿
I’ve updated Micro.blog with support for Day One journals. In the Mac app we’ve had a manual export to Day One for a while, and now the platform can automatically copy your blog posts to Day One. This uses Day One Premium’s “Email to journal” feature.
You can enable it on Micro.blog’s “Sources” page:
If you haven’t checked out our cross-posting options in a while, we have built-in support for over 10 different services, from Bluesky to PeerTube to Tumblr. I think our cross-posting features are unmatched by any other platform.
For more details about Day One, see this help page.
Good article in The New Yorker about water in Texas including the failure to build a seawater desalination plant. From a hearing in Corpus Christi with residents pushing back against it:
The hearing started around noon; by midnight, it was still under way, and three women in the audience, including a former mayoral candidate and a college professor, had been arrested for disorderly conduct.
Seems like a mistake not to be working on desalination. We’re going to need this eventually.
We had to run an errand out off 620, so stopped at the park at Mansfield Dam. Short video with a few clips.
From the Financial Times via The Verge:
According to the Financial Times, Tim Cook could step down as Apple CEO as early as next year.
It’s time. Tim Cook should be proud of Apple’s success, but a few things like the App Store have gone in the wrong direction. Will be good to change things up.
Made a couple careless errors this morning. I probably need to step away from the computer. Sorry for the Micro.blog flakiness. Accidentally deployed some code before a huge db migration finished.
They lost by one point, but last night’s Spurs vs. Warriors game was still so good. Both loses this week took Steph Curry having a 45+ point game. Wemby is everywhere. Great basketball. 🏀
Interesting blog post from Tim Bray comparing a recent Bluesky suspension with the Mastodon moderation UI. Mastodon has done a lot of good, but one blind spot is moderator political bias. If someone is in a bubble because of their server, they may overlook hateful posts from people they agree with.
Nikita Prokopov blogs about the neediness of apps. I can especially relate to the notifications part:
Notifications are like email: to-do items that are forced on you by another party. Hey, it’s not my job to dismiss your notifications!
I still can’t wrap my head around the Apple developer news about so-called mini apps. Is this to capture 15% from web apps instead of the 0% Apple currently gets? Or is this an actual discount that will encourage more developers to turn native apps into mini apps?
Reviewing EU servers. Can’t believe it has been over half a year since we set those up. Adding a new server today. 🇪🇺
Finally got my local Android build setup working again. Had to nuke everything. This has been really holding me up on testing and bug fixes.
Now that I have two whole videos of me talking to the camera, time to make a Videos page for my blog. Having a place for anything is actually an encouragement to do more of that thing.
The new Nostr-based video app Devine also includes an archive of original Vine videos. Rabble spoke to TechCrunch about it:
“So basically, I’m like, can we do something that’s kind of nostalgic?” he told TechCrunch. “Can we do something that takes us back, that lets us see those old things, but also lets us see an era of social media where you could either have control of your algorithms, or you could choose who you follow, and it’s just your feed, and where you know that it’s a real person that recorded the video?”
Michael Tsai blogging about the Apple-funded study on DMA fallout:
Now Apple is acting as though it and end users are the only parties that matter, so by implication the money must have been wasted. There’s no consideration that maybe these funds helped some developers stay in business or invest more in the products, both of which would be beneficial to the platform as a whole (including Apple).
Oh cool, Jarrod Blundy’s blog post about Micro.blog Studio made it on Hacker News.
Surprised to read that Sonder has gone bankrupt, despite the Marriott partnership. It seemed like Sonder was a good balance halfway between hotel and Airbnb. I booked one last year in Arizona… although I got the date wrong and ended up having to stay somewhere else!
Thanks @jarrod for the kind words about Micro.blog Studio. His post actually does a better job of answering the “why” of video hosting than my own announcement post!
Good move from Google for privacy, building servers similar to Apple’s private cloud compute. From The Verge:
The compromise is to ship more difficult AI requests to a cloud platform, called Private AI Compute, which it describes as a “secure, fortified space” offering the same degree of security you’d expect from on-device processing. Sensitive data is available “only to you and no one else, not even Google.”
Dave Winer has been updating the web page about Markdown in RSS. This is an RSS extension that adds source:markdown elements to your feed. Micro.blog supports this by default for all blogs.
For one of my recent microblog posts, it looks like this in my feed:
<item>
<link>https://www.manton.org/2025/...</link>
<pubDate>Sun, 09 Nov 2025 15:17:49 -0600</pubDate>
<guid>http://manton.micro.blog/2025/...</guid>
<description><p>Watching <a href="https://www.themoviedb.org/movie/137113">Edge of Tomorrow</a>... </p></description>
<source:markdown>Watching [Edge of Tomorrow](https://www.themoviedb.org/movie/137113)...</source:markdown>
</item>
You can see that the Markdown is a little cleaner, without the escaping that is needed for HTML tags in RSS. I’ve truncated the text here for readability.
Micro.blog works natively with Markdown, so whenever you use the bold or link buttons, for example, it generates Markdown that is run through Hugo when publishing to your blog. The RSS feed simply includes the original Markdown in addition to the published HTML.
We’ve launched the first version of a new subscription plan called Micro.blog Studio. This plan joins the standard Micro.blog hosting, the Micro.blog Premium plan, and our Micro.blog Family plan, providing options at a bunch of price points:
Micro.one: $1
Micro.blog: $5
Micro.blog Premium: $10
Micro.blog Family: $15
Micro.blog Studio: $20
Micro.blog Studio adds longer video hosting for your blog, with uploads up to 20 minutes. You can read some of the technical bits here. It can automatically copy videos to PeerTube and Bluesky too.
I’m pretty happy with this lineup and think it will serve us well for many years without changes. The standard plan was $5 when it launched in 2017, and it remains that price today, but it is wildly more capable than it was back then. It’s unusual for blog hosting to stay the same price for so long. Feedbin comes to mind as another blog-adjacent service that has stuck to a flat $5 price seemingly forever.
I think of Studio as a new 1.0 product built into the larger Micro.blog platform. We have much more we plan to add to this in the future, including for podcasts. You can imagine new web-based podcast recording and editing, so that podcasting is more accessible to people, as well as an update to our companion app Wavelength.
Thanks everyone for your support, especially the folks who have upgraded to Studio even if they aren’t sure they will use it much yet! As we approach the holidays and the year winds down, I’m excited about what more we can build for the open web heading into 2026.
Another great game from Wemby. Unreal. 5 blocks, 5 assists, 6 3s, a bunch of points. This season is so much fun. 🏀
Tim Berners-Lee is the guest on the latest episode of Decoder:
You want to have control of your own destiny. We call it digital sovereignty. In the old days, the early days of the web, anybody used to be able to make a website. So that feeling of sovereignty as an individual being enabled and being a peer with all the other people on the web, that is what we are still fighting for, and in fact, we need to rebuild.
Starting to roll out the new Micro.blog Studio subscription plan. I blogged last week with an overview. I just created a help page with a few more technical details.
There will be tweaks and improvements as we go, based on feedback.
Cold morning in Austin. Lots to do. Working at the coffee shop but accidentally left my headphones at home! I know, life is hard. 🤪
Started watching: The Diplomat Season 3. Good first two episodes. Also great to see both Allison Janney and Bradley Whitford on the show, gives it even more of a West Wing vibe. 📺
Watching Edge of Tomorrow. Love this movie. We put it on randomly sometimes, have seen it dozens of times. Still holding out hope for a sequel. 🍿
I didn’t know about subway surfing. Tragic. From a story in The New Yorker:
We blame the digital platforms, and deride these kids as idiot stuntmen, addicts—even as the savviest adults among us exhibit a similar dependence on platforms to tell them who to be.
Lily Allen’s West End Girl feels like a complete album, meant to be listened to in track order. Really good. (Not safe for work!) Queued it up this morning on my walk to find coffee and wi-fi. 🎶
Working on video improvements ahead of tomorrow’s launch. One thing I like about the automatic cross-posting is that for videos less than 3 minutes, Micro.blog copies them natively to Bluesky, reassembling from HLS to a single file. You can see this in this Bluesky post.
Watched: Little Amélie or the Character of Rain. Glad I was able to see this in the theater today. Beautiful. 🍿
Sometimes I forget about the way Micro.blog archives any web page you link to or bookmark, including images and styling. I just checked the database and there are hundreds of thousands of web pages and millions of resources. Slowly turning into a personal, miniature Internet Archive.
I think Sandbar is on to something with their ring. I’ve wanted a faster way to record notes and post drafts for a while. But the Apple Watch should really be able to do this.
Thinking about how much code is written by AI is becoming less interesting to me. We didn’t used to care how much code was written by literal copy and pasting. Although maybe we should have? 🤪
I’ve seen the new Mac ad on TV several times now and really like it. There’s obviously something special about it. Didn’t realize at first that it was voiced by Jane Goodall.
Watched: Pluribus S1E1, We Is Us. Not sure what to think of this yet. Rhea Seehorn is good, but want to watch a little more to see where the story is going. 📺
Not sure if this is fair or not, but I think of Bird Bird Biscuit as a hipster version of Chick-fil-A. And to be clear I love both.
If you are on the TestFlight beta for Micro.blog iOS, you will have seen our experiments to enable Liquid Glass. I’m admitting defeat today, going to opt out of the new UI for the next version. There are too many little glitches.
OpenAI continues to shoot for the moon. Based on a tweet by Sam Altman, they seem fairly clear-eyed about it. It’s a gamble that AI will be needed everywhere. OpenAI will either succeed or fail spectacularly.
I would bet on OpenAI long before the likes of Perplexity and startups riding only hype.
Scott McNulty blogging about the new Star Trek LEGO set:
$400 is a lot of money for some pieces of plastic, but how can you put a price on happiness?
The minifigures look great. Wish I could just buy a few of them without the full set. We have no space for more LEGOs.
Enjoyed this video with Matt Mullenweg and John Borthwick. I thought I was familiar with Betaworks, but I had never actually heard John speak. Some interesting thoughts here about the future.
Watching the Wicked special on TV. I’m fine with it being one long commercial for the movie. Can’t wait. 🧹
My blog has always been a mix of personal posts and business topics. It’s not a collection of press releases. It’s not perfect and it’s not everything. I think where we often go wrong is judging people harshly from a snapshot of their life, mostly out of context. Much better to look for the good.
Staying busy this week. If I stop to let my mind wander, I can start to feel grief inching closer, like a dark fog coming over the water. Gotta stay on ground away from the coast, with things to do, for now.
From the Elon Musk vs. OpenAI depositions, there are a couple more details around the firing of Sam Altman, but it appears mostly the same drama. Smoke but no fire. However, there was this fact that I did not know:
According to the deposition, during Altman’s ouster, Anthropic reached out with a proposal to merge with OpenAI and take over leadership of the company.
I posted a couple months ago about improving Micro.blog’s video hosting. Not just fixing the existing problems but greatly expanding what it can do. I’ve been thinking about how this impacts current and future customers, and I’m ready to share the next step.
Technical plumbing for the new video support is already rolling out. It’s the biggest change to how uploads work since we first added photo hosting. Instead of a single hosted file, videos are processed into chunks at multiple resolutions to support quick playback.
All Micro.blog subscribers will get 1-minute video uploads. There will be a new subscription plan to increase the limit up to 20-minute videos. The new plan will also be the place we add new features for podcasts.
Videos hosted on Micro.blog will automatically cross-post to PeerTube and Bluesky at launch. POSSE! YouTube will be enabled whenever Google approves us. Mastodon will get a link back to your blog post to watch the video.
I have heard the feedback that it appears too limiting to have only 1-minute videos on the rest of our plans. However, Micro.blog and Micro.blog Premium are a good value with their existing features. There’s a simplicity to not needing an asterisk on each plan for how long videos can be.
After it ships, the complete set of plans will look like this:
Micro.one: $1 — cheap, while supplies last!
Micro.blog: $5 — standard hosting
Micro.blog Premium: $10 — up to 5 blogs plus more features
Micro.blog Family: $15 — up to 5 members per blog
Micro.blog Studio: $20 — coming soon!
Each plan includes everything at the lower tiers. This is a lot for us and for users to juggle, but I believe the best way we can keep prices low is by adding new features at higher tiers instead of raising the price on the $5 and $10 plans.
For comparison, here are some other services and their prices:
Tumblr Premium: $7 — up to 10 minutes
WordPress Premium: $18 — less than 2 GB recommended
Vimeo Plus: $12 — up to 5 GB
Twitter / X Premium: $8 — up to 2 hours
Bluesky: $0 — up to 3 minutes, 100 MB
Mastodon: $? — less than 100 MB
It’s all over the map. The pricing we have in Micro.blog feels right to me, and hopefully will be sustainable enough that we can support and expand it well into the future. And of course, YouTube, Instagram, and TikTok are there if you want to directly monetize your videos, or if you want the $0 price and don’t mind feeding the ad machine.
I can’t wait to share more about how this works in Micro.blog. It officially launches next week.
Listening to the final episode of Under the Radar. Congrats to David and Marco on a great 10-year run!
The second of three big things for today: updated Mac app! This has the movies and TV show search that I previewed earlier this week.
Added one of the oldest requested features to Micro.blog today: editing the slug for a post. There’s a new page for managing URL paths. A couple other things will go here later, like batch delete, to avoid cluttering the main editing interface.
Good morning! Coffee at Houndstooth. Big day, going to release the new Mac app and blog about the upcoming video hosting. Maybe a new web feature too. ☕️
Watched the first quarter of Spurs / Lakers but can’t stay up for the whole game. It’s not helping that the sun seems to set at 5pm now. 🏀
Thinking again about file over app by Steph Ango. We have a lot of export and import options in Micro.blog, but I always think there’s more to do. It’s hard to make file access seamless with web apps.
From the NetNewsWire blog about version 6.2:
…there is one new feature of potential interest: we’ve added support for Markdown in RSS feeds.
Micro.blog feeds also now support Markdown in RSS, for any blogs updated starting today. If you haven’t edited your RSS feed, you’ll get it automatically.
Good story by David Pierce at The Verge on the coming web browser wars. He talked to people at all the major browser and AI companies. Browser competition will be good, although I don’t see AI replacing the search and address bar the way some companies think it will. (I’m still using Dia.)
Fidji Simo blogs about companies that use AI to do more, not to downsize:
Organizations that approach AI as a way to multiply what they create will be so much more successful than those that use it to subtract.
Layoffs make no sense to me for already-successful companies. Layoffs are the mindset of private equity, squeezing out more profit instead of improving the product. Companies that prioritize layoffs will find themselves lapped by the competition.
ChatGPT Pulse is my favorite product of the year. It’s expensive, but it’s the first new thing I’ve seen in software in years. Love reading about what it’s come up for me each day. Here’s a snapshot, because it knows I’m thinking about Spain. (And if I scroll, it has actual work / code topics too.)
Ben Thomson in a long article today about the AI bubble and its potential benefits, especially lasting power infrastructure:
It’s sobering to think about how many things have never been invented because power has never been considered a negligible input from a cost perspective; if AI does nothing more than spur the creation of massive amounts of new power generation it will have done tremendous good for humanity.
Tim Sweeney on Twitter / X welcoming a Google proposal to fix exclusive app distribution and payments:
It genuinely doubles down on Android’s original vision as an open platform to streamline competing store installs globally, reduce service fees for developers on Google Play, and enable third-party in-app and web payments.
Epic’s lawsuits were derided by many, years ago, but there’s no question now on how consequential their approach has been. We’re finally seeing real progress.
Another excellent article about AI in The New Yorker: The case that AI is thinking. It captures both the fear that we aren’t that special and the inspiration for what might be possible. I continue to find AI clarifying — a signal to focus our work and lives on what are uniquely human strengths.
In addition to technical debt problems, when using AI for coding we have to be careful of feature creep. If there’s hardly a cost to adding a feature, it’s too easy to add all the wrong features.
Now that we have more confirmation that Siri will be powered in part by Gemini, I think Apple should address the other weakness in their AI strategy: the yearly update schedule. Decouple the cloud improvements so that server changes can be rolled out any time, not only at WWDC or a major iOS update.
Sneak peek video of next Mac version of Micro.blog with new Movies sidebar item. This will ship later this week.
Last week I posted a short survey to get some feedback on what features people are using in Micro.blog. The response was great. I’m reading through the freeform answers and they’re especially helpful.
I also wanted to hear opinions about the new Movies feature we recently added on the web, and better understand how people might use better video upload support. Here are charts from a few questions.
Where should the new Movies page go in the apps?
Do you want to post your own videos to your blog?
If you post video, how long will most clips be?
Election Day. There are lots of propositions on the Texas ballot. Kind of feel if you can’t easily memorize your vote choices, there are too many. 🇺🇸
Working on something new for the Mac app and thinking about how disclosure triangles are sort of a lost art. We’ve web-ified most UI design.
Simon Willison blogs about doing research that leads into a new blog post:
…I poked around to answer my own questions and then wrote up what I learned as a short post. Curiosity-driven blogging if you like.
Great responses to my little survey about Micro.blog features. Thanks everyone! Really helpful. I’ll keep it open for another week.
Until today I had never tried the “best of N” feature in AI tools like Codex, where it generates multiple versions of the same feature. Fascinating shift in development. You would never ask a human assistant to code the same thing twice and pick the best one.
Everywhere we look — people walking on the sidewalk, people stuck in traffic, people shopping at the grocery store. Everyone is going through something, worried about something, seeing joy in something, feeling heartbreak from something. Remembering this can help ground us in discussions online too.
I guess this was bound to happen. Daring Fireball:
Services now generates more revenue ($28.8 billion) than Mac, iPad, and Wearables/Home combined ($24.7 billion).
If iPhone revenue is essentially maxed out and flat, Apple will eventually become mostly a services revenue company. Very weird. 💰
I thought of a few questions about Micro.blog usage that will help us prioritize features over the coming weeks. If you have a minute, fill out this form. It’s very short.
There’s not necessarily any new info in this article in The New Yorker about AI data centers, but it does illustrate the scale. Also enjoyed the anecdote about a farmer using Claude.
Behind a fence, and past several vehicle checkpoints, the campus was a spacious expanse of nothing, except for one corner, which was populated by a row of numbered sheds. The sheds were white, narrow, tall, and several football fields in length; they reminded me of the livestock barns I visited as a child at the Minnesota State Fair.
We’ve been going through old photos this week. I always smile looking at this one of me and my mom, from around 1980. I look so funny.
I’m still using ChatGPT Pulse. It is remarkable how good it is sometimes. Some folks will find this too creepy, but this morning it delivered a mashup of one of my favorite book series (Stormlight Archive) and principles of Micro.blog. Here’s the transcript. To be clear, I did not prompt this.
Thanks everyone for the kind words on the blog post yesterday about my mom. Means a lot to me.
Last weekend, my mom passed away. I had blogged once or twice that in recent months I found myself at the hospital often, as she declined in health and was in and out of the hospital and rehab. It was what inspired me to make Micro.blog free for nurses and teachers.
My mom was selfless, making many sacrifices throughout her life so that I could become the person I am. At the hospital, when I thought she might only have days left, she told me, “I’m fine, go home and get some rest.”
Even in grief, there are moments of good that we can hold on to. I am thankful that my life and work allowed me to care for her in what became her final weeks. When there was nothing else the doctors could do, my mom moved in with my wife and I under hospice care so she could be at our house, always surrounded by people who loved her.
This has been the hardest thing I’ve ever done in my life. I rarely share such personal stories of family publicly. It feels right, though, because it ties into many things I write about.
What do we do when everything goes wrong? The next right thing. We breathe. We get up. Tomorrow the sun will rise on a new day.
Last year I blogged that loss can be a huge motivator:
After my father died, I got married, had kids, and bought a house. After the 2016 election, I launched Micro.blog. After my kids moved away to college, we sold the house and downsized.
As I reflect on this current phase of my life, I know there will be more changes. I continue to put my heart and soul into Micro.blog. I feel really good about the progress we’ve made over the last couple of years.
So for Micro.blog, the work continues. I will catch up on email, and I can’t wait to wrap up the new video hosting I’ve been working on.
I’m motivated to simplify and slow down, to be more at peace with the pace of my schedule. To do less. When I was dealing with the stress of personal attacks early this year, I made a similar choice, asking Daniel Jalkut if it was time to retire our Core Intuition podcast.
I hope Micro.blog can play a small part in providing a quieter social timeline for others too, as we try to build a platform that is less obsessed with trending news and heated discussions.
I also just turned 50 years old. In the span of just 4 days, I had my wedding anniversary, my mom’s death, and my birthday. We decided to plant a tree in our backyard, to mark our anniversary and in memory of my mom. So I found myself outside last week digging a hole as tears slid down my face. Anticipating the loss, needing to do something.
Way back in 2008, I blogged about planting trees and starting projects:
If you procrastinate forever, just because you won’t see results anytime soon, you’ll find yourself looking back 10 years later and wishing if only I had just planted that tree / started that new software project, it would have been done by now.
This time I wanted the new tree to be a Monterrey Oak. They don’t last hundreds of years like a Live Oak, and maybe they aren’t as strong, but they grow very quickly. Time is precious. I want to see the tree get large and provide beauty and shade before it’s too late.
In a post about safety improvements, OpenAI reveals that a stunning number of people (0.15% out of hundreds of millions of active users) discuss suicide with the chatbot. This is obviously an urgent issue and the company needs to redouble their efforts. Some people will not seek out real counselors.
Watching the Longhorns game with family today was a nice distraction from everything else going on for me right now. Great comeback win. Hopefully Arch Manning is okay. 🏈
I tried Atlas again to go find something for me on the web, and it worked, but the UI doesn’t feel right to me. Dia is lighter, more streamlined. I think Atlas tries to do a lot and doesn’t quite have a vision for how all the pieces should fit together. It’s 1.0, though.
Automattic has filed counterclaims against WP Engine. I’ve read the first few pages of the PDF and I find it compelling, although I am biased to support Matt Mullenweg for everything he’s done for the open web. It’s just hard (but not impossible!) to earn back trust after you’ve lost the narrative.
Great Spurs win last night in the season opener. I went to bed in the 3rd quarter and caught up on the rest of the game this morning. In other NBA news, craziness with Chauncey Billups arrested for a poker operation tied to the Mafia. 🏀
Nick Heer blogging about Atlas:
OpenAI wants to be everywhere, and it wants to know everything about you to an even greater extent than Google or Meta have been able to accomplish. Why should I trust it? What makes the future of OpenAI look different than the trajectories of the information-hungry businesses before it?
One word: ads. Google and Meta are ad-supported and so will always be misaligned with users, prioritizing engagement above all else. OpenAI (for now) is supported by paid subscriptions. If their business changes, it will be cause for concern for sure.
Barely any time to work or blog the last couple of weeks because of family stuff that maybe I’ll write about later when I can get my head together. I’ve enjoyed shipping the movie and TV show features. They are a nice distraction. The video improvements are close… Need some space to ship them.
A few initial thoughts on ChatGPT Atlas… Good name. I thought about naming a product Atlas recently. Dia still feels like a more complete design, but Atlas can be more tightly integrated with ChatGPT history. I don’t use Dia’s AI features mostly because it feels too separate from other tools.
Great blog post about why people like 37signals:
They write books, give talks, maintain strong Twitter presences, and share their opinions on everything from work culture to F1. I don’t always agree with their opinions. I might disagree with a good deal more than 50% of them. But I know where they stand, and I know why.
37signals has created a unique business over 20+ years, and I think this post explains why it will persist even as there is controversy from time to time, such as recent disappointment with DHH’s political posts.
Cal Newport blogs about what Sora might mean for a business model shift at OpenAI:
A company that still believes that its technology was imminently going to run large swathes of the economy, and would be so powerful as to reconfigure our experience of the world as we know it, wouldn’t be seeking to make a quick buck selling ads against deep fake videos of historical figures wrestling.
Sora is a gimmick. OpenAI should build more tools like ChatGPT Pulse, which is one of the most amazing products I’ve ever used. Truly new and useful.
Turned on the TV this morning and they were covering the AWS outage. It doesn’t appear to have affected Micro.blog from what I can tell. I could use the small wins this week.
Wasn’t expecting anything new in UI design from Twitter / X, but this in-app browser UI actually looks pretty good. It keeps some context for the followed link (like reply and favorite buttons) visible while reading an article. Reduces the “cost” of clicking out of the timeline.
From Matt Mullenweg’s talk at WordCamp Canada:
Day One is a fully encrypted synchronized blogging and journaling app, that runs on every device and the web, and you can have shared journals with others. It’s the first place I go to draft an idea, or for example, to write this talk.
This was a little surprising to me. In a way, it matches the workflow I sometimes use in Micro.blog. I use our private, encrypted notes feature to jot down ideas or write a draft, then move it into a blog post. But most of the time I just start right with a draft post.
Some really good thoughts in this post by Paul Frazee about Bluesky’s approach to open protocols and platform bias:
On the one level, we created a neutral protocol to solve the systemic absence of neutrality and choice. On another level, we created a platform to drive an opinionated take on social. They go hand in hand: the killer app of a neutral protocol is an opinionated but interchangeable platform.
I should update my chapter on open gardens to quote this.
I’m the guest on the latest Software Defined Interviews! We cover so many things on this episode, from journaling to Micro.blog’s philosophy and features. Might be the longest interview I’ve ever done, actually.
Reading Simon Willison’s write-up of NVIDIA’s little AI box, my first thought was how much Mac you could get for the same $4k. Quite a lot! Mac Studio with 96 GB. Enough to run gpt-oss-120b and many other models.
Quick update on today’s TV show rollout in Micro.blog, added a new button to make it easy to link to the entire season, not just one episode. Here’s a screenshot.
Dave Winer getting ready for his talk at WordCamp:
Twitter comes online, we try to work with it. Unless your ideas fit in 140 chars, don’t use links, or style, and you never make mistakes that need correction, it just doesn’t work.
The ideal is to write in our blog space, and publish everywhere.
John Gruber blogging about the end of Apple’s Clips:
Edits, Meta’s new-this-year video editing app for mobile, has a clear use case: it’s meant for editing videos destined for Meta’s popular social media networks. Clips had no clear target destination. It could have, but never did.
Expanded the movies section of Micro.blog to add searching for TV shows, including browsing seasons and episodes. Here’s a 30-second video of how it looks:
Exhausted last night and fell asleep during SNL. Watched Weekend Update this morning and it was hilarious. 📺
Bummer about Apple abandoning Clips. No surprise that they don’t have time for it, but it was a nice app that maybe could’ve been successful as part of someone’s indie business.
I’ve been very diligent lately about doing all work in a Git branch so it’s easy to let Codex run a quick sanity check on every change before it’s merged. Today has been a roller coaster, distracted, busy, but still took a few minutes to code and just pushed changes up without review like it’s 2007.
Watching the WNBA finals winding down. Pretty incredible run by the Aces leading into and through the playoffs. Ready for the NBA regular season, almost here. 🏀
First request for YouTube API access has been rejected by Google because they didn’t like my screencast walkthrough. Annoyed. Might pivot and get back to it later.
We added new settings for your profile page today. By default Micro.blog thinks about most everything as public on the open web, but adding more control here feels right and is consistent with some of our fediverse settings. Here’s a screenshot:
The best thing about working with other people is they push you to consider paths you wouldn’t have thought of yourself. Helps to not get stuck in one narrow way of thinking.
It’s a good summary of where my head is that I asked ChatGPT when MySQL started supporting a certain feature, and it said 25 years ago. I often joke that my tech skills are stuck in the early 2000s. 🙂
Working on approval from Google for YouTube API access, Google is setting very low expectations here:
The Trust and Safety team has received your form. They will reach out to you via your contact email if needed. The review process can take up to 4-6 weeks.
I’ve been very down the last few days, but I just spent some time skimming through random posts on Micro.blog, including from some blogs and people I hadn’t even seen yet. Warms my heart.
The open web has made progress in recent years, even if social media often feels in crisis. We’ll get there. ❤️
As usual, Ben Thompson’s framing is quite good:
…OpenAI’s wrenching transition from research lab to consumer tech company is now complete. The next goal from here is world domination, and we’re all, for better or worse, along for the ride.
AI is so big and so complicated at this point, that I’m confident there will be better and worse. There will be useful tools, like for coding and medical research, and there will be slop and negative outcomes. Our task is to minimize the harms without throwing away the positive breakthroughs.
Sora is not really for me. It’s fun to watch, but I’ve never wanted to create this style of video. Then I thought, could I use it to create some animated videos with public domain material like 1920s Mickey Mouse? Nope! Their guardrails are too strict.
Good post by Michael Tsai on Apple’s exclusive control over app distribution and how the problem is more fundamental that just the ICEBlock removal:
They designed a system with a kill switch, and now people are surprised and upset that they used it. The problem is not that they pressed the button this one time when you didn’t want them to. The problem is that there is a button and Apple likes having it.
Picked up my car from the repair shop. Nice new bumper and paint, “like new” for a 2008 car. Itching to drive somewhere.
Matt Baer writes on the state of the web and looking for real-life connections:
Now we create “content” for the masses, and consume others' commodified lives; we self-censor and are careful not to post. The light, fun space the internet once was is now heavy and consequential.
Really feeling this.
I think with optimizations this week I inadvertently made some blog publishing times slower. Rolling out a potential fix and continuing to monitor. Also deploying a bunch of behind the scenes infrastructure for the new video stuff.
Spent some time reading through Mastodon’s early draft for starter packs. Too soon for me to implement anything. We’ve supported browsing Bluesky starter packs inside Micro.blog for a while, so would still like to do more there.
When I have a blog post draft that has been sitting around for too long, I copy the text into a Micro.blog note and delete the draft. It’s surprisingly freeing not to have unfinished posts hanging around. (Yet still have the text if I ever want to bring it back into a new post.)
One of those days when most everything is hard, yet there are still a few moments of clarity. The view out from Whole Foods. Took a little time for breakfast tacos and work in between visits to the hospital. 😞
Anil Dash making a strong case for video creators to work on independence from TikTok and other big platforms. The algorithm is fragile. It might help you today, but tomorrow you’ve lost everything without a direct connection to your audience.
Federico Viticci blogging about the news from yesterday’s OpenAI DevDay and the impact of ChatGPT becoming a platform:
If I were Apple, I’d start growing increasingly concerned at the prospect of another company controlling the interactions between users and their favorite apps.
Big news from Riley Testut about AltStore PAL, integrating with the fediverse, and new investment to grow the platform and give back to other open web tools. Very cool, congrats to everyone involved!
Ben Thompson: “OpenAI is making a play to be the Windows of AI.” Also, on the inevitable bubble and the infrastructure we’ll be left with:
The real payoff would be a massive build-out in power generation, which would be a benefit for the next half a century.
Here’s a quick screencast to show the new Movies page in the Micro.blog sidebar. This blog post is also a test of longer video hosting on Micro.blog! 🤞
FediForum starts tomorrow and runs for a couple days. It’s an online conference for folks who want to discuss and build for the future of the social web, from Mastodon to Bluesky. There has been a lot of new developer activity over on the Bluesky side, so I’m curious if any of that will bubble up.
For all the folks overseas, I’d like to do more for localization in Micro.blog. Not the main UI, but the parts that show up on your own blog, e.g. “Finished reading”, “Watched this movie”… I tried AI to dynamically translate a few things on the fly, but it’s a dead end. Maybe crowdsourced later.
Parker Ortolani blogs early praise for Meta’s Ray-Ban Display glasses. They are solving completely different problems than the Vision Pro:
At one point I was walking down the street, spotted a coffee shop across the way, and simply popped up the maps app on the glasses to see details.
Really good Stratechery update this morning from Ben Thompson about Sora’s rise to #1 in the App Store. People are having fun with the app, but I don’t think creativity with prompts is the same as real photography and filmmaking. I’m also pessimistic about the effects of infinite scrollable content.
Watched One Battle After Another. Even though I saw the trailer, didn’t actually know what it was about. Intense, excellent. 🍿
Brent Simmons blogged about why NetNewsWire isn’t a web app, along the way making the case for Apple letting us use our devices as the computers that they are:
What I want to see happen is for Apple to allow iPhone and iPad users to load — not sideload, a term I detest, because it assumes Apple’s side of things — whatever apps they want to. Because those devices are computers.
Manu Moreale blogs about posting on social media as a performance:
By doing it publicly, you can be part of the mob of the day, find yourself in the company of like-minded individuals (that you likely don’t know and might as well hate you in real life), and have fun berating someone.
Last week a solicitor came to our door selling the usual house upgrades: new roof, windows, even solar panels. Normally I would say no thanks and they would be on their way, but just the day before I had been thinking about solar, so I figured sure, actually I am interested in solar panels one day, maybe in a few years. They can hand me a flyer.
Somehow I fell into the sales funnel trap. The conversation went from “we can look at satellite photos of your roof to give you an estimate” to them handing me their phone to talk to the guy who scheduled appointments. It kept escalating from there, a little bit each time, until the next day someone shows up at my door to give me the estimate, but they actually need to come inside my house and go over our electricity bill.
I’m a patient person, but this had eaten up way too much of my time. I had to turn them away, apologizing as they gave me a guilt trip that they had driven an hour and a half to get here. The whole thing was what I joke about as delay fish. I could finally see what should’ve been obvious right away: this was all a huge waste of time.
This is a long introduction to saying that I’m making a couple changes to my social media diet.
I’ve disabled federation of my blog posts and I’m muting everything I get from Mastodon. Most people are great, but something feels broken over there, divisive, and the risk of getting angry replies is too much right now. I really need to focus.
An interesting side effect of the Mastodon model is that someone who runs their own community has fewer checks on their influence. They can spread misinformation, but they can’t be reported, because they are also the judge for moderation decisions.
You could say the same thing about my influence on Micro.blog. This is why I’m extremely careful never to attack other people or stoke any fires of outrage. I want our team to be firefighters not arsonists. And of course it’s easy to export your data and move.
I think someone should explore this in more detail. But for now, back to my decision to have a quieter timeline, with fewer people monopolizing my attention.
I blogged earlier this year about filter bubbles and the new settings in Micro.blog to help you manage how your posts and replies go to the fediverse. This is the first time I’ve actually used the “mute everything” setting. It works!
There are many ways to follow my blog. RSS, Micro.blog, weekly emails, and cross-posts to Bluesky. And there are multiple ways to get in touch with me. I’m also still getting replies from Bluesky, which automatically show up in the mentions tab in Micro.blog.
Thanks as always for everyone’s support. Seeya on the open web.
I think we need to do something fun, so I’m swapping the order of new features rolling out this week. First, movies search and easy blogging about movies. Second, new video hosting plan. 🍿
Nice walk with the dog today. Also digging in the yard and thinking. Here’s my new rule for when online discussions get heated: let’s pay attention to who are the firefighters and who are the arsonists.
Got so derailed yesterday that I had to stop working on a feature in the middle of a change before I had even committed it. This pushes back the new video hosting support a day or two, but still should be able to launch it next week. Just working through some HDR issues.
That reply I mentioned wanting to delete last night didn’t seem to get synced everywhere. Oh well, I’ll let it stand. If anyone was following along, know that I’m wrong sometimes but I never lie. I try to assume the best in people and sometimes get burned, but thankfully very rarely.
Laughed a little when I saw this sign yesterday. I’ve been taking this elevator a bunch over the last week and it always shakes and rattles like maybe you’re lucky when it successfully makes it back to the first floor. Came back at night and it seems fixed. 🤞
Lost my cool today and sent a reply I shouldn’t have. I’m deleting it, which is very unusual for me. I never delete posts! Ironically it was just hours after I blogged that we’re all human and make occasional mistakes.
I wasn’t going to announce this until later, but today feels right… Earlier this week, I hired someone to fill the role of community manager at Micro.blog. I’ll be officially welcoming her in a couple weeks. Thanks everyone for your patience while we figured this out!
I’m exhausted of the attacks. After a nice morning with friends, I had to rush back to my mom’s bedside at rehab to hold her hand, talking to the doctor, all while people online were again questioning my integrity. I’ve said this before: you don’t know what people are going through. Give them space.
Paul Kafasis with a single-sentence blog post that says everything about Apple removing ICEBlock from the App Store:
Gosh, it’s almost like Apple serving as the exclusive gatekeeper for what software can be installed on the iPhone (and iPad, and Apple TV, and Apple Watch, and Vision Pro) is a bad thing that creates a single point of failure which can be abused by increasingly authoritarian governments.
Really liking The Life of a Showgirl so far. Not through the whole album yet, but it starts great. 🎶
Apparently there was some drama on Bluesky, but to be honest I can’t quite unravel the full extent of it. Just a quick shout-out to the CEO and CTO, who I have a lot of respect for. Strong principles and vision. There will be occasionally missteps because we’re all human. Keep moving forward.
After we added books and bookshelves to Micro.blog, there was a lot of good feedback about expanding it to movies, video games, music, and other collections of media. I think I have a good next step: make it easy to simply search for a movie and blog about it. Planning to wire things up via TMDB. 🍿
WordPress has also added support for Mastodon quote posts. Micro.blog’s support is generally working well — I blogged about it here — but I noticed a couple glitches today adapting for quoted WordPress posts, so I’m fixing those now.
Mark Gurman on Apple shifting resources away from a lighter Vision Pro:
The company had been preparing a cheaper, lighter variant of its headset — code-named N100 — for release in 2027. But Apple announced internally last week that it’s moving staff from that project to accelerate work on glasses, according to people with knowledge of the matter.
They should do both. I’ve been skeptical of Vision Pro all along, but it does need a “Vision Air” hardware update, unless they plan to abandon it. See also: Casey Neistat’s latest video.
Had a weird dream where I was at some kind of festival and ran into other Mac developer bloggers and… Sam Altman. Tried to convince him that Sora borrowed too much from TikTok and other addictive social networks. It’s technically amazing but I think is the wrong product to build, in this form.
Had no idea about this secret album from Mariah Carey, produced with her friend Clarissa Dane. Gina Trapani blogs:
To blow off steam, she writes a grunge rock album inspired by alt-rock bands like Garbage, Hole, and Sleater-Kinney. She records it at night with the band after the Daydream sessions, channeling her frustrations into the music, and picks the most perfect name for such a project: Someone’s Ugly Daughter.
Love this. 🎶
Last month I blogged about the yogurt shop murders. Now they solved it, further exonerating the suspects who were wrongfully charged. One of them was even sentenced to death… What a tragedy upon tragedies if we had accidentally executed an innocent man. Hope the parents and friends find some peace.
Because it’s now in the public domain, I can test video uploads with Steamboat Willie posted to a page on my own blog. Almost 100 years old. Still good.
Really good series. Aces to the finals, but the Fever kept getting back in the game over and over. Fitting to end in OT. 🏀
Congrats to the Iconfactory on releasing Tapestry 1.3. Nice to explore their take on adopting Liquid Glass. Most apps I use haven’t updated yet.
Since I mused last week about expanding the video hosting in Micro.blog, I’ve been working on some behind the scenes changes to make that happen. I’ll post more about it this week. But already in early testing I’m happy to say it is dramatically better.
Sora 2 is invite-only, so not entirely sure the scope of it, but I’m getting the feeling that it’s much more of a move into social than Sora 1. Sam Altman writing on his blog:
Social media has had some good effects on the world, but it’s also had some bad ones. We are aware of how addictive a service like this could become, and we can imagine many ways it could be used for bullying.
The OpenAI team deepfaked themselves in the announcement videos. Bizarre!
I usually have a few books I’m trying to read and switch between them. This new Kindle feature “Story So Far” seems genuinely useful if a long time has passed since putting a book down. From The Verge:
There will be new AI-assisted reading tools, too, including a feature called Story So Far that generates a spoiler-free recap of a book up to the point you’ve read
Kagi launches Kagi News. I love this approach of having a single, daily update:
We publish once per day around noon UTC, creating a natural endpoint to news consumption. This is a deliberate design choice that turns news from an endless habit into a contained ritual.
I care a lot about personal domain names and blogging, of course, and that bleeds into how we approach URLs in Micro.blog. Trying to keep the simplicity of short, readable CDN URLs as we expand to support longer videos, which are more complicated to host.
Typepad is shutting down today. That deadline came up quickly. It’s the last day to export any content. Micro.blog and WordPress both support importing Typepad archives.
From the “this would be a good blog post” department, Kevin Rose has thoughts about ChatGPT Pulse that he posted on Twitter / X:
It’s an agent that continuously researches on your behalf, building on topics from your recent conversations. I’m really having a hard time wrapping my head around this paradigm, because it’s truly unlike anything we’ve seen before.
It’s like having a knowledge partner that follows you around, deepening your understanding of whatever you’re curious about.
I blogged over the weekend about Pulse. I’m a few more days in now and it’s still good.
Reading through this great 3-part blog post series from Stephanie Booth about rebooting the blogosphere:
from my “reading interface” (ie, the RSS reader), make it super easy to comment, share, react or link to a publication and start writing something new
A key point in Micro.blog from the beginning was to unify reading, blogging, and replying. A little-understood feature in Micro.blog is you can follow any blog, for example search “climbtothestars.org” to follow Stephanie’s blog. Need to keep improving that.
The New Yorker has a long profile of Tim Berners-Lee:
Somehow, the man responsible for all of this is a mild-mannered British Unitarian who loves model trains and folk music, and recently celebrated his seventieth birthday with a picnic on a Welsh mountain.
Wait, how did I not know that he loves model trains? 🚂 Looking forward to his memoir: This Is For Everyone. 📚
New book: Adventures in Animation. We were at Alamo recently and before the movie there were the usual shorts and old commercials. One struck me immediately and I thought: that looks like Richard Williams. It was.
Doing some more work with FFmpeg. It’s amazing how far video and audio tools have come. Ages ago when I was working on my app Wii Transfer, I had to jump through all sorts of hoops. Although that was in the Flash days before HTML 5 video.
Enjoying the WNBA playoffs. Today is Aces / Fever game 4. And the NBA preseason starts on Thursday! 🏀
I temporarily upgraded to ChatGPT Pro so I could try out Pulse. I know, Pro is expensive. While it’s a “business expense”, I don’t plan to keep the subscription. I’m trying to cut expenses and raise revenue, not the opposite!
ChatGPT Pulse takes your AI chat history, optionally your email and calendar, and other tips you give it to provide a morning report on topics you’re probably interested in. It’s essentially a personalized “website” with posts written only for you.
The first version generated for me looked like this:
Other stories included what changed in the latest Hugo release, new web standards, and things to see in Oregon that might make for a good Micro.blog photo challenge. It knows I’m the creator of Micro.blog based on my questions to ChatGPT, and it knows I’m traveling next month because I told it. (I did not connect it to my email or calendar.)
It was all very impressive… and actually useful. A story can also be bookmarked into your ChatGPT history to follow up on later.
There’s something else about how this works that is fundamentally different than current chat-based AI where people are looking for answers. Instead of replacing a Google search, it’s adding opportunities to point to other websites and blogs. Because it’s proactively pushing stories to you that you may never think to look for, it should increase referrers to websites instead of subtracting them. Not enough to offset the lost Google searches, but still notable.
OpenAI is shooting for the moon with their fundraising, investments, and data center scale out. It’s too early to know how that plays out. But one thing has been clear for a while: they are building products, not just models. Pulse is the best example of that yet.
Asked Codex for a simple fix to something, and it went way off in the weeds and wrote its own Ruby and Python shell scripts to test its theory about the bug. Too thorough! Sometimes I really do just want the quick, possibly wrong answer that I can then tweak myself. 🤪
A contrast in two announcements today. This is why OpenAI is a different kind of company than Meta and should not be distracted with an ad-based business.
ChatGPT Pulse from OpenAI. Fidji Simo:
Pulse has already helped me discover new emerging treatments for my health condition, recommended new painting techniques for my art practice, surfaced great weekend events for my family, and more.
Vibes from Meta. Mark Zuckerberg:
Introducing Vibes – a feed of expressive AI-generated videos from artists and creators in the Meta AI app.
Started listening to the latest WP Tavern podcast earlier, with Dave Winer. Great so far. Dave’s fired up! I like it. As he blogged today about not waiting for the silos:
I’m not intimidated any more, I’m fed up and going ahead without them.
We can build a better web. Open, connected, portable.
A few days ago there was a discussion on the Social Web Incubator Community Group mailing list about fediverse handles. I sent an email to the list that I want to capture on my blog here.
There is also a relevant issue in Mastodon’s repo, with comments going back to 2022. While I’m not optimistic that this will be on Mastodon’s radar soon, I think it’s worth continuing to push for.
Hi Johannes and everyone,
This has been a good discussion, and I wasn’t going to chime in, but I feel that someone should make the case for eventually standardizing on simple domains and subdomains for handles. I bring this up because it could influence what the answer to Johannes’s question is.
Right now, the clear convention is Mastodon / WebFinger-style handles:
@manton@example.com
There are two problems with this: it looks like an email address, even with the “@” prefix, and it implies identity is usually tied to a server that someone else is running. There is no natural progression for solo instances in the way there is with subdomain → domain name .
I would love to see a gradual transition to:
@manton.example.com
And simply:
@manton.org
This is obviously a big change and won’t happen soon, but I think it’s worth working toward. There have been proposals to map it in a compatible way with existing software too, e.g. special names with an underscore like ?resource=acct:_@manton.example.com. ActivityPub itself wouldn’t need any changes.
I don’t see how we’ll ever get to a universal social web identifier — one where you could put a single handle on a business card and it works across blogs, the fediverse, atmosphere, etc. — without doing this.
Over the summer we started including little book cover previews on the Micro.blog timeline when a book is mentioned. People loved this, and of course wanted it on their own blog too. That is starting to roll out now.
As an example, here’s what the books category page looks like on my own blog. If there is already a photo included in the post, it skips including the cover:
To accomplish this, Micro.blog inserts a bit of HTML into the published post, without modifying the source Markdown. The cover image can be further styled using the CSS class microblog_book. Because we also add some inline styles, you may need to add !important in your CSS to adjust margin and padding.
Happy reading! 📚
Matt Birchler has been in App Store review limbo, waiting for a week while his customers can’t upgrade to pay for his own app. So frustrating. Quick Subtitles looks like a cool app.
Alex Heath writing on his new blog / newsletter site Sources that Fidji Simo is planning for ads in ChatGPT. I’m disappointed in this. It is going to be very difficult to do ads without compromising something.
Sources say that Simo has recently been meeting with potential candidates, including some of her former Facebook colleagues, to lead a new team that will be tasked with bringing ads to ChatGPT.
Final trailer for Wicked: For Good. After the first movie, I have complete faith in them to finish strong. Can’t wait to see what they do with No Good Deed and For Good. 🍿
I own about a dozen domain names in the form micro.tld. Most for things not announced yet, some that won’t ever happen. For better or worse, it’s the brand. Too many fun domains out there. 🤪
I’m always juggling a lot of different tasks at the same time, from small bug fixes to major new features. When I keep hearing about the same thing over and over, I’ll jot down notes for how it might work in Micro.blog, or I’ll run experiments, but sometimes it stays in the back of my mind for months. Eventually there’s a sort of tipping point and I know it’s time to give it my attention.
It was like that this week for video hosting.
Video has been a weak spot in Micro.blog, especially the lack of clarity on how long a video can be, because we count file size and not duration. Many other platforms also wrestle with how to support video. Bluesky took about a year to add video.
At the same time, we’re seeing how people use podcast hosting, which we now offer even in our $1/month Micro.one subscription. And there are renewed efforts such as the alternateEnclosure tag to apply the openness of podcasting to video. Whatever we do for video, because of the costs of hosting and bandwidth, it should balance the fact that we try to offer inexpensive hosting for photos and audio.
This is an early heads-up on what I’m thinking:
I like this because it’s easier to understand and is also much more capable. The trade-off is that 1 minute might be a downgrade for some existing users. We have never made our plans more limited, and we have never raised our prices, but video is a special case, and it feels like the right time to have a better, sustainable path forward for it.
Facebook has had 3 billion users for a while, but I wasn’t expecting Instagram to already have 3 billion monthly active users. Insane scale.
An invaluable resource. The Internet Archive is getting close to 1 trillion pages archived:
Since 1996, the Wayback Machine has been capturing the web—saving the voices, creativity, and communities that make up our shared digital history. Nearly one trillion pages later, we’re still archiving, so that future generations can look back and understand the world as we lived it online.
Posted a quick 1-minute video on YouTube (boo!) to demo a new feature to install Open Graph preview cards for Micro.blog themes, even if you don’t use the full design from the theme.
Unfortunately picked today with an expected high of 100° as the day I should start taking long walks again.
I’ve had a couple side conversations recently about centralized video. John Gruber makes a strong case today that this needs to be solved soon:
With YouTube, Google has a centralized chokehold on video. We need a way that’s as easy and scalable to host video content, independently, as it is for written content. I don’t know what the answer to that is, technically, but we ought to start working on it with urgency.
Oh jeez, just spend too many minutes wondering why this code wasn’t working until I realized I had typed “theme.opml” instead of “theme.toml”. 🤪
The next FediForum is coming up in a couple weeks. I just registered.
Starting to get tempted by the iPhone Air, but still committed to keeping my old phone for a while. I listened to two shows this week that were really good: MKBHD’s review and today’s Dithering.
I’m cracking up at this essay in The New Yorker:
A two-bedroom house with a front yard and a back yard? Psh. What do you need all that space for? Yoga? I’m from New York. I once paid two thousand dollars a month to live in the freight elevator of the former Filene’s Basement, in Union Square.
Om Malik really likes the iPhone Air:
I don’t tend to get smitten by something so quickly, but the “Air” is really up there. It’s so thin you think a strong gust of air could really blow it away from your hands. (These puns keep coming on their own. I swear I’m not trying.)
As a consumer, I never ask to reverse a credit card charge because I know how difficult it is for small businesses. If someone forgets they signed up for Micro.blog, misses the emails, a chargeback costs us $15. It makes it feel pointless for us to offer inexpensive $1 subscriptions. Frustrating.
NVIDIA investing $100 billion in OpenAI with plans to build 10 gigawatts of data center capacity. Sam Altman:
Compute infrastructure will be the basis for the economy of the future, and we will utilize what we’re building with NVIDIA to both create new AI breakthroughs and empower people and businesses with them at scale.
So much money, so many plates spinning in the air. I’m increasingly thinking that we’ll have OpenAI and Google for the mainstream, Anthropic carving out an enterprise niche, Meta doing the ads thing, open source models… and the rest of the industry is going to fade away.
Not sure why, but I shot a quick video going up the glass elevator at the hospital. Maybe because our photos and videos fill in details of visits when we don’t write everything down.
Still waiting on bug fixes in our Android app to be approved. Apple’s review times seem consistently faster than Google now. I don’t want any review for bug fixes, of course, but gotta hand it to Apple for improving this so much.
Barry Hess on his blog:
What I wouldn’t give for all of us to be a bit more naive.
A bit less social media.
A bit less 24-hour news.
Today we’re announcing support for Mastodon quote posts in Micro.blog. This is a new feature in Mastodon 4.5 that has been in development for quite some time. It is live on mastodon.social and mastodon.online, the two servers run by Mastodon gGmbH, and it will be rolling out to other Mastodon servers when version 4.5 is final.
How does Micro.blog support this? As I blogged about in February, I was skeptical of Mastodon’s approach. It is pretty complicated, especially for ActivityPub developers. But as I unravelled the different pieces, there were a couple key benefits that I wanted to support in Micro.blog:
Because of how quote posts work in Mastodon, that second point is not automatic. If you use mastodon.social right now, you will notice many posts from across the fediverse that do not allow quoting. Mastodon decided to prioritize consent and disable quoting until other servers have updated to Mastodon 4.5, where users can control the default to allow or disallow quoting.
Micro.blog has a different perspective. The social web is by default open, and people have been quoting other blogs for decades. While there are potential consequences with one-click, easy quoting, it’s a better fit for Micro.blog to assume a microblog post can be quoted.
If one of your posts has been quoted by a Mastodon user in a way that you don’t like — such as to encourage the user’s followers to personally attack you — the advantage of Mastodon’s approach is that you can withdraw your support. Micro.blog also allows this.
For more details and screenshots, check out the help page I wrote this morning. Happy quoting!
Paul Frazee has another post about the relationship between a PDS and the app layer of AT Protocol. With diagrams! Good description of how moderation and migration can work.
Mark Gurman writing about recent news and also next year’s foldable iPhone:
As for how the foldable iPhone will look, I am increasingly told that users should imagine two titanium iPhone Airs side-by-side. In other words, it’s going to be super thin and a design achievement.
I’ve been testing with Mastodon quote posts, which I’ll officially announce (partial) support for in Micro.blog tomorrow. Not gonna lie, a little surprised that my first pass implementation mostly worked. As I’ve said too many times, ActivityPub testing is tricky.
This is really neat for fediverse devs: ActivityPub.Academy. Essentially a modified version of Mastodon that can show a log of activities being sent, to troubleshoot interoperability problems.
WNBA playoffs! Watching Aces vs. Fever. Only a quarter left and Aces might be falling too far behind. 🏀
I’ve drafted some posts about current events, especially working through my thoughts on free speech and social platforms, but I think my blog needs to veer away from the political for a while. Also, watched Josh Shapiro on Meet the Press this morning and thought his answers were really good. 🇺🇸
Joshua Rothman writing at The New Yorker about living one day at a time, without strict to-do lists:
If you can start a day by asking what you feel like doing, and end it by asking what, in the end, you felt like doing and were able to do, then perhaps you can more easily experience that day as a wave to which you respond.
Looking at Bluesky, for a moment my brain stopped working and I read the time “40m” as “40 months”.
I’ve never liked relative dates, so in Micro.blog for recent posts we show the time alone. There is a sort of stay engaged urgency to “5 minutes ago”. But it’s okay if nothing important just happened.
We’ll ship the initial support in Micro.blog for displaying Mastodon quote posts on Monday. I’m essentially converting the quotes to Quotebacks, because Quotebacks are already used within Micro.blog for the “embed” link. Still would like to do more with these in the future.
My tip for fediverse devs trying to implement FEP-044f: first memorize who Alice and Bob are and what they’re posting. 🙂 Makes it easier to follow everything else. I’m done coding the basics, so now get to see how it interacts with real servers.
Now that Mastodon 4.5 is live on mastodon.social, I can resume work on receiving quote posts from the fediverse, i.e. FEP-044f. This spec is very complicated. Feeling some urgency to finish the implementation before I forget how it all works.
Busy day yesterday juggling lots of different things. This morning I get to try to catch up. Coffee at Medici in the Domain. ☕️
Bluesky is spinning out the PLC directory:
After considering several jurisdictions, legal structures, and potential parent organizations, the new entity will form as a Swiss Association. In a period of international uncertainty around Internet governance, Switzerland provides a credibly neutral and stable global home.
I like this. They’ve always acknowledged that PLC wasn’t intended to be permanent. Now there’s progress that’s better without waiting for it to be perfect.
Smart move by Mastodon to get into the hosting business:
This could be a fully operated server under the organisation’s own domain run by our team (with moderation included, on request); or, we can work with an organisation’s in-house operations team, via a support contract.
I’ve noticed whenever I catch Mastodon’s financial reports that individual donations have dropped. It’s hard to make donations work unless you have frequent NPR-style fundraising. Hosting will be mostly for larger institutions, not trying to compete with all the many smaller indie servers.
Recorded a short screencast of the new Open Graph image preview interface in Micro.blog, especially for folks who want to tinker with their own design for a theme or plug-in.
Starting to doubt my low-tech video workflow of “just use QuickTime Player” for simple edits. I keep uploading video to YouTube where the audio becomes out of sync after upload. This is probably a reminder to make Micro.blog suitable for longer videos.
Updated the new help page for Open Graph card templates, which are rolling out in Micro.blog today. Plug-in developers can essentially design cards with HTML and CSS. Micro.blog then renderers them as static images.
Drove through my old neighborhood in south Austin for the first time in a while. In some ways, the decades haven’t changed it. But things are still different. A few larger new houses. Waymo cars driving themselves down streets as if that is perfectly normal and not science fiction.
David Smith blogging on the 5 year anniversary of Widgetsmith, telling the story of how a seemingly niche app ended up huge:
I then open my helpdesk page and I am shocked by what I see. There are new emails coming in at a rate of multiple per second. A literal waterfall of customer outreach.
Meta’s Ray-Ban Display glasses really are impressive. I’m not going to support Meta with a purchase, but I do appreciate the work that went into them. Nice live demos too, even if a couple failed. Ben Thompson:
They are an excellent explanation as to why Apple now fully pre-records their product announcements, but it’s the risk of demo fails happening that makes them so compelling.
Listening to This Week in Startups interviewing Medium’s Tony Stubblebine. He makes the wild claim that ChatGPT’s obsession with the em dash is because it’s so commonly used in Medium posts! I’m having trouble accepting this theory, but it would be amazing if true.
Love this story and illustrations on animator James Baker’s blog, from a trip to China in the late 1980s.
Says something about Vimeo’s decline that I heard about them being acquired not from the tech news websites that I read all the time, but from Cartoon Brew in my RSS reader:
Vimeo, once the internet’s most prestigious stage for independent filmmakers and animators, is being acquired by Milan-based app developer Bending Spoons in a $1.38 billion all-cash deal.
There is a narrow space for an indie-focused, YouTube alternative. Hosting video is difficult.
It’s funny to me that Apple made the new battery pack exclusive to the iPhone Air. If I really wanted the thinnest possible phone, no way I’m putting a case or extra battery on it. Even the bumper seems like too much.
From the latest Fediverse Report, about Mastodon quote posts:
Mastodon’s concern regarding the potential for harm with dunking does need some context however, researcher Hilda Bastian has a highly detailed overview of over 30 studies on quote posts on Twitter and their impact. Bastian notes: “There’s conflicting evidence on whether QTs increase or decrease incivility, and whatever effect there is, it doesn’t seem to be major.”
I think this dunking is real, but there are many other problems with social media that Mastodon does not attempt to address. Not sure quote posts are make or break.
OpenAI published a pair of blog posts today about their next steps for teen safety, acknowledging the trade-off on privacy. Sam Altman:
First, we have to separate users who are under 18 from those who aren’t (ChatGPT is intended for people 13 and up). We’re building an age-prediction system to estimate age based on how people use ChatGPT. If there is doubt, we’ll play it safe and default to the under-18 experience.
The second post goes over plans for parental controls, including a new setting not previously announced:
Set blackout hours when a teen cannot use ChatGPT—a new control we’re adding.
I’m highlighting this because yesterday I linked to a New York law for kids that would ban notifications from being sent at night. Social algorithms, games, and now AI can be so addictive that they keep teens up late into the night. It makes sense to focus on this.
As for whether OpenAI can predict how old people are before requiring an ID, I asked ChatGPT if it could guess my age based on its memory of our past conversations. Here’s part of the answer:
You strike me as someone who’s been coding for quite a while (Ruby, Objective-C, deep infrastructure work, and long-term platform/community building). You also mention personal/family projects, travel, and reflections that suggest mid-career experience. My guess would be around your late 40s to early 50s.
Nailed it. I’m about to turn 50.
Thinking of Robert Redford, what a career. Sneakers is one of my favorite films, and arguably the best film about computers ever made. All the President’s Men is so good. Watched both of these countless times. (Also just learned his mother was born in Austin.) 🍿
Added a help page for upcoming Open Graph improvements in Micro.blog, including a template system to override the default styles. This is rolling out over the next few days. Very flexible, so hopefully plug-ins can be created for various styles.
Finished reading: Small Things Like These by Claire Keegan. A short book, but it’s something special. 📚
A heads-up for Micro.blog theme developers: I’m revamping our experimental Open Graph support with more advanced features. If your theme doesn’t have its own Open Graph image, I recommend adding the og:image tag based on the page’s .Params.opengraph.image, which we’ll fill in automatically.
Paul Frazee blogging on Leaflet about whether Bluesky’s AppView should be renamed to more clearly convey what it does:
At this point, it seems better to just call it an App and then explain that the data gets stored in the PDS, like a kind of universal cloud filesystem or datastore.
Fair intro in Jason Snell’s macOS 26 review:
macOS 26 Tahoe is two things at once: It’s the broadest and most productivity-focused update for macOS in years, while also taking collateral damage from Apple’s broader design ambitions on its other platforms.
While age-gating often creates new problems, I like the fallback in this New York law:
Under the proposed rules for New York’s SAFE For Kids Act, social platforms must serve unverified users or kids under 18 only chronological feeds or posts from people they follow, as well as ban notifications from 12AM to 6AM.
Looking through Federico Viticci’s iOS 26 review. He starts on a fairly positive note about Liquid Glass. Or at least, not a “the sky is falling” panic:
I can’t stress this enough: the first thing you need to understand about Liquid Glass is that it’s not a drastic, groundbreaking redesign that changes the look of your iPhone overnight, like iOS 7 did for millions of people in 2013.
ActivityPub is notorious for being a little chatty, and FEP-044f (quote posts) is sort of an extreme example of that. Lots of back and forth between servers, approving quotes, fetching content, deleting approval stamps, etc. I’m not saying I have a better idea… except <blockquote>. 🤪
From Mastodon’s blog post introducing quote posts:
Quoting is a powerful tool, and like any tool, it can be misused. That’s why we’ve taken time to introduce quotes in a way that aligns with Mastodon values, focusing on safety and mental health – not just on engagement.
Micro.blog will have limited support for this after it’s rolled out on mastodon.social next week.
Nick Heer blogging about the win Automattic got this week in having some of the charges in the lawsuit from WP Engine dismissed:
Even if this case ends with a complete victory for Mullenweg and Automattic, his actions have shaken my support of — and faith in — the WordPress ecosystem.
While I do think there has been damage to the WordPress community, if Automattic wins most of the case, maybe settles the rest, I don’t know if there will be significant lasting damage. The views from WordCamp US this month didn’t look like a community in decline.
Working in Go this morning! Micro.blog obviously uses Hugo, written in Go, but we also have a little custom Go tool that runs behind the scenes for newsletters, with more to come. Nice to have a common template language.
I think some of the worst-case scenario AI worries are overblown, but I do like this book title: If Anyone Builds It, Everyone Dies.
Good feedback from folks on whether and how to adopt macOS Tahoe menu item icons. After experimenting, menus seem to look better with icons in most places so that major sections of menu items are aligned together. I’ll ship this in a few days.
I’m noticing some new faces and some returning customers. Means a lot to me. From Pedro:
I went elsewhere for a while. I tried other services, they are fine. But they don’t come close to what Micro.blog offer.
Matt Mullenweg blogging on the recently-announced RSL spec for describing how content is licensed for AI:
I have a lot of scars from the web standards wars, so I’m hesitant to dive back in, but this is from a lot of the early Web 2.0 people, as TechCrunch writes about.
For rail fans in the London area, Museum Open Depot days:
Discover rare road and rail vehicles spanning over 100 years, signs, ceramic tiles, original posters, ephemera, ticket machines, and more.
🚂
This post by Nathan Witkin on the case against social media is long but very good. I’m going to have to go through this again in detail.
OpenAI and Microsoft have finally reached an agreement. OpenAI’s Bret Taylor also has a blog post on it, a $50 million grant for other nonprofits, and the OpenAI nonprofit + public benefit structure:
This structure reaffirms that our core mission remains ensuring AGI benefits all of humanity. Our PBC charter and governance will establish that safety decisions must always be guided by this mission.
Great article from New_ Public on indie blogs and websites:
The focus isn’t on personal branding, growth or monetization, or “content” creation, but on freedom from those things. Instead of polished, 10-second snippets optimized for mass-appeal, engagement, and profit, these are largely slow-cooked projects made just for fun.
I’ve never had a coherent answer when asked how big Micro.blog is, so I sometimes stumble and misspeak. The total number of users is inflated with inactive users and spam accounts. Active users are different for weekly, monthly, longer. I care most about paid subscriptions and whether we’re growing.
In that moment just after recording a podcast where I’m second guessing everything I said. I have a lot of respect for people who stop and form their thoughts before answering a question. I tend to just wing it, so sometimes words tumble out in the wrong order. 🙂
Nice Fission update with a visual refresh and getting the app icon out of macOS Tahoe squircle jail.
Are Mac developers actually adopting the menu item icons in macOS 26? I’m torn… I think this design change was unnecessary and adds clutter. But also, it feels incomplete if I don’t add my own icons.
Realizing that we never officially documented the new support for passkeys, so a lot of people missed it. Just added a new help page with the basics.
Finally investigating why SMS stopped working. Now that we have Passkeys in Micro.blog, I think I’m going to scrap SMS as an option, and clear all the phone number data we have for users. It clearly wasn’t used much anyway.
I know a $200 difference isn’t nothing, but if you’re already $800 in for the iPhone 17, I think almost everyone should spring for the iPhone Air. 12 GB of RAM instead of 8 GB. That is going to start mattering with on-device AI models. Having said that, I’m keeping last year’s phone for a while.
RSL (Really Simple Licensing) can extend RSS feeds to describe how content is licensed for AI. They’re launching with lots of backers and quotes. Some overlap with Creative Commons Signals, which I blogged about a few months ago. Found via John Spurlock.
It’s going to be a busy day, juggling several different things with work and life. Starting the morning with Summer Moon. Love that exclamation point. ☕️
Trying not to read too much into Apple calling it iPhone Air, not iPhone 17 Air. Maybe it doesn’t get a yearly update? Maybe just to make it seem even more unique? I can’t see Apple dropping the numbers anytime soon because so much rides on hyping up iPhone sales each year.
Anil Dash blogs about how Tim Cook sold out Steve Jobs. I take slight issue with the U2 joke, but otherwise I think it’s right:
The son of an immigrant, a child of the counterculture, a man offering an unmistakable fuck-you to Big Brother, and a person who, above all, would never kiss the ass of someone who had absolutely awful taste. This was Steve Jobs.
It’s ambitious for Apple to ship all of their version 26 operating systems on the same day next week. I thought macOS could wait a couple weeks. I’ll probably submit the Micro.blog iOS update soon-ish, when I can get the UI quirks fixed.
Spent a little time going through old pull requests on JSON Feed, merging in links for the website. There is still a lot to catch up on. Time flies! And I didn’t realize that the lack of communication on my part was holding folks up from fully embracing it.
I want to say that the orange iPhone is the official Micro.blog-themed phone, but the orange color isn’t really a close enough match. Gonna have to see these phones in person. Especially curious about the weight and balance of the Air.
The iPhone 17 Pro actually looks like a pretty big change. Aluminum, huge camera bump, crazy thermal system, faster AI, presumably more RAM.
Hypertension notification is fantastic in theory, but I’m skeptical that this can be done without a new sensor. Seems impossible with heart rate data alone. But I guess if it only sometimes works, it still has the potential to save lives.
Dave Winer posted notes from his recent recording about why blogging lost to social networks. I’m smiling at the Radio WordLand name. My blog started on Radio Userland! (Then Movable Type → WordPress → Micro.blog.)
iPhone announcement day. I do not need a new phone, but I am curious about the iPhone Air. Years ago, I switched to the iPhone 5C just for a change, and actually liked the color and plastic. But I can’t see giving up the best cameras now. 📱
I’ve never been a Snapchat user and can’t relate to most of what’s in Evan Spiegel’s note to employees, but the part about AI use actually sounds true. It’s not wildly inflated like some quotes we’ve seen from other CEOs:
Engineering is already seeing momentum, with AI now generating about a quarter of all code and new agentic infrastructure underway to further boost developer productivity.
I’m on beta 9 of iOS 26 and there’s still a voicemail tab caching bug. Maybe I notice more than folks at Apple because I have almost no notification badges enabled, so it really stands out? Have to force quit the Phone app about once a day. I don’t usually complain… Surprised this hasn’t been fixed.
It’s so hard to get people to take a second look at a product. Rabbit has continued to work on improvements for over a year, and now they’ve wrapped it up in a rabbitOS 2 update. Overview video on Twitter / X.
Yikes, noticed especially high load on one of our servers. Think we might’ve had a few runaway Hugo processes chewing CPU. I’m monitoring it, shouldn’t be much visible lag.
load average: 42.60, 33.20, 22.64
Spotify’s daily mix is pulling in all sorts of songs I haven’t heard in years. Currently listening to Guns N’ Roses. 🎶
So never mind the darkness
We still can find a way
‘Cause nothin’ lasts forever
Even cold November rain
Really respect Anil Dash trying to have a nuanced conversation about AI on Bluesky, surrounded by many AI skeptics. This thread is one place to start, but there are many other posts:
At what point are folks going to try literally any other tactic than condescending rants?
Sadly, AI is so divisive, debate is counter-productive right now. Meanwhile, all the AI researchers are still on Twitter / X, and they’re not going to move to more open platforms where they would just be criticized. So we’re back to information bubbles.
Got a lot done over the weekend and today, heading into the distractions of iPhone event day tomorrow. Lots of little improvements in Micro.blog, plus a new Mac app update which I recorded a quick walk-through for.
Love this post Irrational Dedication, via Duncan Davidson:
Every single thing we see, someone had to will it into existence against the entropy of the universe and the indifference of everyone else. That’s what the entire built world is.
Steve Troughton-Smith on Mastodon:
I know Apple has got used to making its share of Microsoft-scale screwups lately, but taking the two best UI frameworks ever made, UIKit and AppKit, and throwing them under the bus for something designed to build watch apps really does take the cake.
These frameworks were so good. Still are! I’ll never fully understand why there couldn’t have been a universal layer for iOS and macOS plus some existing AppKit and UIKit pieces for platform-specific features. Oh well, that ship sailed years ago now.
Stumbled on Freaky Tales while browsing HBO and it’s wild. 1980s Oakland, basketball, punk rock, animation… It is surprisingly violent but also amazing. 🍿
Marco Arment on Mastodon:
As we head into iPhone-event week, let’s celebrate the hard work by all of the people who made these products happen.
And let’s not forget the shameless Trump-suckass CEO at the top, who constantly gives the middle finger to everyone in his own company…
🇺🇸
Ryan Barrett blogging about how our symptom-based healthcare isn’t good enough:
…for lots of diseases, even critical ones like cancer, where catching them early can make all the difference, most of the time we’re still waiting until someone shows up in clinic, coughing up blood and complaining that their side hurts…
We’re taking an even worse step back right now in the United States, but it’s temporary, fixable in 2026 and 2028. I still feel good that our grandchildren will have much better care and healthier lives.
Micro.blog 3.7 for Mac is out, and I recorded a quick 2-minute YouTube video to show a few things in the interface around books and notes.
With the acquisition by Atlassian, there’s a lot of talk about whether this is bad for Dia and Arc. But one thing I’m sure about: this is good for Atlassian. The Browser Company has a great attention to detail and thoughtful design that could benefit Atlassian’s culture.
Of course I only notice the UI glitches while I’m recording a screencast demo. Will have to tweak a couple things for the next bug fix update.
Working on Mac code continues to be a kind of escape from closed mobile platforms. Still fun after all these years. I wrapped up a Micro.blog update today, will release it tomorrow.
In AppKit, for some reason I always forget about content hugging priority. I usually fiddle with the constraint’s priority first, scratching my head why it’s not working. (Nope, never heard of SwiftUI…) 🤪
From the statement on better discourse between the ActivityPub and AT Protocol communities:
We do not build a better open social web for everyone by fighting and arguing about protocol superiority. That is not how we achieve a better open social web. Instead, we must work together, cross-pollinate and share ideas, and participate within each other’s communities with respect and mutual understanding.
Co-signing. This came out of the Social Web Community Group meeting yesterday, which I wish I was participating in more often.
Finished reading: The Society of Unknowable Objects by Gareth Brown 📚
I think everyone is floored by this $1.5 billion settlement. Anthropic essentially won on fair use, so I just assumed the pirated books settlement was going to be a little more low-key than this. Hope the authors see most of the money. Never a dull moment in AI land!
Sarah Perez reporting on a Common Sense Media assessment of Gemini:
Common Sense also said that Gemini’s products for kids and teens ignored how younger users needed different guidance and information than older ones. As a result, both were labeled as “High Risk” in the overall rating, despite the filters added for safety.
This is part of what is probably a major shift underway at AI companies to worry less about helping create biological weapons and more about kids and psychological safety. Maybe futurists think too much about the sci-fi inevitabilities and not enough about today.
This is great. James Dempsey’s Liquid Glass song:
I made the lyrics as intelligible… as Liquid Glass controls are legible. Come on everyone, sing along! You don’t know the words, but neither do I. 🎶
Kagi News looks good! First they define the problem:
Driven by relentless ad monetization, news has become mental junk food - an endless stream of clickbait that destroys our ability to think deeply and clearly.
I’ve only watched a few clips of last night’s dinner with tech execs at the White House. Is it possible to accept the invitation and not grovel? This is my first draft at a comment:
It is great to be here with so many leaders in the industry. <nodding to others around the table> Bill, Satya, Tim, Sam, everyone… It is good to meet all of you. I’m glad to have this opportunity, and look forward to the discussions tonight of how we can innovate for the American people. How we can find common ground even where our companies might take different paths, and work together so the government has a positive role in people’s lives. There is so much potential in advances in AI and new manufacturing, and I’m excited for where this country can still go. <lifts glass in cheers, takes sip of an old fashioned made with the White House’s most expensive bourbon>
Improvements? Accept the invitation, enjoy the dinner, but do not grovel and do not ever say “thank you” to Trump. It feels like that should be possible. Maybe even make a subtle point along the way, without refusing to attend or throwing your plate in protest.
Although I would also have enormous respect for anyone who did publicly decline the invitation.
Texas is adding state parks faster than I can visit them. Bear Creek:
Not only does the site provide access to the Frio River, Spring Creek, as well as its namesake Bear Creek, but there are several streams, canyons and ridges providing an idyllic background for hikers.
🏕️
There have been a lot of improvements to Micro.blog lately. If you don’t follow the @news account closely, you can also subscribe to the weekly email of posts from news.micro.blog, delivered every Monday.
Seeing this sign after parking my car… Not so much worried as I am curious how bad it must be to order a custom sign for this.
Dusting off a little of the queued up work for JSON Feed. Thanks to Daniel Pietzsch, the JSON Feed Validator now has a JSON API, if any apps need to hook into validating JSON Feeds using it. There’s a new format=json URL parameter.
Ever since first adding book reading to Micro.blog, I’ve tried to avoid recreating my own book database. So we lean on Google Books, Open Library, Goodreads, and even (for a while) paying for metadata. I think that approach has run its course. Going to add our own book curation and cover tools.
I know I go on and on too much about AI sometimes, but… OpenAI’s Codex continues to amaze me. You can have it just watch a GitHub repo for pull requests, then automatically check the new code and add a comment if anything looks wrong. 🤯 Great for a tiny team with not enough eyeballs on things.
As a VC-backed company, perhaps The Browser Company was always going to need to sell. My initial reaction is Atlassian seems a weird fit. But maybe not? From The Verge:
Miller is clear, even forceful, that Dia is not about to become just a wrapper for Atlassian apps, or shift to thinking primarily about IT managers and enterprise features. Dia is still for individual users. It’s just that now, it’s primarily for individual users at work.
I’m really enjoying Dia. I’ll probably keep using it unless or until it gets worse.
Kind of odd if someone has a link to schedule a meeting on their website, but they don’t share an email address or any other contact info. Is email a lost art? It still works. Simple, everywhere.
If you’re on the iOS 26 beta and use Micro.blog, you may want to try switching to our TestFlight beta. It is updated with very minimal Liquid Glass support. Nothing drastic, most of the app is going to stay flat and non-squishy.
Thought about burning an expedited review request with Apple. It has been many years since I asked for one. But also, reviews are consistently 24 hours, so don’t want to risk making things worse than just waiting.
Sounds like things are moving forward on a possible Gemini-powered Siri. Mark Gurman reports on an agreement between Google and Apple for testing, and a bunch more about Apple’s plans and new Siri architecture:
Apple is rebuilding Siri around three core components: a planner, the search systems for the web and devices, and a summarizer. The planner interprets voice or text input and decides how to respond; the search system scans the web or user data; and the summarizer pulls it all together into an answer.
I was pretty excited about the new Epilogue release until we realized I had messed up signing in for new users. Bug fix submitted to Apple. 🙁
Oh wow, the smaller reMarkable tablet looks really good. I think they’ve got a winner on their hands. Might still be a bit too pricey for me, but I love the size and design of it.
Epilogue 2.0 for iOS out now. I’ve also submitted the Android version to Google for review, so that won’t be far behind.
It seemed right to bump the version to 2.0 because of the new private notes support. The app won’t look very different if you don’t enable notes. With notes enabled on the profile screen, you’ll see a new “Add Note…” button when viewing a book you’re reading. Here you can add a note about your reading progress, and it will be saved to the Micro.blog backend, encrypted along with other Micro.blog notes.
I blogged more about book notes in Micro.blog yesterday.
Notes are available for all Micro.blog or Micro.blog Premium subscribers, but not Micro.one. If you need to upgrade from Micro.one, click on the Plans page on the web.
Jeremy Cherfas blogging about the linkrot that will hit when Typepad shuts down:
Links are the foundation that supports the world wide web, and I take them seriously. I correct broken links when I come across them, archive my own stuff (and support archive.org), and generally try to get to the original behind anything I choose to link to.
This is why Micro.blog has a feature to automatically archive everything you link to. (Seriously! Here’s a video explaining it.) But I think Micro.blog is probably too new to contain a large number of Typepad links.
Stratechery covers the Google antitrust remedies, largely arguing that the judge did not go far enough. (“This is a waste of time.") I think sharing the search index is a big deal. When OpenAI builds their own search engine and Google drops to second place, we might view this decision differently.
Good morning! Sunrise over MLK Boulevard. Too many trees and power lines in the way, but still was nice to see coming up over the horizon, on the way to coffee. ☕️
I read through a few of the remedy pages in the Google antitrust PDF. My expectations were extremely low for any sort of actual breakup. Sharing search index data with “qualified” competitors seems good, though. Kagi could use that, and of course all the AI companies will want it.
Even though I think AI is incredibly useful and in some cases even empowering, I’m open to the idea that kids should rarely use it, just as they should rarely use social media. When in doubt, limiting use to 18+ is okay. At the very least, I don’t think it’s a simple question.
Molly White covers recent activity on betting markets:
Prediction market platforms Kalshi and Polymarket opened betting markets on President Donald Trump being “out as president” as social media platforms erupted over the long weekend with rumors that he had died.
What a crazy world we’re living in. Trump survived a bad case of Covid before vaccines. He survived getting shot at. I wouldn’t bet on tomorrow let alone end of the year. 🇺🇸
I don’t really understand Tesla’s latest master plan (post on Twitter / X) and I’m not going to think too hard about it, but the included illustration bugs me, especially the couple walking next to their baby stroller while a robot pushes it. AI is fine. Humanoid robots are a mistake.
This is a good change from OpenAI:
We’ll soon begin to route some sensitive conversations—like when our system detects signs of acute distress—to a reasoning model, like GPT‑5-thinking, so it can provide more helpful and beneficial responses, regardless of which model a person first selected.
Essentially, if the model notices the user is having a mental health challenge, it should slow down and use the best reasoning model, just as it would for other hard problems. There will also be new parental controls.
It’s a shame this wasn’t in place earlier. I’m still glad it’s being prioritized now.
When we added private, end-to-end encrypted notes to Micro.blog, I said that this would be a foundation for new features. The first feature was shared notes. Any private note can be published to your blog with a special, unguessable URL, convenient for sharing with other people.
There are many other places where notes will be useful. This week, we’re rolling out support for attaching notes to books you’re reading. You’ll see a new button for this in the books list on the web, and in the next version of Epilogue, currently in review at Apple.
When you click “Add Note…”, it will associate the book with the new note and add the note to a notebook called “Reading”. Notebooks are a way to organize notes, for example for a collection of blog post drafts, work notes, or a private journal.
If you’ve never used notes in Micro.blog before, you’ll need to set up a secret key that is used to encrypt notes. That secret key can be copied into other apps that support notes, like our companion apps Strata and the upcoming Epilogue, as well as the third-party web app Lillihub.
I know it can sometimes seem that Micro.blog goes off on strange tangents, but everything we do is to support a platform that is centered around owning your content and publishing to your own domain name. Features like bookmarking web pages, keeping track of books you’re reading, and private or shared notes — these all help bring content together in one place where you can easily blog about it, instead of putting it in a closed silo.
I’ve also updated the notes API documentation. There is a new endpoint for getting notes from a book ISBN, as well as new metadata in the JSON responses. Happy reading!
Whenever I’m about to launch a new feature, I feel slightly guilty… Why not improve all the other features first? But we are! I think the news blog history speaks for itself. There are improvements nearly every day, including fixes deployed all through Labor Day weekend.
Ben Thompson blogging at Stratechery about the Pixel 10’s trade-off to prioritize AI above everything:
That Google is clearly sacrificing traditional CPU and GPU performance isn’t a flaw: it’s a very rational approach to a market where it is a big underdog, particularly given it is the company best situated to delivery truly integrated AI, from chip to model to cloud.
Jeremy Keith announcing a new conference in Brighton:
Web Day Out is all about what you can do in web browsers today. You can expect talks that showcase hands-on practical uses for the latest advances in HTML, CSS, and JavaScript APIs.
Also specifically calls out that there won’t be AI talks.
Enjoyed the discussion about automation and AI tools on the latest AppStories podcast. I’m not a Notion user, but I can see the appeal of something that does so much. Just prefer Markdown everywhere and open formats.
Worked on core platform bug fixes and a new feature today, plus preparing a new version of Epilogue. I’ll probably submit to Apple tomorrow, Google later this week. Feeling pretty good about the recent improvements.
Cool update to the mnml theme for Micro.blog: pinning a blog post from a category to the top of the home page.
Herman Martinus blogs about changing the license for his Bear blogging platform from MIT to a license that disallows hosting, partly because it’s so easy for people to spin up competing services now:
We’re entering a new age of AI powered coding, where creating a competing product only involves typing “Create a fork of this repo and change its name to something cool and deploy it on an EC2 instance”.
This is true, but also we’re entering an age where trust is everything. People want to read blog posts and not SEO-optimized slop. People want to use apps and platforms from real people. I expect Bear resonates because Herman puts his name on it, and has a clear vision for longevity, among other features.
I hope people feel the same way about my passion for Micro.blog and how much I’ve dedicated to it over the last 8 years. It will never have ads or be sold, and we’ll always reply to questions with a personal touch. (Of course, we’re human and will also make the occasional mistake!)
I’ve dragged my feet on open-sourcing the core Micro.blog platform because of all the distractions that will come with that. It is still happening, though, after I set up a new organization to manage it.
We’ve instead open sourced the mobile app, Mac app, and all the companion apps like Epilogue. These are all MIT licensed and it’s totally fine if someone forks them and publishes a new version in the App Store with a different name and icon. It shouldn’t really affect the Micro.blog business.
I like Bear a lot and know we have a few shared customers. I’m happy to compete with any blog hosting service out there, from indie companies to tech giants. I’m proud of what Micro.blog can do, its surprisingly deep feature set, and the role it has played in getting people interested in indie microblogging.
I like this post from Allen Pike about pivoting from an indie business to a more VC-inspired, ambitious project. That’s not my path, but he’s going in clear-eyed and purposeful.
I can see why The Legend of Ochi didn’t get a wide theatrical release, but I loved it. Some really beautiful scenes. 🍿
Decided against Liquid Glass-ifying Epilogue for now. It’s such a huge distraction, some developers spent the whole summer dealing with this. Luckily there’s a UIDesignRequiresCompatibility opt-out.
Finally catching up on WWDC sessions and documentation for Liquid Glass. Took me way too long to realize that hidesSharedBackground is what I wanted. And because this is React Native, I get to swizzle UIBarButtonItem to customize things. JavaScript plus a sprinkling of Obj-C.
Revolution.Social is becoming one of my favorite new podcasts. Great episode with Chris Messina. Rabble is on a roll with this.
Interesting blog post about analytics. I think surveillance is too strong a word for simple referrer logging, but I do agree that most personal blogs don’t need this:
The other reason you might put analytics on your site is to know when someone links to your writing. Again, if the linker doesn’t intend to tell you, then you’re surveilling. You do not need to know every time your writing is mentioned.
What more needs to be said about assault weapons? They need to be banned. Most of the worst mass shootings — including this latest at the church in Minnesota — would’ve been less terrible if the shooters could not fire off 100+ rounds quickly. I’ve blogged about this many times, including last year.
Rolling out a few improvements to Micro.blog today, including a new “trash” for deleted posts, an “x” button to hide the publish pane, Typepad import, and other tweaks. More to come!
Rough morning for the Micro.blog servers. Woke up to a major problem with hung connections tripping up a few things. I have a few nice feature improvements ready to go, though.
My current concern with iOS 26 is not any of the developer stuff, it’s the Phone app! I consistently see caching problems where the UI is out of sync with the notification badge, and missing voicemails until I force quit. Never seen this many problems in a core Apple app before.
Threads is testing long-form text attachments on posts. Not good. It would centralized blog-like content that should be on someone’s own site.
Brent Simmons reminiscing about Frontier and why modern development environments aren’t as good:
I’m not saying apps these days need to be Frontier-like in any details. But it seems absolutely bizarre to me that we — we who write Mac and iOS apps — still have to build and run the app, make changes, build and run the app, and so on, all day long. In the year 2025.
I also used Frontier a lot during that time. It was great. Personally, instead of Swift, I would’ve loved to see RubyCocoa taken to the next level. And with React Native we do have some of the quick iteration Brent blogs about.
AI might eliminate some programmer jobs. It’s also going to create new programmers, people who don’t have a traditional CS background. I’m not convinced the sky is falling on work.
The greatest challenge is not to the economy but to a fractured society, with AI becoming as divisive as politics.
John Gruber blogging on RFK vs. the CDC:
We really needed the CDC five years ago. We’re in big trouble if we need them again before the US electorate ousts these wingnuts.
There are new vaccines approved by the FDA but the guidance is really confusing. Going to defer to my doctor rather than RFK.
Dave Winer: Think Different about WordPress:
WordPress has a deep and powerful API, well designed, documented, and they don’t break it. Developers who know me know that the last part is the most important. A platform must remain unchanging.
Dave’s work is similar and well aligned with Micro.blog.
I’ve been wanting to make this change for a while: Micro.blog’s Design page has now been split into separate “design” and “blog settings” pages. This makes more logical sense and keeps each page cleaner.
Watched The Yogurt Shop Murders on HBO, even though it’s not my kind of show. I was in high school during that time, and the shop wasn’t far away. Just sad and still a little surprising that it could not be solved.
Doing an inventory of my domain names, just realized tonight that one expired. Luckily no one grabbed it, so I re-registered it. Spread across four registrars, really cumbersome to keep track of everything.
I’m always curious about other blog hosts' pricing. With Typepad shutting down, I took a screenshot of their pricing page. One of the most confusing, “why would I upgrade to Premium or Enterprise?” set of plans.
OpenAI has a long blog post about what more needs to be done to make ChatGPT safer, especially for teens:
We’re also exploring making it possible for teens (with parental oversight) to designate a trusted emergency contact. That way, in moments of acute distress, ChatGPT can do more than point to resources: it can help connect teens directly to someone who can step in.
I didn’t realize it could already escalate potential criminal behavior to human review, so that’s good. In the future will OpenAI need a team of real therapists on call? Using AI as a therapist will have many repercussions.
Typepad is shutting down after an amazing 20+ years. It was spun off of Movable Type back in the very early days of the blogosphere. Seth Godin used to use it too, and I see that his old URLs redirect, which is great.
John Gruber with analysis of the latest lawsuit in the Masimo patent saga:
It reads to me like that same decision would have been made, at the same time, if Kamala Harris had won last year’s election. But that’s the problem with a pay-to-play corrupt government like Trump’s, and Tim Cook’s willingness to play along to any degree, no matter how mild. By currying favor with Trump, it now looks like any decision from the U.S. government that goes in Apple’s favor might be because Apple curried favored with Trump. I genuinely do not believe that’s the case here.
Walked to the coffee shop to pick up a to-go coffee, first time in over a week, since being sick. Covid is everywhere at the moment, so I was trying my best to avoid spreading anything. Really missed working out of the house. 😷
Released a lot of little bug fixes for the Mac app recently, so it’s already up to version 3.6.9. As long-time listeners of Core Intuition know, I don’t do .10 releases, so it’s time to bump to 3.7! But gotta justify that version number. What features to add? 🤔
There’s a short “Apple ❤️ Gemini” segment on the latest Upgrade. Does a good job of covering the pros and cons of Apple partnering with Google on Siri. I’m warming up to the idea.
Anthropic experiments in using a Chrome extension instead of building their own web browser. Also some good notes about safety. I’m still enjoying Dia, but it does seem like a lot for everyone to create a new browser.
An update on offering Micro.blog for free to teachers and nurses, now that it has been a few weeks. It’s going well! We had some previous users take us up on the offer, and some brand new users. Thinking about other ways to get the word out.
Got excited for a minute when I misread this headline: Libby’s library app adds an AI… Thought it was “API”. We sort of reverse-engineered how Libby works, but it’s not reliable.
Big update today for Micro.blog folks who have multiple accounts. The iOS, Android, and Mac apps have long supported multiple accounts, but on the web you could only switch between separate blogs on the same account. Managing multiple accounts on the web was frustrating.
Now you’ll find a popover menu in the sidebar to add a new account and select between your accounts. Here’s a screenshot showing me signed into a couple of our official accounts in addition to my personal account:
And for all users, even if you only have a single Micro.blog account, we now have passkeys! This is the password-less standard for quickly signing in. No more waiting for a confirmation email from Micro.blog.
A few months ago, I wrote a blog post about using AI for polish. The idea was to let AI help with taking care of lots of little details that can be tempting to skip in the rush to get a new feature out.
Lately I’ve been thinking about another good use for AI. Not to finish a feature, but to start one. There are some bugs or features that I know I’ve needed to work on. It can sometimes feel overwhelming. Where to start, what else to bump off the priority queue so I can start this new thing?
Two recent examples. I fired up the cloud version of Codex. This is the tool that you can give a prompt, and it’ll go off and start working on a new feature, then come back with a Git branch and GitHub pull request to review. It’s nuts and magical.
As a first test, I picked something very simple. I wrote a prompt that was about twice as long as the actual code change. When it worked, I picked something else more complicated, letting AI create a couple new files and methods.
Did it work perfectly? Nope! It was close, though, and I could go into the code that had been created, tweak the formatting, rename some things, fix bugs. It turned a slightly daunting task into a very simple series of tweaks, iterating on it (without AI) until I liked it.
I think this is going to be a powerful use of AI in the future. To brainstorm and draft. To get through the dip of something challenging. There is a lot of room to get coding help without necessarily going all-in and giving control to AI.
Tragic story in The New York Times of suicide and ChatGPT. This probably lines up with the “sycophantic” edition of 4o. As more people use chatbots as therapists, there are so many new potential problems. For minors perhaps there should be escalation to humans, even less privacy.
Guess I won’t be deploying this bug fix right away. 🙁 When deploying to the app servers, I roll each server out of the load balancer to avoid downtime. Can’t do that when Linode’s management interface and API are down.
Congrats to the Iconfactory on the Tot 2.0 release. Looks like a good update.
I haven’t forgotten about holding a small Micro.camp this year. The summer has been full of distractions. I think it’s important that we do an event each year, even if it has to be scaled down a little. It’s a time to mark the progress and hear from people.
Bounce from A New Social is now live. Another big step to account portability between platforms. The more tools like this we get, the more it encourages developers to support migration APIs.
With a new iOS beta dropping today, we’re nearing the end, and I’m still not sure it’s a good idea to update Micro.blog on day one. Liquid Glass introduces lots of weirdness with nav button sizes and tap areas. Not going to rush it.
In the 1990s, I had an internship at Apple here in Austin, in a building they were leasing off 183, just east of I-35. They’ve long since expanded to a new campus in northwest Austin, much fancier, reflecting what a massive company Apple has become. I still often drive by that old building, though, which is currently empty and for lease again.
But that’s not the point of this story. The point is Steve Wozniak, and leadership, starting with a moment in the 1990s when it felt like everything was happening.
One week during my time at Apple, I was asked to fly out to Cupertino to help with an internal web app database project. I worked in an unused cubicle, coordinating with Carl de Cordova, one of the co-founders of WebEdge, where I worked back when webmaster was a job title. I was young and naive, so of course I thought I knew everything. The week was something of a blur, exciting. It was a time that you could build a new system in a few days that today would take months in a big company bureaucracy.
At lunch one day we went to a Chinese restaurant in Cupertino. We sat down at our table after coming back from the buffet, and Carl said to me, half whispering, half trying not to laugh, “I think that’s Steve Wozniak shining a laser pointer at us.”
Woz was a few tables away, enjoying himself, presumably with family. We debated whether it would be rude to introduce ourselves. Yes, it would be too intrusive. I was also nervous and a little dumbfounded. Maybe it wasn’t even him, just someone who looked exactly like him and who would do something so obviously Woz-like as play with a laser pointer in a restaurant.
The moment slipped away. We finished our lunch and left, feeling a sliver of regret for lost chances.
That was 30 years ago. It’s hard to believe that Woz is now in his mid-70s, which means the rest of us are getting older too. As I get older, I’m torn between impatience to build something new, still do something that matters, and slowing down, becoming content with what has already been set in motion.
One thing I’m sure of — and something that Woz has clearly known for a long time — is that it’s not about the money. From the recent comment that Woz left on Slashdot:
I gave all my Apple wealth away because wealth and power are not what I live for. I have a lot of fun and happiness. I funded a lot of important museums and arts groups in San Jose, the city of my birth, and they named a street after me for being good. I now speak publicly and have risen to the top. I have no idea how much I have but after speaking for 20 years it might be $10M plus a couple of homes. I never look for any type of tax dodge. I earn money from my labor and pay something like 55% combined tax on it. I am the happiest person ever. Life to me was never about accomplishment, but about Happiness, which is Smiles minus Frowns. I developed these philosophies when I was 18-20 years old and I never sold out.
Today feels like a very different climate for VC-funded companies than the 1980s when Woz sold his shares of Apple, when he even gave away many shares to early Apple employees who weren’t granted stock options. It’s hard to imagine a founder doing that today. But then it’s hard to imagine anyone else like Woz.
Scan today’s TechCrunch headlines and you’ll get dozens of stories of new companies with often ridiculous valuations and equally ridiculous business plans. There’s a new negativity toward big tech companies and CEOs, a sort of resentment after years of user-hostile, unethical behavior. Users are distrustful, feeling burned by entrepreneurs who prioritize profit over principle.
Anil Dash blogged last week about the mayor race in New York City, but let’s ignore the politics and candidates for now. I want to instead fast forward to the end of his post, where Anil writes:
I had gotten a little embarrassed about my past as someone who had been a CEO in tech, honestly. The very worst of the industry had tainted it so much that I’d worried people would never believe that it could ever have been something people could go into with a good heart, or honest intentions, however imperfect.
That Anil was even a little embarrassed shows to me how twisted the impression of entrepreneurship has become. I’ve also received this kind of misguided negativity directed at Micro.blog, lumping me in with wealthy tech leaders in Silicon Valley who I have nothing in common with.
After Apple all those years ago, I never worked at another large company again. At one startup, just 3-4 of us, the founder sometimes struggled to make payroll on time. That is surely a much more common scenario for small-business CEOs. Someone with an idea, hopefully creating good work for others, putting something new into the world along the way, even if ultimately failing.
When we judge others based only on labels — these entrepreneurs aren’t people, they’re CEOs, they’re all the same — we strip away a little of their humanity, and so we lose the truth, as if giving up on an individual leader to make their own fair and moral decisions.
In Woz, I see a reminder to balance joy in the hard work. He is one of a kind. I would love to build a business that is deliberate, helpful, mission-oriented, and content to solve what it set out to do and no more. Perhaps in leading anything we’ll inherently be misunderstood, cast with the popular narrative instead of nuance. That would be unfortunate, but I could accept it, because worrying about it only distracts from the work.
The key to managing a large code base is extreme minimalism wherever possible. Less code. Simpler names for things. Fewer dependencies. It’s hard to convey with a list of rules, but I know it when I see an unmanageable, cluttered project.
Haven’t quite figured out the best UX for passkeys yet. I’ve been slow switching to them for my accounts, but now that it has been a couple years, hopefully the quirks have been worked out.
When I have a hard time finding a title for an essay, I usually pick the most boring, least clickbait-y title possible. I ran a title by ChatGPT and it said my title was bad for SEO and discoverability… That’s when I knew I had found it. 🤪
I dug into a little bit of pulse oximeter history. That to me was the major breakthrough, decades ago, so I’m still skeptical there’s enough innovation in Masimo’s new patent. Maybe all the legal fallout is karma for Steve Jobs’s “and boy have we patented it” bragging during the iPhone introduction.
Great profile of R. F. Kuang in The New Yorker:
I actually am afraid of being totally happy with my work, because, if you are perfectly satisfied with your abilities, there’s nowhere else to go.
Finished reading: Automatic Noodle by Annalee Newitz. Cozy sci-fi! Several robots (and a human) open a noodle restaurant. 📚
It is common on Mastodon to append a bunch of hashtags to the end of a post. I’ve added a new feature in Micro.blog to help wrangle these. Here’s a screenshot from the Account page:
This doesn’t affect inline hashtags, only hashtags at the end if they’re in their own paragraph.
I turned on Threads automatic cross-posting from Micro.blog today, just to test something from my account, then promptly forgot about it. Hadn’t posted in months until now. Maybe I’ll keep it on again for a little while before going back to blog + Bluesky only.
Trying out the new Mythos theme for Micro.blog. It’s really good!
Bluesky blogging about not allowing access in Mississippi:
We believe effective child safety policies should be carefully tailored to address real harms, without creating huge obstacles for smaller providers and resulting in negative consequences for free expression. That’s why until legal challenges to this law are resolved, we’ve made the difficult decision to block access from Mississippi IP addresses.
Just skimmed through Mississippi’s HB1126. It’s more sweeping than similar laws, and there’s no carve-out for small platforms. It’s going to cause more problems than it solves.
Picked up this little sticker at Muse Coffee Truck while out today. Feels good to get out after being mostly stuck at home sick all week. ☕️
Mark Gurman with another new report about Apple’s effort to rebuild Siri:
The company is simultaneously developing two versions of the new Siri: one dubbed Linwood that is powered by its models and another code-named Glenwood that runs on outside technology.
Executives had long viewed Anthropic as the leading candidate for a partnership, but the financial terms demanded by that company led Apple to broaden the search and bring others into the mix.
Not the time to be cheap. Apple needs the best model and best strategy that fits their company, wherever that leads, however much it costs.
Finished reading: The Grace of Kings by Ken Liu. Very different than most modern fantasy, in pace and character viewpoints. Loved it. Truly epic. 📚
We got a nice rain this afternoon, the perfect test for the new gutters. Still landscaping and drainage to do, but this was a much-needed house upgrade.
The albums page on @birming’s photo blog is really nicely done. I’m assuming this uses separate Micro.blog pages and photo collections. Very cool because it gives the illusion of a photo albums feature that doesn’t really exist in the platform!
The term superintelligence has been bugging me. AGI hasn’t been achieved yet and some folks are already jumping ahead to AI smarter than humans? I prefer the idea of AI as a team of the most knowledgeable people in the world, each an expert in their field, working together to solve problems for you.
I’m not concerned about Bluesky’s terms of service — although I’m glad other people are concerned and checking it! — but I do love this sentence that Cory Doctorow wrote:
This is so pro-enshittificatory, it’s like a landing strip for the sole use of Enshittification Airlines, which can land a 747 full of enshittfying nonsense on Bluesky’s users every 10 minutes, around the clock, without worrying about any legal repercussions.
Great post from Kuba Suder about how all the Bluesky and AT Protocol pieces fit together.
Fascinating post by Mustafa Suleyman on the risks of achieving “seemingly conscious” AI, and how we must design systems to help real people, avoiding the illusion of consciousness:
A coherent and persistent memory, combined with a subjective experience, will give rise to a claim that an AI has a sense of itself. Going further, such a system could easily be trained to recognize itself in an image or video if it has a visual appearance. It will feel like it understands others through understanding itself. Say this is a system you have had for some time. How would it feel to delete it?
Skimming over the new Google products. I’m still not in the market for an expensive foldable phone, but I could be interested in a simpler design, without a front screen, more like a foldable iPad.
Continuing to feel better today, so pushed out an email newsletter improvement for Micro.blog Premium folks. I had mostly coded this a couple days ago, was waiting to make sure I could be around to test and monitor it.
Spent most of the day resting, listening to the audiobook for The Grace of Kings, and trying to avoid working. My body was exhausted and Covid was the non-negotiable reminder to slow down. Feeling better. 😷
Liquid Glass has (deservedly) received plenty of criticism. But there are some areas that are clearly better, like these buttons in iOS alerts.
MSNBC → MS NOW. In fairness to the designers, any new logo is going to be worse than the peacock.
During the first Trump term, I thought MSNBC’s coverage was great. But this year they’ve seemed unmoored. I’ve mostly stopped watching. This rebrand was a chance for something new and they blew it.
Sitting outside at the hotel, drinking so much water and Gatorade. I always seem to get sick while traveling. 😷
Lots of good quotes from Alex Heath reporting on a dinner with OpenAI execs and others. Sam Altman:
I do think people will go to fewer websites. I think people will care more about human-crafted content than ever. My directional bet would be that human-created, human-endorsed, human-curated content all goes up in value dramatically.
This mirrors something I’ve blogged about. In a time of abundant AI slop, we will seek out human-created content and to feel a connection with other creators.
I never want ads in the software I use to get things done, so this interview with Nick Turley of OpenAI was reassuring. Between what he said and what Sam Altman has said, their company seems very aware of aligning their business with users’ needs. Something Meta will never be able to get right.
Safari on iOS 26 is bugging me enough — especially the extra taps for tab bar items like closing a tab — that I’m switching over to Kagi’s Orion for a little while. I’ve been meaning to try it.
Jason Snell on how long it’s taken for Apple to bring back the blood oxygen feature:
I’m still surprised that it’s gone this long and this far, but Apple seems to be a company that will leave no legal stone unturned and will fight to the end when it feels it’s in the right.
So true. It feels like increasingly they aren’t right, but I’m on Apple’s side for this one, because it was holding back a legitimate health feature.
I made a change today that seemed right, but something about it was nagging at the back of my head. So before I deployed it, I asked our robot overlords… It correctly pointed out that I had forgotten the old code worked that way for a reason! A snippet from its analysis:
Original behavior likely intentional: archive_site previously only ran prepare_plugins(…, full_themes: false) so “small” plugins could contribute assets/includes, but it avoided full theme overrides and didn’t layer the user’s theme on top of “archive”.
As part of fixing the Mac app on Sequoia, I’ve switched builds over to Xcode Cloud. Gotta admit, it’s better than my old workflow. Maybe one day I’ll automate the appcast RSS feed. (I’ve been editing it by hand since 1.0 shipped in 2017.)
Great news for Apple Watch fans: blood oxygen feature coming back to recent watches. Sounds like they’ve worked around the patent by doing more processing on the iPhone.
I always try to avoid new preferences in Micro.blog because it can add a lot of clutter to the UI. Harder to use, harder to maintain. But adding better date and time formats this week, might be unavoidable. The “just do the right thing” defaults only get us about halfway there.
Long-time users of Micro.blog won’t believe this… We are rolling out 24-hour time and more localized date formats today, many years after it was first requested. Visit the Micro.blog timeline on the web and it should detect your settings, then start applying them everywhere.
Nice reminder from @jim that Micro.blog t-shirts are available on Cotton Bureau. I think these look really good.
Working on a fix to the latest Micro.blog crashing on Sequoia. This is what I get for developing with the latest macOS beta… Apple changed something.
I always like reading Cal Newport’s essays. In his latest for The New Yorker, he pulls us back a little from the AI scaling hype.
John Gruber blogging about the Perplexity stunt to buy Chrome:
I think what’s happening is that the LLM chatbot field is maturing (exemplified by OpenAI’s launch of ChatGPT 5 last week), and Perplexity CEO Aravind Srinivas is getting increasingly desperate.
Unless Apple does somehow acquire Perplexity, I doubt Perplexity is going to succeed in the long run. Some people think the AI bubble will pop, bringing down all of these companies. But OpenAI and Anthropic are here to stay. The thing about bubbles… Webvan didn’t make it out of the dot-com bubble, but we all order groceries online now.
Elon Musk complaining about Apple not featuring his apps. But as Stephen Hackett points out, if anything Apple should be demoting Grok even more:
Currently, the Grok app has a 12+ age rating. Given the sexual content that is so easily accessible through the chatbot, that sure seems low to me.
Really happy with this change we rolled out today for the Micro.blog Family subscription plan:
Under the “People” section, there’s a new “Make Owner” button for each member of the blog. This makes the Family plan more flexible for a variety of setups.
Cards theme now updated with support for the new category intro text we introduced in Micro.blog this week.
Installed the iOS 26 beta. Liquid Glass is much weirder and more bubbly on iOS than on macOS. Don’t feel too strongly about it except that old and new apps now feel like they are from different operating systems.
Thanks @jim for the quick update to the mnml theme for Micro.blog, adding support for the category intro text feature. I’ve updated a couple more plug-ins (like Marfa and Alpine) and others will be updated later.
Reddit blocking the Internet Archive is another step back for the open web, but maybe not too surprising after they shut down API access last year.
…we’re limiting some of their access to Reddit data to protect redditors.
Protect users, or protect Reddit monetizing user data by selling it to AI companies?
Maurice Parker blogs that his outliner Zavala will always be free. I also think there’s a good parallel in here to what people might do if they didn’t have to work as much. They would still do something! Creating or helping people will always be rewarding.
GitHub CEO resigns to go back to doing his own thing:
…my startup roots have begun tugging on me and I’ve decided to leave GitHub to become a founder again. GitHub and its leadership team will continue its mission as part of Microsoft’s CoreAI organization, with more details shared soon. I’ll be staying through the end of 2025 to help guide the transition and am leaving with a deep sense of pride in everything we’ve built as a remote-first organization spread around the world.
GitHub is a unique product that deserves to be run independently. But also, I’m not too worried about this change.
Today we rolled out two improvements to category management in Micro.blog on the web. The first is a new selection interface so you can more easily delete lots of categories at once. This was particularly a problem when importing from other blog systems, which could create lots of categories you didn’t really want anymore.
The second is a new “intro text” field for category pages. This lets you add some text at the top of an individual category list page. So maybe on my Coffee page, I want to add a little intro paragraph that explains visiting new coffee shops while I’m traveling.
You’ll see this new field when editing a category:
Most themes have not been updated to support this feature yet. I’m working through themes this morning, adding the necessary Hugo code. In the template layouts/_default/list.html, there’s this extra bit of code that will add the intro text if it’s set:
{{ with .Content }}
<div class="microblog_category_intro">{{ . }}</div>
{{ end }}
You may also want to style it a little with CSS, until themes have adopted this with their own design:
.microblog_category_intro {
padding-bottom: 2em;
margin-bottom: 2em;
border-bottom: 1px solid #EEEEEE;
}
Keep an eye out for new versions of plug-ins you might be using. Enjoy!
Listening to Decoder with Notion CEO Ivan Zhao. Stunning to me that Notion has 900+ employees. I can’t even imagine what I would do that many people. Wouldn’t mind 9 employees for Micro.blog, though.
Kev Quirk has gone back and forth between Micro.blog and Mastodon, now back on Micro.blog. It really can’t be overstated how great it is to move followers between platforms. One of the most important features of the fediverse.
Parker Ortolani blogs some initial thoughts about GPT-5:
I’ve been saying for about a year now that I believe the future of computing is software on demand. GPT-5 might just have made that a reality. It’s certainly at least the first glance at a future where that’s the case.
I’m not completely bought into this vision, where apps and UIs can be adapted on the fly, but I wouldn’t rule it out either. The screenshots from Parker are super impressive.
Mark Gurman reporting at Bloomberg on Apple getting App Intents ready for the new Siri:
The plan now is to ship the feature alongside a broader Siri infrastructure overhaul in the spring and market it heavily. But there’s some concern inside the company, I’m told. Engineers have been struggling to ensure that the system works with a sufficient number of apps and is accurate enough to handle high-stakes scenarios. There are worries about the software failing in categories where precision is nonnegotiable, like in health or banking apps.
My concern with Siri going back years, long before AI was on everyone’s mind, was that Apple’s approach is too closely tied to a single device. There is essentially a different version of Siri on the iPhone, Mac, HomePod, and so on. Hardly a universal assistant that works consistently everywhere.
I think App Intents is going further down the wrong path. If apps and data are exposed to Siri locally, without anything in the cloud, that’s great for the iPhone but no help if you want to ask the same questions to your kitchen or your glasses. It’s a fixable problem — maybe App Intents could sync between all devices even if the app can’t be installed — but only if Apple acknowledges the limitation.
Thinking about how I use AI for coding, I prefer to automate a lot of the JavaScript work, more than HTML or CSS. Feels right to have as much control over anything that touches the design. It’s hard to imagine a world where I’m not going to want to tweak the UI.
This is fun: The Bluesky Dictionary, tracking when all the words in the English dictionary have been mentioned in a Bluesky post. Currently about halfway there.
Meandering research for something new led me to Bashō, and this form of poetry I had never heard of before:
Around 1682, Bashō began the months-long journeys on foot that would become the material for a new poetic form he created, called haibun. Haibun is a hybrid form alternating fragments of prose and haiku to trace a journey. Haibun imagery follows two paths: the external images observed en route, and the internal images that move through the traveler’s mind during the journey.
“I think the most powerful thing that the new Alexa+ has done for me is it has made me forgive Apple for not shipping anything with the new Siri.” — Casey Newton on Hard Fork
Find My has always been too slow for me. It feels like Apple sometimes caches a user’s last location on their servers, but either for not very long or just infrequently. So you fire up the app, and it appears to ping each phone to get the latest location. Gotta be a better way that is still private.
Updated to Tahoe beta 5. No problems, pretty much the same for me as beta 4. I don’t actually use many of Apple’s built-in apps, so until more third-party apps are updated for Liquid Glass, it’s not a very jarring upgrade. I use Xcode, Terminal, Photos, and then all other Apple apps only rarely.
This interview of Sam Altman by Cleo Abram is excellent. I know there are some Sam haters out there. I received some shit for my blog post about him. But there are deep questions here about the future, some interesting speculation, and figuring out how to anticipate potential future harm too.
Just noticed this new Micro.blog theme: Bothy. Looks good!
One of those mornings. Working from the hospital lobby, with the GPT-5 announcement video on in the background but I forgot my headphones at home, so just glancing at the subtitles every once in a while. Please see: Micro.blog free for nurses. Also just deployed a cross-posting checkbox fix.
Added a new reading goals bar to the top of Bookshelves in the Mac app. Love the way it turned out, with little progress indicators for the goal progress. Here’s a video:
Dia adds $20/month subscription, with plans for other tiers later. I like Dia even without the AI features. Most people are not going to pay for either ChatGPT or Claude and a web browser. Wishing them luck because it is a nice browser.
Feels important to mark today’s gift from Apple to Trump. Tim Cook continues to hurt his legacy, in almost an Elon Musk-like way, between the direction of the App Store and dealing with Trump. Just sad. He was the right person to lead Apple for a time. I still think peak Apple was a year or two ago.
Good post from A New Social about the difference between bridging and cross-posting. The illustrations really help too.
Speaking of age-gating, I filled out Apple’s new age questionnaire for apps last week. Micro.blog’s apps are 16+. I think by design our platform is better protected than many in exposing harmful content, but to be safe for kids requires much more work with automated tools and a staff of curators.
This is how I think about the UK’s Online Safety Act, and similar laws in Texas that introduce new rules for checking a website visitor’s age before showing adult content.
Most people agree that it’s reasonable for someone working behind the counter at an old-fashioned adult video store to ask to see an ID before a young person checks out with their purchase. Glance at the ID, notice they’re old enough, hand the ID back, all good. For buying alcohol at a grocery store, maybe the employee also keys in the birthday on the point-of-sale system.
But it would be a huge overreach to also photocopy the ID and file it away in the store, forever, where nearly anyone could get access to it, and where it was connected to a database of purchases. Customers would be very anxious about that. That is what it’s like to be asked to show an ID online. We need to be extra careful with privacy online because the default is to store way more information than in the real world.
Last week when working on our discount for teachers and nurses, I started by implementing support with ID.me, a service that is already common in the United States for some industries, such as nursing. By delegating verification to ID.me, Micro.blog could avoid any risks with transferring or storing private information. Unfortunately, ID.me doesn’t currently work with small companies like mine, so I had to scrap that work and go with a much simpler setup.
For the Online Safety Act, I expect that apps will want to delegate verification to trusted third parties, like the App Store and Google Play. Bluesky has rolled out compliance by using a service from Epic Games:
We’ll use Epic Games’ Kids Web Services (KWS) to give our UK community choices about how to verify their age. If you’re in the UK, you can choose between methods like credit card verification and face scans.
There are trade-offs, for sure. Centralized platforms risk exposing large amounts of private data if hacked. But it’s just not realistic or safe for every website to be in charge of something as sensitive as an ID card.
Ghost 6.0 shipped this week with ActivityPub support, a major advancement for the popular blogging and email newsletter app. You can now follow Ghost blogs from the fediverse, bringing Ghost more in line with ActivityPub-based functionality in Micro.blog, WordPress, and Write.as.
My short post earlier about Ghost and open APIs was admittedly a little grumpy. If you’re already using Ghost, the 6.0 upgrade should be a no-brainer. The prices have shifted up, though, so if you’re just starting out, it’s worth evaluating other blogging platforms too.
Ghost(Pro) starts at $18/month. Micro.blog Premium (for email newsletters) is $10/month, WordPress.com is $9/month, and Write.as Pro (for newsletters) is $9/month. If you don’t need newsletters, the standard Micro.blog subscription is only $5/month, and Micro.one is the ridiculously low $1/month.
People seem to like Ghost’s editor. In the direction that many rich text editors are going, it resembles WordPress’s block-based editor. Micro.blog uses a Markdown editor instead, with more full-featured editors like MarsEdit, Ulysses, and iA Writer as options.
For posting APIs, Ghost has a custom API. WordPress and Micro.blog have JSON APIs and both the MetaWeblog and Micropub APIs. Standards allow broad interoperability between clients and servers without everyone reinventing the wheel and supporting potentially dozens of different APIs.
Each platform has its own unique twist on blogging and social interactions. Ghost supports Bluesky with Bridgy Fed. Micro.blog supports cross-posting to Bluesky, Threads, LinkedIn, and other services. WordPress has plugins for nearly everything.
If you need a paid email newsletter, Ghost is a great choice. If you need a blog or podcast, there are limitations in Ghost that would make me recommend something else. People who use Ghost tend to have a different platform for microblogs, for example, instead of being able to unify everything under a single custom domain name and platform.
It continues to be a great time for blogging. There hasn’t been this much activity in new tools in years.
Nick Heer blogging about the Ghost 6.0 release:
If Ghost added MarsEdit support, I would be awful tempted to switch from WordPress.
Probably not going to happen. People have asked for it. Ghost has oddly never cared about open APIs until recently, with ActivityPub, and even that was years after everyone else added support for it.
If you want the most support for lots of APIs and publishing from different apps, there are only two suitable platforms: WordPress and Micro.blog.
This is a helpful table from Molly White, breaking down the costs for hosting a newsletter with Ghost, Substack, and other popular platforms. I had missed in the initial Ghost 6.0 announcement that in addition to the price increase, paid newsletters required at a minimum the $29/month plan.
Sam Altman posting about the release in a Twitter / X post:
We believe in individual empowerment. Although we believe most people will want to use a convenient service like ChatGPT, people should be able to directly control and modify their own AI when they need to, and the privacy benefits are obvious.
The models seem very strong. From OpenAI’s blog post announcement:
gpt-oss-120b outperforms OpenAI o3‑mini and matches or exceeds OpenAI o4-mini on competition coding (Codeforces), general problem solving (MMLU and HLE) and tool calling (TauBench). It furthermore does even better than o4-mini on health-related queries (HealthBench) and competition mathematics (AIME 2024 & 2025). gpt-oss-20b matches or exceeds OpenAI o3‑mini on these same evals, despite its small size, even outperforming it on competition mathematics and health.
The 20b model runs well on my MacBook Pro — M3 Max, 48 GB. Looking forward to experimenting more with this. The download is 13 GB, so might be too big to optionally use (downloaded on demand) in a native app in the way I was testing with Google’s Gemma open source model.
Shipped a couple new things this morning: Micro.blog for iOS bug fixes, and a slight redesign to how the automatic accessibility description works when adding a photo on the web. Much smoother workflow.
Learned on Hard Fork’s interview with Matthew Prince that Cloudflare may take a 20-30% cut when creating their marketplace between websites and AI crawlers. This supports the concerns I raised in a blog post last month.
Dave Rupert blogs about the difference between Alamo Drafthouse and all other movie theaters:
The best place to see movies in Austin is at the Alamo Drafthouse. If you’ve never been to an Alamo, I’m sorry. It’s a movie theater for people who love movies by people who love movies.
I think the last time we went to a non-Alamo was for Oppenheimer in IMAX. Great screen, great movie. Not a good theater experience.
Neat story about Patrick Schlott, an engineer who repurposed old pay phones for people to make calls where cell coverage is poor:
Schlott has taken old pay phones, modified them to make free calls, and set them up in three different towns across the county. He buys the phones secondhand from sites like eBay and Craigslist and restores them in his home workshop.
I’d love to hear more about the technical bits behind this.
Parker Ortolani blogs about the new Ollama app that provides a chat window for the first time, making local models easy to use:
Anyone that has used the official ChatGPT Mac app will feel right at home, but they will quickly notice that the model names are quite different. The app makes it easy to install various versions of Gemma 3, Deepseek R1, and Qwen 3. Instead of having to use a command line for installation, you can simply type a prompt, select a model, and it will download it for you.
Rumors point to OpenAI shipping something this week. I’m going to guess the open weights model, with GPT-5 a little further off, but who knows. Say what you want about their leadership, but that company knows how to ship.
Ghost 6.0 has been released, adding ActivityPub. Big update. It’s interesting how Ghost now talks about Bluesky compatibility, which works via Bridgy Fed, but they don’t mention Bridgy Fed. This feels slightly wrong to me since I’ve spent so much time working on AT Protocol.
Finished reading: Empire of Storms by Sarah J. Maas. Apparently the thing to do is read this and the next book at the same time, but I have other things to read so just took this one straight through. Easily the best in the series so far, seemed much better structured. 📚
Really happy with the response to our new discount to make Micro.blog free for teachers and nurses. We’ve had some people take us up on the offer already.
Mark Gurman reports on a new team inside Apple developing a search engine and world knowledge model:
While still in early stages, the team is building what it calls an “answer engine” — a system capable of crawling the web to respond to general-knowledge questions. A standalone app is currently under exploration, alongside new back-end infrastructure meant to power search capabilities in future versions of Siri, Spotlight and Safari.
Catching up on some posts from FediCon, which was held over the last couple of days in Vancouver. @bmann.ca has his talk slides and notes online.
Reminder that we are improving things with Micro.blog all the time. You can see recent changes on news.micro.blog. If there’s a bug that needs attention, send us an email. The best way for us to prioritize what to work on is what we hear about.
Created a new plug-in “Photos with months” that adds some date grouping to the default Photos page. May need additional changes, because it will conflict with some other photos page plug-ins. You can see it on my photos page.
Seems like we got some breaking news out of Bloomberg’s reporting on the Apple internal meeting. Apple had tried to update Siri with both the existing commands plus LLM-based functionality as a hybrid system, but it didn’t work well. The new Siri will be unified under a single new architecture.
The new Naked Gun is hilarious. So many gags. Very much in the same spirit as the originals. 🍿
Released a new version of the Mac app this morning, fixing several problems with the accessibility description window. I like updating the ridiculously long help page because I think the release notes show a commitment to steady improvements going back 8 years. Maybe at year 10 it’ll be really good.
I don’t often share personal things about my family here on the blog, but I was reflecting on something last weekend that’s also relevant to Micro.blog. My mom has been in the hospital for a week and a half. I’ve been back and forth to the hospital every day to visit her. More than a few times I would settle in at the hospital cafeteria with my laptop to catch up on work. She is finally out of the hospital, after a roller coaster month of trips to the doctor and the ER.
Nurses always seem to have nearly infinite kindness and patience. It’s one of those jobs that probably seesaws from very rewarding to very difficult. Patients come in and out of your life for an hour or a day or a week, and you do your best within what must sometimes feel like a convoluted system. (My daughter is actually a nurse too, so I’ve had a glimpse of what it’s like.)
For a long time I’ve wanted to do something extra for the people who do so much for their community. Back in 2020, we experimented with offering 6 months of hosting for teachers. There was some interest in it, but the announcement quickly got buried on my website, and even I forgot about it until I started drafting this new post.
So let’s start again with teachers and nurses. Micro.blog’s standard blog hosting is now free for them. Teachers and nurses can visit this special page after they’ve signed up for a Micro.blog account.
Thanks everyone who has helped make Micro.blog what it is, and what it can still become. If you know a teacher or nurse who might enjoy Micro.blog, let them know!
That Epic vs. Google decision yesterday seems big. Google Play may become more open even than the EU’s App Store. Meanwhile, Apple continues to print money with a record quarter.
Looks like the time I spent integrating with ID.me’s API was wasted. Micro.blog is too small to get approved for production access. The open web is so ingrained in me that I see an OAuth API and assume I’ll be able to use it in some form.
OpenAI announcing a new data center in Norway:
The facility will run entirely on renewable power and is expected to incorporate closed-loop, direct-to-chip liquid cooling to ensure maximum cooling efficiency. Additionally, excess heat from the GPU systems will be made available to support low-carbon enterprises in the region.
I’d still like to know how much of Abilene’s data center will run on solar and wind. I assume a percentage, but not “entirely” like in Norway or they would’ve said so.
Nick Heer: “The Cook era is now as long as the Jobs renaissance era.”
Now that my laptop is completely full of stickers, moving on to pins on my bag. Starting with just Mickey.
Just read my credit card number, expiration, and 3-digit code to someone over the telephone in a crowded coffee shop. YOLO! 🤪
This week we’re announcing an improvement to photo storage and photo scaling for Micro.blog Premium subscribers, our $10/month plan that also includes up to 5 blogs, email newsletters, bookmark archiving, and highlights.
For years now, we’ve scaled photos down to about 1800x1800 when uploading them to Micro.blog. This has been a good balance of resolution and file size. Photos still look good on the web, and they take up a little less space by default.
Now with Micro.blog Premium, we’re also saving a separate larger version, with resolution up to about 3000x3000. This version of the photo is available for themes to use, and it automatically works with the “Photo collections” plug-in, so that when you click on a photo in a collection it uses the higher resolution when zooming the photo to full screen in your web browser.
For more about photo collections, see this help page.
In the web interface to Micro.blog, for uploads you’ll start seeing little icons for various sizes of a photo: small, medium, or the new “extra large” size. These icons link to that resolution. Here’s a screenshot:
The URLs for photo sizes are available in the Hugo front matter under the existing .photos_with_metadata array:
- url: https://www.manton.org/uploads/2025/filename.jpg
sizes:
small: https://www.manton.org/uploads/2025/filename-s.jpg
medium: https://www.manton.org/uploads/2025/filename-m.jpg
xl: https://www.manton.org/uploads/2025/filename-xl.jpg
You might wonder why we handle photo URLs this way, while other platforms try to hide the implementation behind random, super-long CDN URLs and dynamic scaling. I find that approach confusing whenever you need to customize anything. All the technical bits in Micro.blog are designed to be human readable. You should be able to view HTML source if you need to and not be completely lost.
Hope you find this new size useful! As more larger photos are saved, there will be opportunities for further tweaks to use the different sizes in more places. But I wanted to get the foundation for this change out now.
Google Zero is slightly misunderstood. The problem is not that Google is nefarious in no longer sending traffic to your website. (They probably don’t care very much one way or the other.) The real problem is you’ve depended on Google for your business. You’ve been obsessed with SEO and search ads for years, all built around a single search company.
As traffic from Google drops off, some things will be worse for a little while, but the open web isn’t going anywhere. Over time, we’re going to be better off with new competition in search. Google’s dominance in search has also created an imbalance in AI training and robots.txt, essentially handing Google permission to do whatever they want with data, while Cloudflare and others restrict access from new crawlers. No one can afford to cut off Google’s crawler.
I’m loving Kagi. Am I searching the web less often because of AI? Sure. But web search is still useful and always will be.
I remember when AltaVista came out and blew away other search engines because it was so fast. Then Google obsoleted everything else because its results were so relevant. Now ChatGPT is even more disruptive because it works so differently, rarely needing to send traffic to websites at all.
I’m sorry if your recipe website littered with ads and filler content about the history of the avocado is no longer monetizing as well as it used to. That may sound a little harsh, and I don’t mean to completely dismiss the real frustrations that some website authors are feeling, but the truth is the web was already broken in some places, fueled by greed and the ad companies' surveillance machine.
The web is changing again, and we need to change with it. Not just to preserve the status quo, but to look for opportunities to make things better than they were before.
This is a great time to build a relationship with readers. Start a blog, start a newsletter, start linking to your posts on social media or wherever makes sense. Forget about Google. Put good content out on the web and the right people will eventually find it.
Good perspective from Om Malik on Mark Zuckerberg’s superintelligence post and similar past statements:
Most CEOs defend their existing moats. Zuckerberg systematically abandons them. He understands that Facebook’s real asset isn’t the blue app. Instead, it is the graph of human attention and relationships.
As I’ve written about before, Mark is pretty good at what he does, and it’s just a shame that he’s dedicated his company to ads, attention, and AI slop.
In Mark Zuckerberg’s post today about superintelligence, I assume we’re getting a glimpse of the pitch he used to hire AI researchers away from other companies:
We believe in putting this power in people’s hands to direct it towards what they value in their own lives.
This is distinct from others in the industry who believe superintelligence should be directed centrally towards automating all valuable work, and then humanity will live on a dole of its output.
John Gruber blogging about the app Tea that is near the top of the App Store despite security problems:
I strongly suspect that, although Google hasn’t removed Tea from the Play Store, they’ve delisted it from discovery other than by searching for it by name or following a direct link to its listing. That both jibes with what I’m seeing on the Play Store top lists, and strikes me as a thoughtful balance between the responsibilities of an app store provider.
This is a great way to handle it if true. Developers (like users on social media) are not guaranteed amplification by an algorithm.
I got out of all stocks last year. If we had money to burn, I might invest in Figma. Seems like they’ve got things figured out. But also there’s too much hype around anything in the tech industry. Established companies will be fine. OpenAI will be fine. Everyone else, who knows. 💸
The Onion: Historians Confirm Lewis And Clark Set Out On Expedition To Justify Purchase Of Expensive Camping Equipment:
You can imagine how, if you had just blown the equivalent of $80,000 in today’s money on a keelboat you didn’t need, you too might feel stupid not taking it out on the river.
🤣
I’ve been pulled in different directions lately and have a lot to catch up. But I did write some code today. Also working on something that uses ID.me, which I’ll hopefully announce tomorrow if they approve my OAuth access. Argh, gatekeepers!
This special edition of Tigana looks beautiful. I can’t justify the price, but I would like to get a hardcover version one day, to go with my old paperback. It’s a favorite I haven’t read in forever.
Maybe it’s been too long since I’ve seen Downton Abbey, but I like The Gilded Age even more. Great balance between the different characters' stories and also the train business, which I love.
I’ll start with this quote from Mike Rockwell’s blog:
I’ve been a happy Linode customer for years, but they experienced an outage Sunday morning that took my Cloudron server offline, impacting my Mastodon and Pixelfed instances. As of this writing they’re still offline and I’ve received an email letting me know that there is a potential for data loss.
I didn’t get a warning about data loss. This outage did wreck a sizable part of my Sunday, which was already stressful for unrelated reasons. And worse, it affected my customers’ weekends. I try to be patient with hosting providers because I’m one too, and I know how frustrating and unproductive it can be to feel piled on with complaints. But this outage was likely the most significant I’ve seen in the 10+ years I’ve been using Linode.
These events are a time to revisit past decisions. I was already feeling that I was overpaying for Linode. With a bunch of servers and databases, it’s a lot of money for a tiny company like Micro.blog, money that I could use to pay myself more or hire someone.
This year we’ve expanded to servers in Europe, hosted by Hetzner. I’m also now consolidating more of our S3-like storage to actually use AWS. I liked the redundancy of copying photos across multiple hosting providers. But S3 is reliable. If I had used it more, I would have avoided this outage.
From here the plan is to double-check that all photos have been copied to the right place. There will be housekeeping to fix some older links to photos, from 2020 and earlier, because of how I had to flip over the CDN yesterday during the outage. I should finish that work today and tomorrow.
Then we’ll continue using Hetzner more for our European folks, and maybe some in the US too, slimming down our use of Linode a little. I’d like our platform to be more balanced across providers.
Released a minor update to Micro.blog for Mac today. Little tweaks mostly for the new macOS beta. For better or worse, I’m doing all my work and testing on Tahoe now, and I expect it to be widely adopted in the fall.
Cool to see expanded book management options in the next Micro Social beta.
I don’t agree with much of Casey Handmer’s politics, but I do like his fantastical vision of new cities. I’ve bought into the idea of using cheap solar for water desalination. It could transform areas of the world that don’t have enough water. We need to think bigger.
Finished reading: Isles of the Emberdark by Brandon Sanderson. I read the e-book, but I also got the print edition in the mail yesterday. Half of the book is white text on black pages! I’ve never seen this before in a novel. 📚
After hours of downtime with our primary photo storage, I’ve given up on Linode and started restoring failed uploads and switching to our S3 backup. Very disappointing. I’ll post a final update to @news when everything is back online. I also learned some new things to make this more robust.
Feels like every day for a month I’ve been waking up to one emergency or another — some real, some fabricated. This morning, there was a power outage at a Linode data center that is affecting our photo hosting. Blah.
The new Billy Joel documentary — And So It Goes — on HBO was great. They had so much time to go deep on a lot of things. I actually knew next to nothing about him except the songs.
Did you know that you can open Bluesky starter packs in Micro.blog and follow people directly? I’d like to work on expanding this soon. Some more details and an example in this post last year. Micro.blog is small so it’s a good way to branch out.
A little surprising, Meta is expanding the Threads API. Might be time to consider doing more with it. Micro.blog can cross-post but only retrieve posts if the fediverse is enabled. Downside of doing more is jumping through the hoops of Meta’s approval machine.
Mac folks, any bugs you’ve noticed recently in the Micro.blog app? Fixing a couple little things for macOS 26 Tahoe beta.
Congrats to Manu Moreale on the 100th interview in his People and Blogs series! This one features Marisabel Munoz, who writes about her process of starting long-form blog posts by hand:
I use Moleskines (I prefer it due to the lines) and fountain pens—the ink’s flow slows my thoughts, helping me process them. Then comes the sculpting: what stays, what expands, what’s cut. It’s like editing, but not quite… more of a second draft.
I think I was subconsciously inspired by Federico Viticci’s post when I tried this prompt with ChatGPT Agent last night:
I created book.micro.blog and www.manton.org. I want to look through longer blog posts (at least a couple paragraphs) on my blog that are about social media and blogging. Find about 50 of the most interesting posts and then look at book.micro.blog to see if those topics were very similarly written about in a chapter. If they were not covered, keep track of that and at the end make a short report of each blog post and why it would be good to write about for an updated version of the book, and where it might fit.
After churning on it for 31 minutes, the result was this report. It’s very good. Here are just a few examples:
6 Jul 2023 – “Adam Mosseri on why ActivityPub” – Quotes Instagram head Adam Mosseri explaining the value of open protocols and decentralisation. Including this in ActivityPub would illustrate mainstream interest in federated social networks.
25 Apr 2025 – “Bluesky downtime” – Explains why Bluesky’s downtime sparked questions about decentralisation and compares Bluesky and Mastodon infrastructures. Adding this to Decentralization would help readers understand federated resilience and the trade‑offs of different protocols.
15 Feb 2024 – “Mastodon and public data” – Comments on debates around bridging ActivityPub to Bluesky and warns that insular decisions might isolate Mastodon from the open web. This update would enrich Mastodon or WebSub by explaining why openness benefits all platforms.
I won’t use everything that the agent found, but there are a bunch that are worth at least checking. I knew that I had blogged about things that I should’ve edited into the book too, while I was thinking about the topic. It would’ve been extremely time-consuming to figure out how to create a list like this manually. Probably a full day or two of work.
These AI tools are getting scary good very quickly.
Big fan of Internet Archive. I’ve also been occasionally using archive.is. Handy for grabbing a snapshot of an article, even in some cases behind a paywall. I do pay for a few magazines and websites, but not everything on the web!
Jason Snell has a first look at iPadOS 26:
It’s like a weight has been lifted from the soul of the iPad. It remains a very nice device to use in full-screen mode with all the simplicity attendant to that mode, or via a single tap it can turn into a multi-window, multitasking device that’s appropriate for the Mac-class hardware underpinning today’s iPads.
Enormous piles of money just sound crazy. Google spending $85 billion on capital expenditures this year, or about double what Twitter was sold for. Those AI data centers aren’t going to build themselves! Meanwhile, the scale of the OpenAI’s infrastructure in Abilene is starting to come into focus.
Upgraded to the latest Tahoe beta and now a couple of apps seem to be confused. Nova thinks it’s expired. I have an older serial number, but they should work forever just without updates. I think something might be weird with the system keychain.
Mastodon will experiment with donation banners:
The initial campaign will appear via a banner to people that use our Android and iOS apps, if they are signed-in to an account on one of our instances, and only if their account has existed for four weeks or more. The banner will be easy to dismiss, of course, and we will not continually prompt users to donate.
Patron supporters have declined over the last couple of years, so they’ve had to rely on larger donations. Makes sense to rebalance to lots of smaller donations.
Meanwhile, sticking to paid subscriptions for Micro.blog. It’s more stable.
I hate to add to the noise and news overload, but this article by Charlie Warzel at The Atlantic is a good summary of Trump’s crazy rants over the weekend, posting dozens of times in just one day:
Rage, paranoia, pettiness, and desolating selfishness: Trump appears consumed more and more by an online world that offers him the chance to live out the fantasy of the unilateral power and adulation that he craves.
He’s obviously unwell. Eventually he’ll be gone and we can start to pick up the pieces left by failed, vengeful administration. 🇺🇸
Excellent discussion on the latest ATP about Cloudflare. Very much in line with my thoughts from earlier this month.
Once again I’m alternating between reading three different books and can’t seem to make progress in any of them. Going to prioritize finishing Isles of the Emberdark since I’m starting to see video reviews pop up online. 📚
Didn’t notice until today that Kagi has a translation service. Simple, works well. This’ll be my new default instead of Google.
Lies do the most damage when there’s also a tiny bit of something real in them. Like 5% truth, 95% bullshit. It gives those spreading misinformation something to hold on to justify their actions. Maybe fanaticism is when we can no longer see anything except the 5%.
Sad to hear about Malcolm-Jamal Warner. Got lost for a while reading about his later work and looking for the lyrics to his spoken word album Hiding in Plain View. Just some of it:
It’s like life is one big masquerade party with cute masks
to mask unshapen identities made by us
to make us feel safe in the face of uncertainty,
but when we hide ourselves to please
we place a piece of our souls on hold
and the safety of that space eventually becomes
a poisonous pit of unexpressed feelings
and untended quirks that never quite get worked out
Rest in peace.
I posted a quick video to YouTube showing recent improvements in Micro.blog for Mac with notes, including shared notes and the new versions dialog for restoring an old note.
Fidji Simo’s blog post on joining OpenAI reads like an updated mission statement. This was a very good hire. She will be in charge of applications.
The standard Micro.blog subscription is such a good value that I think Micro.blog Premium gets overlooked. Updated some of the docs today. In addition to email newsletters and bookmark features, Premium gets you 5 blogs, unlimited single-page websites, domain aliases, more. Consider upgrading! 🙂
Tweaked a few things with the new “Archive with months” Micro.blog plug-in. Pretty happy with it. Might still integrate search as an option later.
ChatGPT agent looks impressive. I’m noticing a pattern when these kind of new tools come out, where initially I’m not sure what to do with them. This example from Federico Viticci is great, though:
I asked ChatGPT agent to process hundreds of issues of MacStories Weekly on the Club MacStories website, open each one, find stuff that I wrote, and compile all my Club articles into a list. Then, I asked it to spot patterns and ideas for follow-up stories based on things I wrote months ago, and which I’ve likely forgotten about.
I think this is going to be like ChatGPT’s deep research. At the time of its release, I blogged that I didn’t have much use for it. Now I use it more often than I expected, about once a week.
I also don’t want to completely forget about what I wrote about agents being dangerous back in January. Agents shouldn’t run amuck without human control. What Federico is doing seems well sandboxed.
Went to see Eddington today. Holy shit. It’s intense, somehow both unsatisfying and brilliant. Went in knowing next to nothing and left still unsure that enough time has passed since 2020 to fully appreciate it. 🍿
Finished the first pass at a new Micro.blog plug-in with the boring name “Archive with months”, which groups blog posts by year and month. It also has a setting to include the first photo thumbnail in a post if there is one. You can see this on my archive page.
I saw a Waymo with a human driver on 183 today, presumably testing for a new route. First time I’ve seen them on a highway. They expanded farther north in Austin last week too.
Ava blogs about what the IndieWeb might need right now, including some thoughts on social media and Mastodon:
…I personally don’t consider Mastodon instances to be included in the Indieweb; adjacent, for sure, as you have more control over your data in a way and escape big socials and can POSSE. But in the end, it will always remain a Twitter clone that still embodies the worst of social media and is not a personal website.
There are a lot of good thoughts in this post. And some overlap with the goals of Micro.blog too.
Waitress at Zach Scott was fantastic. What a perfect setting for it. In anticipation today we picked up Tiny Pies too.
The default Micro.blog archive page has become unmanageable for blogs like mine with a 20-year history. Experimenting with an update that groups by month and only shows one year at a time. You can see it here on my blog. Thinking of making this an optional plug-in.
I’ve been fine-tuning publishing performance again. Shaving off a second here or there. Some things including full rebuilds should be better now. More to do!
Nick Heer asking the right question about Apple suing Jon Prosser:
This multitrillion-dollar company was financially injured by a few YouTube videos showing the redesign of its operating system?
This lawsuit is clearly a threat to future leakers. Apple shouldn’t throw its weight around like this.
Just discovered a wrinkle with our setting to disable fediverse posting. If you @-mention someone in a blog post, Micro.blog sends a copy to that person, so your post will leak out to fediverse servers anyway. Not sure what to do about this.
AI researchers are still mostly on Twitter / X, unfortunately. This thread from OpenAI’s Keren Gu shows the interesting balance between biological safety and not preventing actual biologists and chemists from getting work done. Good to err on the side of not helping people make weapons.
Excited for Portland fans. Not enough players get to spend their whole career with the same team, or at least retire with it. From @cheesemaker:
There are so many terrible things going on in the world but for this one moment I am mainlining the pure joy knowing that Damian Lillard is once again a Portland Trail Blazer. 🏀
Disappointed to hear about The Late Show cancellation. I’ve been watching it (and Jimmy Kimmel) way more than I did a couple years ago. Humor can be a good way to cope with the news sometimes. 📺
I drove by this spot on Parmer Lane yesterday and was amazed. This corner used to be a gas station and McDonald’s! They tore it down and now it’s a field of grass and wildflowers.
Posted a new Micro.blog for Mac with tweaks around copying links and HTML. This follows yesterday’s major release improving notes sync, search, and versioning.
I love working on the Mac app. But unless there are any bugs, I’m going to focus mostly on the core platform and mobile for now.
It took me a minute to realize “and Other Stuff” as a company name was a play on Nostr’s name. Also kind of fits the spirit of Obvious Corp from early Twitter days. They have quite a few specific goals.
Manu Moreale blogs about Apple products and the trend of distancing ourselves from problematic CEOs:
Do I need to check if the Suunto CEO is a piece of shit to make sure I can wear this watch on my wrist and still feel at peace with myself? Frankly, I think it’s an exhausting way to live a life, and I’d be better off focusing all those energies somewhere else, trying to make something good, something that has a positive impact on the people around me.
Listening to the new Revolution.Social podcast. First episode is Rabble talking to Jack Dorsey. Jack is a good example of what I was trying to say in my blog post yesterday about criticism. So much hate is directed at Jack. We can disagree with his decisions, but he’s principled and thoughtful.
I’ve disabled ActivityPub federation for my blog posts again. Too much negativity on Mastodon. I have a lot going on and can’t deal with it. For the rest of the year, for external services just going to focus on Bluesky.
At my mom’s house she has an old framed print of the poem Children Learn What They Live by Dorothy Nolte. There are variations of it, but the first line is essentially:
If children live with criticism, they learn to condemn.
I was staring at that and thinking of social media. Is it any wonder that we are so frustrated all the time, when all day we are living with everyone else’s outrage in our social timelines? We mimic what we see.
Still, it’s true that these are difficult times for many people. There are reasons to be sad, or upset, or fearful. Social media tends to exaggerate, blowing things up into such outsized grievances that we can’t tell the difference between smaller concerns and critical ones.
And never-ending personal attacks. What even is a personal attack? It’s when we see a problem, and instead of acting in good faith to address a mistake someone may have made, we go after the person instead. We question their motives or integrity.
More often we should instead separate the problem from the person. Let’s start by assuming that nearly everyone is trying their best and has good intentions. Now they don’t need to change, because we’ve changed. And we’ll likely feel better for it, focused on solving problems instead of creating new ones.
I ran something through ChatGPT earlier and one if its bits of feedback was:
One small grammatical suggestion is to connect the final two sentences to improve flow…
The solution? Add an em dash, of course! 🙂 ChatGPT is nuts for em dashes. It uses them when a semicolon or period or anything else might be better. See also my post just last week.
Big update to Micro.blog for Mac today if you use the notes feature. Everything is faster and more robust. I personally have probably a thousand notes, and it was a little flaky with so many notes before.
I’ve also added a “Versions…” option to the context menu. Micro.blog keeps a record of each edit to a note, so if you make a mistake you can go back to an older version. Now there’s an interface for browsing and restoring a previous copy of the note. (This interface will come to the web later. The third-party web client Lillihub already has something similar!)
Here’s a screenshot of the main interface. This is a test “Journal” notebook (you can have multiple notebooks) that also shows the new sharing URL pane.
We’re turning the clock back to move forward. Trying to undo the damage Twitter did to the web.
This is a theme I’ve tried to blog about too. We have to bring all the good ideas from the open web and the blogosphere forward, combined with the user experience lessons from social media.
In a difficult week with extended family health issues, I’m laughing to myself a little this morning because I ran into two extremely minor problems that are bugging me: forgot to get salsa for this breakfast taco, and left my headphones at home. Ah, to have insignificant gripes for one day is nice.
In related client API news, Dave Winer has also been hammering on this recently from his perspective working on WordLand and the long history of the MetaWeblog API:
But the web is what matters, not my product or yours. Even if your product is huge, it’s only part of the web. This is how we build, how we get back on track. Somehow we need to get a simple bridge that lets all blog content flow to Mastodon.
Lear year, I really wanted to see Mastodon adopt an open posting API. I even wrote a FEP to fix some limitations in how APIs were too hard-coded to Mastodon’s capabilities. It went nowhere.
Steve Bate has a long blog post about why ActivityPub’s client-to-server protocol has not been implemented:
Yet despite its promise, ActivityPub C2S has seen minimal real-world adoption. Most Fediverse platforms — including Mastodon, the dominant implementation — have actively avoided supporting it. Instead, they expose custom APIs that tightly couple client behavior to server internals.
More clients should use Micropub. It is also a W3C recommendation, but unlike C2S, Micropub is already widely implemented and has evolved through extensions to accommodate most real-world use cases.
NYT’s Ben Mullin posting on Bluesky: WaPo opinion section will “communicate with optimism about this country”.
When newspapers turned on Joe Biden last year, I realized opinion sections are antiquated. We have the whole web for opinions. Newspapers have lopsided reach and should stick to the news.
When we launched Micro.blog, we got pushback on the lack of likes and reposts and follower lists and trends and global firehouse. Now eight years later I’m confident our approach is an important niche on the social web.
We absolutely do lose customers who drift away because of lack of engagement. So be it. If you want the dopamine hit of notifications and a more active timeline, pulling you back in, there are other platforms like… well, literally all of the other ones!
Mark Zuckerberg posting to Threads:
For our superintelligence effort, I’m focused on building the most elite and talent-dense team in the industry. We’re also going to invest hundreds of billions of dollars into compute to build superintelligence. We have the capital from our business to do this.
Mark has moved extremely quickly on this. He can do that because he runs the whole show. But Meta is the last company I want with this power. Ad-based businesses will always be misaligned with human needs.
I enjoyed this essay by Windsor Johnston at NPR about a date with a chatbot:
The date started with a boat ride from Georgetown in Washington, D.C., across the Potomac River to Old Town Alexandria in Virginia. I wore a little black dress and ballet flats. The sun was shining, the breeze was warm, and I was texting a chatbot.
Most articles like this are alarmist and depressing. This one is balanced and funny, and ultimately gets more at a truth about what all of this means.
This is cool. Classic Web, via John Gruber who blogs:
Curator Richard MacManus posts half a dozen or so screenshots per day of, well, classic websites from the late 1990s and 2000s. Makes me feel old and young at the same time.
I worked on a new Micro.blog for Mac update over the weekend, but then my Sunday afternoon got turned upside down. I’ll probably ship it this week. The notes interface is going to be much more solid.
Rewatched some old movies last week, including Back to the Future parts 1, 2, 3. They are still great. The hoverboard and flying cars got so much attention when I was a kid, but 1 and 3 are my favorites. Yes, part 3 too. The old west setting and characters hold up much better. 🍿
Superman was a lot of fun. They did a few smart things with it, like not retelling the whole origin story again. Casting also seemed just right. 🍿
I mostly like the super-rounded windows in macOS Tahoe, but it does create new problems for UI elements that are near the edge. It seems clearly designed for windows with toolbars. The worst conflict is for sheets, which don’t even have a title bar.
Sean Heber of the Iconfactory:
ChatGPT and other AI services are basically killing Iconfactory and I’m not exaggerating or being hyperbolical.
Sad to read this. More people also need to discover Tapestry. Micro.blog has been sponsoring it for a couple months, and I plan to continue to, but I expect ads are a small fraction of needed revenue.
Sports can be amazing and heartbreaking. I didn’t watch the Wimbledon final, but listened to Amanda Anisimova’s remarks at the end. Happy for her to have made it so far. And later today, we’ve got Mavs vs. Spurs at the Summer League. We’ve seen Cooper Flagg, now hopefully Dylan Harper can play. 🎾🏀
SwiftUI has been out for years, yet I’m still here creating new XIBs and Objective-C code like it’s 2005. AppKit is good at its job. SwiftUI is great for starting new apps. AppKit is best for finishing them.
Alexander Kucera blogs about supporting multiple export formats in Links:
Digital preservation isn’t just about saving content. It’s about maintaining access and control.
The photo search in Micro.blog for Mac has gotten really good. I don’t think there’s anything like this in other blogging platforms. Screenshot of “coffee” search for my blog. (Similar interface on the web too. Works best with AI enabled so we can generate keywords for everything.)
I’ve finished a significant improvement to editing blog posts that include photos. Let’s say you want to add a photo to an existing blog post. Before, you could upload a new photo in Uploads, then copy and paste the <img> tag HTML into an edited blog post. Now there’s a photo toolbar button when editing, just like there already was for new posts.
When you add a photo, it will include a thumbnail version at the bottom of the post. Click the photo to remove it or add an accessibility description.
This change introduced an interesting new wrinkle for more complex blog posts. These photo thumbnails are automatically added to the interface when editing a post that includes one or more photos at the end of the blog post, which is the default layout in Micro.blog. If you have a blog post that includes text and photos interspersed, it does not touch those photos.
Micro.blog is both a full-featured blog hosting platform and a social network. We want creating new posts to be as simple as it is on platforms like Mastodon or Bluesky, while still including the flexibility to jump the guardrails using Markdown, HTML, and CSS. I hope this new editing interface strikes the right balance.
Please let me know if you see any new problems. I changed a few things in both the web interface and our implementation of the Micropub API that is used behind the scenes.
In the Grok fallout, Mike Masnick makes the case for moving away from large, centralized AI. He asks a range of great questions about bias in AI:
After a similar incident two months or so ago where Grok became obsessed with linking everything to white genocide, the company started publishing its system prompts to GitHub. So, at the very least, we can see the progression on the system prompt side. This transparency, while laudable, reveals something deeply troubling about how centralized AI systems operate—and how easily they can be manipulated.
Nick Heer has a good response. I’m inclined to agree with Nick, that we may not want to get rid of centralized AI, but there should be oversight:
What that probably means is some kind of oversight, akin to what we have for other areas of little control. This is how we have some trust in the water we drink, the air we breathe, the medicine we take, and the planes we fly in. Consumer protection laws give us something to stand on when we are taken advantage of.
One of the unique challenges with AI — compared to say, social networks — is that it’s more difficult to run AI at the quality and scale of the big players. We can run local models, but they will be worse because of hardware constraints.
We are now firmly in a world where trust is everything. One answer to abundant content, mostly slop, is to seek out sources by real people who have built a reputation over years. People like Mike and Nick. The same will be true for AI. I mostly trust OpenAI and Anthropic. I think they have good intentions and good teams. I don’t feel the same way for any random model I might take off the shelf at Hugging Face.
Swarm changed their app icon from orange to gray (in a generic “bug fixes” update with no release notes) so I had to move it on my home screen. It used to be in between Overcast and Audible. Bottom dock hasn’t changed in a while: Hey, Epilogue, Strata, Micro.blog.
Rewriting a bunch of my old Micropub code for the web today. Long overdue, and needed to keep adding features.
King of the Hill is returning (YouTube trailer), and the world has changed a little. “I don’t know how to kick someone’s ass over Zoom, but I’ll figure it out.” 🙂
Leo Laporte, linking to a webcomic about RSS:
…and here’s the good news, Spotify wasn’t able to co-opt podcasting, RSS podcasts still live and thrive. And I, for one, intend to keep it that way.
Useful report from the Social Web Foundation after a privacy forum in Norway. From the first bullet point of next actions:
Create standard metadata fields within ActivityPub to indicate content visibility, consent preferences, and sharing restrictions across servers.
There is a tension in the fediverse between consent and the open web. It’s difficult to balance both ideals without over-complicating everything. Look at how confusing private mentions in Mastodon are.
Seeing random Grok screenshots — not just the racist tweets, all the other craziness too — makes me appreciate how much that serious companies like OpenAI and Anthropic must actually work on alignment and guardrails. Grok seems imbued with a “personality” that is out of control.
Fantastic article at The New Yorker about how far we’ve come with solar energy in just the last few years. I’m only halfway through but it’s already hitting on so much progress. I was feeling this last year when I bought solar panels for camping. When the costs finally work, it changes everything.
Vandalism at the Apple Store for climate change. While I’m very disappointed with Tim Cook’s support for Trump, I’m filing this one under “we attack our friends because our true enemies won’t listen”. Apple is more environmentally conscious than any other big tech company.
Linda Yaccarino steps down as CEO of Twitter / X. No hint of ill will in her goodbye tweet, but Grok losing its mind this week probably wasn’t the ideal backdrop for a graceful exit. I can only imagine how frustrating this role was with Elon Musk micromanaging it.
Stephen Hackett blogs about FireWire’s history and importance. It reminds me that I first used FireWire with a third-party PCI card, right before Macs had FireWire… or before I could afford a new Mac? Doing hobby animation and video editing, I used it with a MiniDV deck, and then from that to VHS.
Usually I avoid quoting something from the end of an article, but this line is a great summary from John Gruber’s latest on Daring Fireball about Jeff Williams retiring:
Six years after Jony Ive’s departure, today’s announcements leave it less clear than ever whose taste, ultimately, is steering the work of the company into the future.
Good rundown today by Ben Thompson on Apple’s dilemma of whether to outsource a next generation Siri to OpenAI or Anthropic. I’m curious about private cloud compute. Will they limit it to only Apple chips, or port the private cloud to architectures that are already running bigger frontier models?
Wonder if there’s any chance the lack of FireWire in macOS Tahoe is a bug or temporary limitation for the beta. I still have some old MiniDV tapes that I haven’t copied, and that is going to be much harder over time if FireWire goes away.
With Mastodon now rolling out phase one of their quote posts plan, I’ve reviewed my own blog post from February on this. My opinion hasn’t changed. I’ll make sure Micro.blog displays quote posts nicely when Mastodon finishes phase two, in the upcoming Mastodon 4.5 release.
I’ll also be watching what the real-word consequence will be for letting Mastodon users “withdraw” consent for a quoted post. It will probably be fine, but if it becomes commonplace, there’s a chance that more people will resort to using screenshots of quotes, because those can’t be withdrawn. If that happens, maybe the good intentions for this feature will have backfired.
That risk is small, though. There’s just much less friction in clicking a repost button. Most people will do what’s easiest.
While I don’t currently have plans for a repost button in Micro.blog, it’s worth noting that third-party clients are free to build their own interface for this. That’s exactly what developer Greg Morris did with Micro Social. It has a reblog menu option that creates an editable <blockquote> for you.
For the last couple of days I’ve been rewriting Micro.blog’s GitHub backup feature. It’s looking good, and sets the foundation for doing much more in the future. The backup will also now run automatically every day instead of once a week!
What’s this feature about? Here’s an example of how I use it for my blog.
Click on Design, you’ll see a “GitHub repository” field. I first went to GitHub and created a new public repository called “manton.org”. It can be called anything. Make sure to click the “initialize this repo with a README” checkbox so the repo is ready for Micro.blog to use.
GitHub might feel a little technical and overwhelming, but don’t let it scare you off. You don’t need any programming knowledge whatsoever to use this. It’s effectively just a free, external archive of files, supported by a company that isn’t going away.
Now back on Design, enter the repository name. Micro.blog will redirect you over to GitHub to approve access to your account. That’s it! From now on, about once a day, if you’ve added any new blog posts or photos to your blog, Micro.blog will commit and push them up to GitHub in these files:
This structure follows the Blog Archive Format.
The old implementation of this only used the GitHub API. The new version does still depend on GitHub for signing in, but most of the plumbing has been rewritten with standard Git commands, meaning we can adapt it for other services like GitLab or Codeberg in the future. It also more efficiently wraps up commits into batches of 10 files each to simplify large pushes.
There’s also a change in whether files are ever deleted from a repository. Now if you delete an upload, like a photo, Micro.blog will also delete that file on GitHub.
I’m always sad to see people leave Micro.blog if they choose to take their files elsewhere, but I am not sad when everyone has good backups of their blog. We have exports in multiple formats, an open API for building tools, automattic ping to the Internet Archive, and this updated GitHub backup. Happy blogging!
Listening to Quiet Town by the Killers on repeat this morning. Great song. Haunting. When I travel, I sometimes think about the disconnect between rural and urban America, and what it’s cost us politically too.
Superficially, maybe it’s a win for Meta to have hired all these researchers away from Anthropic, OpenAI, and even Apple. I’m not so sure. The money is nice, but I expect most people doubt that Mark Zuckerberg cares deeply about AGI. Also it’ll take time for a team to gel after such disruption.
Chance Miller at 9to5Mac on Apple’s EU changes:
Apple says that it was the EU who dictated which features should be included in which tier. For example, the EU mandated that Apple move app discovery features to the second tier.
Something isn’t adding up here. If the EU is dictating anything, it should be a 0% fee tier in addition to the standard App Store paid tier. Why would the EU be moving features to the second tier? Either Apple isn’t communicating the full story, or negotiations between Apple and the EU are very dysfunctional.
All the President’s Men is a great movie. Sometimes I think about one particular line from it. Bob Woodward and Carl Bernstein are feeling so much pressure to get the story right, attacked by the Nixon administration and questioned inside the Washington Post, because of all the political ramifications of publishing an explosive story that could either bring down the presidency or destroy the paper’s reputation.
Here’s the scene:
Deep Throat: You’ve done worse than let Haldeman slip away. You’ve got people feeling sorry for him. I didn’t think that was possible. In a conspiracy like this, you build from the outer edges and you go step by step. If you shoot too high and miss, everybody feels more secure. You’ve put the investigation back months.
Bob Woodward: Yes, we know that. And if we’re wrong, we’re resigning. Were we wrong?
My blog posts and podcasts are by comparison very low stakes. No one is going to get fired. No one in the tech world is going to shift tactics because of what I wrote.
And yet I come back to that movie. Maybe I wrote something that people don’t like. Okay, but was I wrong? And am I doing what I believe is right even when it’s hard to articulate to folks whose gut feeling is to disagree? Often the posts that seem the most controversial are also the ones that are proven right, in time.
There are many great bloggers who are better writers than I am. But I’m not careless. If I wrote an essay for this blog, and probably edited it many times, it’s very likely something I put thought into and will stand by.
I don’t delete posts. They are a snapshot of how I was thinking about a topic. Sometimes the world moves on and the old posts are no longer relevant. Sometimes the world moves closer and the old posts are gold.
I haven’t looked into the full context behind the quote in this post from @jasraj, but I do love this phrase:
when hatred presents itself as virtue, it becomes seductive
Sadly there are variations of this across ideologies. When fighting for what’s right steps over the line to extreme characterization of others, vilifying them. As regex fans know, now we’ve got two problems: the hatred in others and the hatred in ourselves.
Ben Thompson’s back from the summer break with an excellent rundown on AI and fair use. In a nutshell, LLMs are transformative and it’s so difficult to prove they affect an existing work or even a market, fair use for training will likely stand. If we don’t want that, there will have to be new laws.
Congrats to Stephen Hackett on 10 years indie! He’s written a great post with some of the history and priorities he brings to his work. Also love this part on the downsides:
Publishing endlessly can lead to burnout. Social media can poison your opinions. The Internet can be unforgiving when it comes to mistakes. Working virtually can become lonely. Relevance can fade.
That “poison” line is so true. When all you read is everyone else’s hot takes and a community’s growing consensus, it’s harder to have original, possibly more nuanced thoughts on popular topics.
This blog post from Robert Birming perfectly captures what Micro.blog is trying to do by leaving some features out.
“I know how to use a semicolon, ChatGPT. Don’t come for me.” 🤣 — from the Book Riot podcast
I used to really love the em dash. Now that ChatGPT also loves it, I’m using it a little less often. The bar is higher for when I feel like it really belongs.
Finished watching Long Way Home. I love these travel series with Ewan McGregor and Charley Boorman. The older ones are great too.
Fixed a couple bugs this morning and replied to a few emails. I think this is going to be a busy week. Also if anyone on Bluesky has feedback on my proposal for AT Protocol embeds, please let me know. I’ll be moving forward with it soon.
We’ve got all these philosophically compatible platforms that are technologically unable to work with each other. But what if they all were really on the web? What could we build then? Everything.
I’ve missed a lot of really good work on Micro.blog plug-ins from the community recently. Just a few examples: Postlist has new options for embedding lists of blog posts, Open External Links makes links in blog posts open in a new tab, and Privacy-Friendly Google Maps is a shortcode for maps.
Just released the latest version of Micro.blog for Android, version 2.5.2. Full release notes over on the help forums. This has a bunch of fixes, UI tweaks, and better automatic accessibility text for photos.
Got sidetracked looking at my old tweets, which years ago I had imported to my blog with Micro.blog. I left Twitter in 2012. Then later I cross-posted some blog posts to a separate account. The last blog post there was 2022, a post about Elon’s plans for Twitter. Holds up really well.
Whenever our house comes close to flooding, or does flood, I think back to the time when I was at WWDC and my wife called me that there was water in the living room. It was during the old beer bash. Captured in a tweet from 2009.
The rain was not letting up, had to spend the last hour in the downpour, digging a channel on the side of the house to help relieve flooding next to the garage. Don’t think the house will flood. Water can be difficult… So many people are worse off.
Stunning, tragic photos out of Kerr County. Devastating especially for the kids at camp, some missing. Austin Monthly has links for how to help.
Last weekend I checked the weather because I was considering camping. I don’t even remember rain in the forecast. Now it’s the worst flooding in decades.
This will be shocking to my Kickstarter backers from 8 years ago: I did some more edits on the book this week. Updated some old things, new thoughts on Mastodon and Bluesky, added a new chapter. Print run will happen this year.
Minor nitpick in macOS Tahoe, the selected tab in Terminal is very subtle. Seems a usability step back from previous macOS releases. I might need to switch to a third-party terminal app again.
Rewatching the opening of the original Jurassic Park up through the Brachiosaurus. It really is an incredibly good sequence. Greatest dinosaur movie… after Land Before Time. 🙂
I like how in Jurassic World when they say, “we had to make the dinosaurs bigger and crazier because people were bored with regular dinosaurs,” they aren’t talking about the people in the movie. They’re talking about us, in the audience. Actually some beautiful scenes in this one, though. 🍿
iOS folks, if you’ve noticed that annoying Micro.blog app problem where the new reply pane isn’t tall enough, you may want to grab the latest TestFlight beta where we’re testing the fix. This is also in review for Android already. No risk to using TestFlight, it’s just sometimes a step ahead.
Today we’ve updated Micro.blog for macOS to version 3.5.8, fixing a couple problems. I’ve also improved the Logs window to color in green the lines for when a blog publish was finished. Just makes it a little easier to see when glancing at the window.
Micro.blog keeps the log to show when it’s preparing your posts, when they’re being run through Hugo, and then when they are actually available on the web.
Those of y’all who have listened to Core Intuition for years might know that I always avoid .10 bug fix releases. As a long-time Mac developer, my brain is still wired with the classic vers resource, and .10 feels wrong and potentially confusing for sorting. Since we’re at .8 already, it’s almost time to bump the version to 3.6! Thinking about what new features might be appropriate for that release.
If you use Micro.blog but haven’t tried the Mac version, check it out! I think it has gotten quite good. The web version will always be the complete version of Micro.blog, but for posting, editing, managing uploads, and much more, the Mac version is my go-to app.
It’s a solemn July 4th. We’re on the wrong path. Yet if you have time off or are spending the weekend with family, enjoy it. We can choose to celebrate the good, such as the chance to correct some mistakes in 2026. 🇺🇸
We can never really know what people are going through on the internet, because so few people share their full selves online. In a sad way, it’s best to assume that not everything is okay. That way we can show true empathy, not attacks, not even a performance of fake kindness.
Submitted the latest round of Android improvements to Google for approval. There’s one fix that hasn’t even made it into an iOS release yet. Depending on review timing, this might be the first time that we’ve shipped bug fixes for Android before iOS!
Found via Loura, A Small Web July, spending time away from big social media:
Beefing up my RSS feed with content I want to see, both big-and-small web. YouTube isn’t a problem for me until I go onto the website itself and get sucked into a hole, but subscribing to a channel on RSS isn’t a problem for me.
We are still planning an Android update soon. I worked on a couple minor tweaks this morning, to go along with other recent improvements brought over from iOS. Actually feels good to tinker in Android Studio again since my world is mostly Xcode.
Quitting programming as a career right now because of LLMs would be like quitting carpentry as a career thanks to the invention of the table saw.
This analogy works in a couple different ways. You can ignore the table saw if you love the craft of creating with hand tools. You can use the table saw where it saves time and still be proud of the end result.
Racist videos that appear to be created with Google’s AI video generation tool Veo 3 have raked in millions of views across TikTok, according to findings from the nonprofit media watchdog Media Matters.
The full report from Media Matters is very disturbing. It’s not just a couple videos that fell through the moderation cracks. It’s many videos and millions of views. TikTok is designed for this.
Infinite content plus viral social platforms is a bad combination. Curation will be nearly impossible as long as social media is designed around likes, reposts, and algorithms. AI is the accelerant to garbage abundance. The best way to stop the spread of hateful content or misinformation is for platform developers to consider that virality is as much a bug as it is a feature.
Saw something today that reminded me of MyEdit.com, which was a little web app I built in 2002, for editing notes. That was back when I only had a couple domain names, not dozens. Never released it publicly. The notes in Micro.blog are worlds better, so I guess all ideas eventually come back around.
As voicemail transcripts get better, I hope we eventually get muting. Maybe with keywords (matching “you’ve been approved”) or even an AI-based approach (“auto-delete any future calls like this one”).
I’m considering some improvements to our Bluesky and AT Protocol implementation in Micro.blog. Currently we can cross-post blog posts to Bluesky, either manually or automatically whenever you post to your blog. You can also follow Bluesky users directly in Micro.blog. You can even browse Bluesky starter packs.
There are several directions we could go from here. At one point, I thought PDS hosting would be the next step, but it still feels too early for that, and it would be a daunting infrastructure change. I’d like to instead focus on lexicons.
When we post to Bluesky, short posts under 300 characters are preserved mostly as-is, with inline links and photos. Longer posts are truncated. Posts with titles are linked back to your blog, including the post summary if it’s set.
Meanwhile there are people in the AT Protocol community exploring long-form content, such as WhiteWind and Leaflet. My rough plan is:
Posts in Bluesky can only have a single embed, which is a union that could be one of several types. The most common embed is an array of images. Another embed is the Open Graph preview. A new blog.micro.embed.post lexicon would be an additional embed.
Let me try to visualize this structure with a diagram of two posts. The first is a simple short microblog post. The second is a microblog post with the full-length blog post embedded in it.
Note there are a couple of potential issues here, and probably others I haven’t run into yet:
images field inside the embed, so Bluesky clients can fall back on that.blog.micro.richtext.image that represents an image. In the same way you could have a range of text that is a link or @-mention, you could have a range of text that is an “image” and should be replaced in a post renderer with the image, or linked to open the image.Of course it’s a slippery slope to just reinventing HTML. I’ve included an optional html field that has a copy of the blog post as the author intended. If available, clients could choose to show that in an embedded web view. But by attempting to stick with Bluesky’s rich text and facets wherever possible, it feels like it is a little more at home with the network.
I’ve published drafts of this on GitHub: blog.micro.embed.post and blog.micro.richtext.image. Feedback welcome. These are not finalized and might be wrong or later change in breaking ways until I actually write the code.
There are many possible paths. Our path was our path paved with our opportunities and our choices. Your path is and always will be your path paved by your choices.
Joanna Stern’s latest video about AI energy use is informative and fun. Folks on either side of the AI debate will probably enjoy it.
Maybe you’re a fantasy book fan and need some good news? Brandon Sanderson’s Isles of the Emberdark shipped to Kickstarter backers today, everyone else in about a week. I’m planning to start it tonight. I thought it was going to be a novella… Excited to see it’s a full novel. 📚
Just sad and deflated about the senate passing Trump’s bill. It’s going to hurt a lot of people, including many people who voted for Trump. Today was mostly inevitable after the election, but there are still some positive, more narrowly targeted things we can focus on, while we wait for 2026.
Amazon’s scale is mind-boggling to me. They now have a million robots for their fulfillment warehouses.
Matthew Prince announcing a major new effort at Cloudflare to block AI crawlers:
Cloudflare, along with a majority of the world’s leading publishers and AI companies, is changing the default to block AI crawlers unless they pay creators for their content.
I’m concerned that this default goes too far. Cloudflare has enormous power to intercept web traffic, because they’ve effectively re-centralized DNS for so many websites. While Matthew’s reasons for doing this are good, it should still be an opt-in feature. The open web should by default be open.
When you think about where Cloudflare’s business originally came from — protecting websites that were under a denial-of-service attack — it’s understandable that Cloudflare would see any non-human request as fitting in the same category. Bots from hackers are bad, stealing hosting computing resources. Bots from AI companies are also bad, stealing content.
That’s an oversimplification, though. Some bots from AI companies are training new models. Some bots are acting on the user’s behalf, a little more like a web browser, such as reasoning models that make new requests to the web to answer questions and cite their sources.
Cloudflare has a series of blog posts today with more details. In one post, they outline how AI crawlers can use HTTP Signatures (similar to what ActivityPub uses) to identify themselves if they have a relationship with Cloudflare for making payments to web publishers. When enabled, Cloudflare will return an HTTP 402 “payment required” response. There’s a mechanism for crawlers to say how much they will pay or to accept the listed price.
Cloudflare continues:
At its core, pay per crawl begins a technical shift in how content is controlled online. By providing creators with a robust, programmatic mechanism for valuing and controlling their digital assets, we empower them to continue creating the rich, diverse content that makes the Internet invaluable.
This sounds noble. However, this is a potential new source of revenue for Cloudflare, because they handle the payments from AI companies, and so they could choose to shave off a percentage for themselves. I’ve found no documentation yet for what this business arrangement might look like. I’m not suggesting that Cloudflare is doing this only for profit, but their business model could shift a little. They could be incentivized to block more requests, in the same way that Meta is incentivized to show more ads.
I can also imagine a harmless bot accidentally getting mislabelled as an AI crawler. Cloudflare has significant control even though they aren’t even the ones hosting your web site. According to a companion press release today, Cloudflare proxies traffic for 20% of the web.
In running Micro.blog, we sometimes see problems like this already. Micro.blog is always polling RSS feeds in the background, so that you can host your website on WordPress (or anywhere) and those posts will show up in your Micro.blog account. There is nothing nefarious about this. It’s how the open web and RSS feeds are supposed to work.
There have been a lot of good discussions lately — including in another one of Cloudflare’s blog posts today — about how the shift from Google to AI chatbots has affected web publishers:
Content publishers welcomed crawlers and bots from search engines because they helped drive traffic to their sites. The crawlers would see what was published on the site and surface that material to users searching for it. Site owners could monetize their material because those users still needed to click through to the page to access anything beyond a short title.
This is a narrow view of the web, though. What about all the blogs that don’t need to be monetized at all? We all publish to the web for a variety of reasons: to share what we’ve learned; to be part of a community; to have a place online for our photos; to help us think through a topic while writing a blog post like the one you’re reading; and just because it’s fun to add a little something to the larger web, building on human writing and culture. Not everything needs to be a financial transaction.
Cloudflare’s move today is bold. It is architected heavily around the needs of ad-based web publishers, but there will likely be costs in complexity for everyone else. For those who distrust AI companies, it will be worth it. I don’t know yet whether it’s actually a good thing for the whole web.
At Cloudflare’s scale, defaults matter. Such a big change should default to opt-in until we know more about how it will affect the web.
Fascinating post from Allen Pike about spending $1000 as a trial with AI coding agents. I can’t justify nearly that much money. (See: bootstrapped, no investors.) But when working with CSS changes a few days ago, I dropped about $5 using Codex CLI. For me, in small bursts like that it’s worth it.
Cloudflare dropped a big change today in a series of blog posts about AI bots. I was about to post a quick take, but I’m taking more time to read all the posts first. There’s a lot there.
Walked to the coffee shop this morning, but when I got there and opened my laptop, it appears to be updating to the latest macOS Tahoe beta. Sigh. Must’ve clicked an OK button yesterday by accident.
There are several good segments in today’s interview with Matt Mullenweg. My favorite might be the exchange with Nilay Patel around whether Tumblr is profitable yet. It actually lines up well with my post from last year, I support the mad king.
Nilay: Is Tumblr sustainable today?
Matt: It is still not profitable. So we’re still supporting it and subsidizing it with our other products at Automattic.
Nilay: How much runway do you want to give it?
Matt: Everything. [laughing] Obviously we’ve invested a ton in Tumblr. I’m a believer in its future. So that’s part of why I want to make it sustainable, because that means it doesn’t have to go off the benevolence of myself or anyone else. It can stand on its own.
Huge news from Mark Gurman at Bloomberg. Apple is considering partnering with Anthropic or OpenAI for Siri:
After multiple rounds of testing, Rockwell and other executives concluded that Anthropic’s technology is most promising for Siri’s needs, the people said. That led Adrian Perica, the company’s vice president of corporate development, to start discussions with Anthropic about using Claude, the people said.
This is probably the right move, and there’s still plenty for in-house AI researchers to work on. If they go ahead with it, delaying Siri was justified, and worth taking the heat for.
Every year since I blogged about fixing exclusive app distribution way back in 2011, there have been little cracks appearing in Apple’s monopoly wall. Growing developer resentment. The lawsuit from Epic Games. New laws like the EU’s Digital Markets Act. Change is clearly accelerating.
Proton is now joining a lawsuit against Apple on behalf of developers:
Challenging one of the most powerful corporations in the history of capitalism is not a decision we make lightly, but Proton has long championed online freedom, privacy, and security, and we believe this action is necessary to ensure the internet of the future lives up to its potential.
They also address an annoyance I usually have with these class action lawsuits: I don’t want a $50 check. I want something meaningful to change. Proton’s solution is to donate any money they receive:
While the suit does seek monetary damages on behalf of all developers who have been harmed in order to deter future anti-competitive behavior and provide compensation to class members harmed by Apple’s anti-competitive conduct, Proton will donate any money we receive from the lawsuit to organizations fighting for democracy and human rights so that some portion of Apple’s profits made from countries with authoritarian regimes are redirected to freedom.
On the technical side, Apple has been making significant improvements to allow sideloading and third-party marketplaces in the EU. The latest screenshots actually look great.
At this point, I don’t think there’s any doubt that eventually, all around the world, it will be possible to install third-party apps, or use external payments, with minimal interference from Apple. It might still be a bumpy road to get there. This lawsuit is an unfortunate but likely necessary part of the journey.
Project Hail Mary trailer is out! Loved the book. Perfect choice of directors for the movie, I think they’ve got this.
One question for AT Proto as a blog backend is whether users will want a single record in their PDS that works across Bluesky clients and custom platforms. In that case, a custom “full-length post” embed inside Bluesky’s own lexicon seems to make the most sense. I don’t want to reinvent the wheel.
Bluesky folks, I’ve been thinking about adding WhiteWind cross-posting to Micro.blog. The lexicon looks straightforward. There’s also Leaflet, which is trying to do a little more with its document structure. Any early adopter “blogging with AT Protocol” users have thoughts?
I started listening to the latest Decoder podcast with guest Matt Mullenweg, but I’m not yet to the part about Tumblr. Not hugely surprising, they have paused the (monumental) task of moving Tumblr’s backend to WordPress:
The company announced the plan to move over the more than half a billion blogs on Tumblr last year, saying that the change would “make it easier to share our work across platforms.” But Mullenweg says on Decoder that, “what we decided is that we want to focus as much on the things that are going to be noticeable to users and that users are asking for.”
Final day of the photo challenge. After a busy weekend, I needed a little solitude. Houndstooth Coffee on MLK. ☕️
Starting to roll out some improvements to the Micro.blog “marketing” home page, for new users or when you’re signed out. The content isn’t really different yet. I’m sticking with the full-screen paintings, and several layout and link problems are fixed, especially on mobile. Still work to do.
Rumors from Ming-Chi Kuo have Apple smart glasses about two years out, mixed reality glasses three years. I assume there is nothing set with dates that far away. Looking forward to seeing what Apple can do with glasses, but it’s all pinned on Siri getting much better.
The Internet Archive has a blog post reacting to last week’s Anthropic case and its potential effect on libraries:
This decision reinforces the idea that copying for non-commercial, transformative purposes—like making a book searchable, training an AI, or preserving web pages—can be lawful under fair use. That legal protection is essential to modern librarianship.
Andreas Deja blogs about the upcoming 40th anniversary of The Black Cauldron:
…our inexperience as young film makers really shows in the film. Many of us were straight out of art school with little experience in animation. But…I keep meeting young people who are very fond of The Black Cauldron.
Here’s a story from the dark ages of video releases. I really wanted to watch it, but the VHS version wasn’t released here until years later. Someone from Europe sent me a copy in exchange for another video release from the US. I brought the tape to a local company to convert from PAL to NTSC. 🤯
Speaking of Texas state parks, over the weekend I dug into confusion about the number of parks. There are two new parks in development, but not yet open:
Going to update my list later, bumping the count from 88 to 90.
Mineral Wells State Park. The hike down to the lake and back was a little steeper and more rocky than we were expecting. Great morning but too hot.
Went to see F1 tonight. Had no expectations, but it stays engaging throughout the fairly long running time. Visually it feels like they really pulled it off. 🍿
Passed a billboard for Basecamp on the highway somewhere outside of Austin today. That was unexpected.
This year has been a roller coaster in so many ways. Thanks everyone who has supported me and Micro.blog. I’m currently working on a slight redesign to our home page, fixing glitches and unifying the Micro.one and Micro.blog pages. I don’t usually make enough time to tell new folks what we’re about.
Winding down on the last few days of this month’s Micro.blog photo challenge. Not too late to post a photo or two if you want to join at the end! 📷
Browsing stock.adobe.com, there’s a new problem with the flood of AI-generated artwork. I’m willing to pay more for art created by a human, just as I want to read words written by a human and not a robot. AI-generated art is abundant and cheap to produce. Yet they are both priced the same by Adobe.
Gemini CLI continues to get hung up on fairly simple things. It’s the free version, using a lightweight model, so I don’t mean to complain too much. Sort of stuck in a loop of trying to update CSS files:
I apologize for the repeated issues with the replace tool. It seems I’m still struggling with the exact string matching. I will try a different approach to remove the old media query block. I will read the file content, manually remove the block from the content, and then write the modified content back to the file. This should bypass the strict matching issues.
Still pretty amazing, though.
After road trips across the country, to California multiple times, all over Texas, through Utah, and to New York… My good luck with the Honda Element ran out this week. Fender bender in a parking lot ripped off my back bumper. It was cracked anyway, so guess it was past time to replace.
Great point from Jeff Johnson on the arbitrary tier 1 / tier 2 differences in Apple’s proposed EU rules:
What I found striking about the search differences between Tier 1 and Tier 2 is that in creating this distinction, Apple clearly considers App Store search to be a developer feature rather than a user feature. In other words, the user’s interest in finding an app via search is disregarded, and Apple is willing to be less helpful to users to the extent that app developers pay a lesser commission to Apple.
I was asked this week about our policy when a subscription expires or sadly even if someone passes away. I know I’ve blogged about this, but I don’t think it was formally documented, so I wrote up a simple help page for it.
Enjoyed listening to the copyright discussion on SharpTech this week. Copyright is not a universal truth. It’s effectively a limited monopoly given to creators. That’s helpful, but it must be balanced with the public good. Sometimes we go too far, like Mickey Mouse’s 95-year copyright.
Experimenting with Gemini CLI to iterate on some web page changes. It’s free for basic usage. It does get confused sometimes, having to re-read files and apply changes multiple times, which makes it feel slow and a little wasteful.
I missed on my first reading of Apple’s new EU rules that “tier 1” developers won’t get automatic app updates. This is going to be very confusing for users. The whole thing seems unworkable to me. Small steps forward, but just barely. I’d like a “tier 0” with sideloading and a 0% commission.
As spelled out in a StoreKit addendum, Apple is replacing the Core Technology Fee in the EU with a Core Technology Commission. It’s a better deal, but on principle I’m against any fee for subscriptions outside of the App Store. Not sure this change is more compliant with the EU’s DMA, either.
Very sad to hear that Anne Sturdivant has passed away. If you were active on Micro.blog over the last couple of years, you may have read her blog or been part of conversations with her. Her username around the web was @anniegreens.
I spent some time this morning browsing her replies to me, general thoughts or feedback about Micro.blog, and my responses. We often see people come and go online, maybe dropping off for a while and then returning later. If we’re lucky, even small interactions and kindness can touch us.
Anne was featured in an interview on Manu Moreale’s People and Blogs just last year. On a part of her creative process:
Personal pieces are far more spontaneous and may reflect how I am feeling or a struggle I am dealing with. Other posts are reactions to blog posts, articles, podcasts, and movies or television shows. I also try to post a near-daily featured photo on my microblog. Sometimes these are curated ahead of time, where I’ll plan out a week of photos, but often they are a picture that the Apple Photos.app is featuring that day. I thought about the kinds of blogs posts once and wrote something about it, I’m not sure I’ve hit all of them yet!
Adam Newbold has some thoughts and additional links:
She was a brilliant front-end developer, and I routinely learned a lot from her. A prolific blogger, Anne participated in many of the IndieWeb blogging challenges and even started one of her own.
I didn’t really know Anne, but she was very thoughtful, and I got the sense that she was one of those people who made a difference. Rest in peace.
I mostly got off lucky with the macOS Tahoe beta 1 install, so much so that I’m nervous about upgrading to beta 2. I’m going to wait a while. Don’t want to risk breaking anything else this week.
Bernie Sanders says if AI is making companies more productive with less, people should get a 4-day workweek. Makes sense to me.
We were just rewatching Gilded Age season 2, and there’s a whole section of the plot about unions and working “only” 8-hour days. It’s about time for another advance.
Creative Commons has proposed a new set of declarations called CC signals to help AI crawlers understand how a creator wants their content to be used in AI training. It has taken me a little while to wrap my head around this, in part because there is a lot of writing to introduce the idea: multiple web pages and a 34-page PDF.
It’s best to skip right to the technical overview on GitHub. There are currently four building blocks, or “elements”, that combined together are an addition to the usual Creative Commons licenses.
At the risk of over-simplifying it, here is my summary of these new elements:
These are layered on as exceptions to a separate proposal at the IETF for completely opting out of certain kinds of AI training. For example, we could declare that we don’t want generative AI training except if “direct contribution” is made back to us.
If we don’t care how our content is used, presumably we simply do not declare any CC signals. My blog is licensed as CC BY, which means I only want attribution when my content is republished in another form. Especially in light of this week’s ruling in the Anthropic case, my blog posts can be used in AI training.
I’ll be watching how all of this shakes out. In Micro.blog, we have a couple plug-ins to block AI crawlers. I also created a plug-in for declaring Creative Commons licenses for a blog. When it appears that CC signals are stable, I’ll add support for signals to the Creative Commons plug-in, for any bloggers who want to be more explicit about how their posts are used for AI training.
Day 24 of the photo challenge, although a day late… Bloom.
I know I said I’d stop blogging about AI for a while, because it has become so divisive, but this court ruling on fair use is too fascinating to ignore. From federal judge William Alsup:
…the use of the books at issue to train Claude and its precursors was exceedingly transformative and was a fair use under Section 107 of the Copyright Act. And, the digitization of the books purchased in print form by Anthropic was also a fair use but not for the same reason as applies to the training copies. Instead, it was a fair use because all Anthropic did was replace the print copies it had purchased for its central library with more convenient space-saving and searchable digital copies for its central library — without adding new copies, creating new works, or redistributing existing copies. However, Anthropic had no entitlement to use pirated copies for its central library.
This strikes me as a defensible conclusion. As I’ve written before on AI training, the invention of LLMs may require updating copyright law. But for now we have to work with what we’ve got. There are some similar themes in the text of the judge’s ruling and in my own blog post linked here about C-3PO. This ruling is much more comprehensive, though, starting to narrow in on a path forward.
In a nutshell, the judge says that legally purchased books can be used to train AI, as long as the models do not reproduce verbatim the original copyrighted works. Pirated books, of course, are a separate issue. They are unlawfully acquired! We can’t steal a book from a store, regardless of what we planned to do with it.
Crawling the web is also a unique problem that is out of scope for this decision. If someone writes on the web and makes that web page freely available, hoping that people will read it, downloading that web page is not the same thing as pirating a book. It’s a gray area in copyright that could be made clear if everyone used something like the proposed no-training Creative Commons license.
People who are deeply concerned that all AI training is theft will likely be disappointed with this decision. But the issue is so complicated, it makes sense that there will be layers to it. Some actions are theft, such as pirating books. Other actions to train AI may be fine, such as purchasing books or licensing web content that has been otherwise excluded from training. I guess the courts will continue to sort out the less obvious questions in the middle.
Working on some more iOS improvements, currently waiting for Apple to review the beta. 🙄 Automated builds via Xcode Cloud are still working well. I mentioned on the special episode of Core Int (🤯) that builds are slow-ish. To be specific, took 16 minutes today. It’s fine.
Stephen Hackett reminiscing on the Aqua introduction from 2000 and what we’ve lost without live demos:
This all makes me miss live keynotes. I know Apple likes the control it has over pre-recorded introductions, but its announcements deserve live demos, off-the-cuff remarks, and the humanity that was once more prevalent at things like WWDC or iPhone introductions.
We know a few new things about the OpenAI / Jony Ive partnership, because of leaks and the iyO lawsuit. I’m skeptical of a screen-free device that is not a wearable. Maybe someone should break away from the rectangle form factor. Square screen, a few inches on each side, very good voice interface.
This is a silly and inconsequential thing to rant about, but… What is the point of crushed ice? It melts too quickly. I understand it for Sonic and Chick-fil-a, but not for a coffee shop. 🤪
It’s going to be too easy to hate on Tesla’s robotaxi rollout. I’m a little sympathetic to a single mistake overshadowing all the rides that are fine, but this tech is clearly inferior to Waymo. It’s a very, very small area in Austin that Tesla is operating in. No excuse for being in the wrong lane.
Yesterday my kids asked why I was snapping a photo of a construction site where a restaurant used to be, and I had to think… I like taking pictures of things that will change.
Most people outside of Micro.blog don’t pay attention to our news blog, so quoting this here too:
Fixed an issue where mentions to Mastodon users weren’t actually sent to remote servers if Micro.blog hadn’t yet cached the ActivityPub info for that user.
If you’re on Bluesky, we also automatically mirror our bug fixes and features to the micro.blog profile over there.
Dave Winer will be keynoting WordCamp Canada in Ottawa:
I’m also not happy with the tech industry of the US. I’d like a fresh start, a return to our roots, with the assumption that the people control their destiny and the role of developers is to give them to the tools to try out new ideas.
There is still so much potential where the fediverse and blogging overlap.
Some of the problems Trump has created are fixable. They are painful for many people, and clearly so morally wrong, illegal, or just plain dumb that they will have to be reversed, with time. And then there are the disastrous, long-term mistakes like bombing Iran that we’ll be stuck with for decades.
I’ve updated the Micro.blog photo challenge page with the final list of words. Thanks everyone for the suggestions! I think I’ve got at least one or two from everyone who sent ideas in.
In hindsight, June was an incredibly busy month for me to do this, but I’m so happy to see people’s photos. 📷
I’ll be updating the photoblog challenge post today with the final set of prompts for the month. If anyone has word suggestions, let me know! The special collection of everyone’s posts is also way behind, so I hope to get that caught up this weekend.
Delivery robots gathering. It’s day 20 of the photo challenge.
New single-page site from Brent Simmons: No Learnings.
I’ve now been using Dia for about a week. Parker Ortolani just blogged that he was skeptical of the Arc to Dia transition, but he’s now convinced:
The success of Dia over the past few weeks has brought me back my roots, reminding me of the iconic Steve Jobs quote “people don’t know what they want until you show it to them.”
My experience with Dia has also been positive. Because I’m not a heavy tabs user — I rarely keep more than a few tabs open, and by the end of the day they’re all closed — I actually prefer the tabs going back to the top of the window. Obviously this was a needed change for the AI sidebar.
My only nitpick is the iOS-like text selection bars, which are distracting. I’m always accidentally clicking on them because of how I often double-click and drag to select text. This is on a Mac:
Using Dia is a nice reminder that there is very little lock-in with web browsers. Switching to a new browser is easy. If The Browser Company can’t make their business work, then I’ll switch to something else.
It’s the 20th anniversary of the launch of microformats.org! So many blogs and social platforms still use Microformats today, including Micro.blog and Mastodon. A simple, useful data format for the IndieWeb.
Cool early preview of Micro Social for iOS 26, with Liquid Glass and “catch me up” summaries of the timeline.
Thanks everyone for the kind words about the maybe just once or very rarely special bonus episode of Core Intuition. It was fun to do the show again after so long.
Updated the Mac app again today, adding a search field for your replies and improving the highlighting when searching posts. I’ve been meaning to do this for a while. Looks a lot better.
I got access to Alexa+ today. Not sure what to do with it. Amazon has an advantage because so many people have these devices in a couple rooms of their house, but there’s not a lot of data to work with. Don’t want to give Alexa my email.
Dave Winer blogs about Bill Atkinson and QuickDraw:
I spent many years building on his work, and many more years wishing I still was. He made a contribution, and that’s, imho, pretty much the best you can say for any person’s life.
Well said. Dents in the universe.
Core Intuition episode number… 26.1?! The podcast is back for a special episode to talk about WWDC 2025.
Everyone’s still subscribed to the Core Intuition RSS podcast feed, right? 🎙️
Dan Moren writing about Apple’s strengths at WWDC, including how adding some features like clipboard history can actually be good for third-party developers:
…the existence of Apple’s own approach actually clues users into the fact that such features exist. A user who had never before thought of having a clipboard history might find themselves wishing the feature went even further, and as a result seek out more capable alternatives.
A short 1-minute video on YouTube showing today’s update to Micro.blog for iOS. Android update coming later this week to match. I just wanted to highlight the different parts of the UI for publishing a draft blog post.
When I was a teenager working at HEB, someone came through the line wearing a Joshua Tree shirt. Or maybe I was wearing it? Anyway, he said all U2 albums starting with Achtung Baby were no good. Zooropa had just come out, and I loved it.
You can’t please everyone. Even if you’re a famous rock band.
After travel and work and family things that have pulled me away, I’m back to the Micro.blog photo challenge! Day 18, texture. Dusting off the microphone.
Tynan Purdy has released a Raycast extension for Micro.blog. If you use Raycast and want a quick way to blog, definitely check this out.
I said I was going to take a break from AI-related blogging, so I’ll just link to this mostly without comment: The Open AI Files. There is a lot in here that skeptics will welcome. Good attempts at unraveling the corporate structure too.
I wonder what kind of machines are running Xcode Cloud. We have to do some setup for each build, and it’s significantly slower than running on my own Mac. Anyway, gonna push out an iOS beta shortly and then submit to Apple today with a couple draft post fixes.
Trying out the new fediverse improvements in Threads. Haven’t launched the app in a while, so I’m happy to discover that following Micro.blog accounts from Threads appears to be working. Interesting choice for Meta to sort of relegate fediverse posts to their own timeline in the UI.
I remember thinking in Trump’s first term that he was a war president without a war, so he goes after political adversaries and immigrants with the same “we must destroy them” attitude usually reserved for an actual conflict. And now… Iran. Trump is unpredictable. Worst person to be in power. 🇺🇸
I recorded a quick video on YouTube of a new way to have photo accessibility descriptions generated for you. There are a lot of different ways to manage photos in Micro.blog, but this flow is working well for me on the Mac side. Of course if you have AI disabled, it’ll skip this.
Reflecting today on some kind words that were shared with me last week in San Jose. There’s nothing like talking face to face. When we’re only typing at each other online, we’re more quick to jump to the wrong conclusions, more likely even to dehumanize other people.
Neat new plug-in for Micro.blog-hosted blogs from @jim:
I threw together a really simple Micro.blog plugin to automatically open external links in a new browser tab or window by adding a “_blank” target link attribute via Javascript.
This works because plug-ins can insert bits of JS into a page.
Seeing this link today on Daring Fireball about self-driving reminded me of something I’ve wanted to blog about. Tesla is supposedly set to start their robotaxi service in Austin this weekend. I’m slightly worried about it.
Now that I’ve been in a Waymo — and experienced how smooth a ride it was, as safe or more safe than most Uber or Lyft drivers — it seems like asking for trouble to use anything short of the same technology, with lots of cameras and LiDAR.
Elon Musk said recently, when trying to justify how Tesla only uses cameras and AI:
People don’t shoot lasers out of their eyes to drive.
Funny, except that humans are often terrible drivers. People rarely even check their blind spots when changing lanes, let alone have a 360-degree field of view. We are not exactly the gold standard in driving safety.
It’s sad that we’ve just accepted that tens of thousands of people die from car wrecks every year in the United States. We should be doing more to minimize injuries and deaths on the road. Waymo seems like a step in the right direction, and Tesla’s approach seems like a step back.
Glad I stopped sending my posts to the fediverse for a little while. So much of what I see on Mastodon is tribal. Small communities can be great, bringing people together and offering tools for moderation, but people also seem careless and prone to attacks right now.
I’ll be releasing a new Mac app today, with a few updates for macOS Tahoe. It’s the bare minimum, and more changes will be needed later when Tahoe ships to everyone. One quirk that is annoying me is how to handle items that were previously very close to the edge of a window, like this photo icon.
Tried the ChatGPT integration in Xcode 26. It’s pretty good! It seems to guess at which of my project’s files it should include in the context. Wouldn’t mind if it sent even more, at least all my Obj-C headers.
“Can I preemptively squircle myself?” — John Siracusa on ATP, discussing Tahoe’s dock round-rect jail
Duncan Davidson is moving on from Shopify, in part because of what will change with AI:
It’s like 1997 and the early web all over again. But different, and more extreme. Of course, like then, many will be looking for a free lunch or to create party tricks. And, like the web, it’ll take us a while to really figure out how it’s going to change the world. For those that invest the time and effort, however, entirely new horizons are opening up even as entire industries are about to be rewritten.
Not convinced about the new menu item icons in macOS Tahoe. It seems very unlikely that there will be suitable icons for every menu item in an app, so you’re left with a disjointed UI. I think it’s going to be more distracting than helpful.
Today we shipped an update to Micro.blog for iOS that has lots of little bug fixes. You can grab it in the App Store. Here are the changes:
A new version for Android will follow soon.
I’m also updating the Mac app with a few improvements for macOS 26 Tahoe. If you want to try the beta, you can download it directly for your Mac.
D. Griffin Jones blogs a mockup of the Finder icon, restoring the colors:
The frustrating thing is that Apple definitely prototyped this exact design. It was probably one of the first designs they tried.
One issue Apple might’ve run into is what to do about dark mode. In Tahoe, they keep the person outline in the same blue. I hope they continue to iterate on this.
Listened to AppStories on my walk this morning. Fascinating what a completely different WWDC experience I had without a ticket this year, mostly hanging out in San Jose. I had a great time, though, more chill and less frenzy than past years. Part of getting older is I don’t need to do everything. 🍻
Because I wrecked my Xcode install for release builds by upgrading to macOS Tahoe, I’m switching over to Xcode Cloud. Probably should’ve done this earlier. By waiting a few years, at least Apple probably has gotten most of the kinks worked out.
The left-aligned text for alerts in macOS Tahoe is such a welcome improvement. Apple just needs to center the icon and it’ll be good.
I just updated the Micro.blog photoblogging page with the latest words for week 3! 📷
Stay safe everyone going to a No Kings protest. I like this:
A core principle behind all No Kings events is a commitment to nonviolent action. We expect all participants to seek to de-escalate any potential confrontation with those who disagree with our values and to act lawfully at these.
🇺🇸
Now that I’ve had a little more time with it, I see what Dia is going for. It’s not just about asking AI questions about a web page. It also aspires to become the starting point for all questions, replacing dedicated apps like ChatGPT or Claude.
Gatto from Enrico Casarosa sounds amazing:
The Annecy crowd cheered the announcement and went wild as Docter unveiled animation tests of a distinct, unique hand-painted look, something Pixar has never shown before. The film appears to be rich in colors from Venetian settings, and blends 2D hand paint textures with cutting-edge CG animation.
Trying Dia, which is now available if you had an Arc account. It is very interesting. Not sure yet whether I will stick with it, or go back to Arc.
We’ll be doing a couple betas of Micro.blog for iOS, whenever Apple approves it. If you’d like to be on the latest version, you can sign up on TestFlight. I tend to do short betas — just a few days or week and then it’ll ship to everyone.
Casey Liss blogs some initial reactions to WWDC, including on the new iPad multitasking:
They work well with a finger, but work great with a pointing device. The new multitasking mechanism will remove many of the shackles I feel when using my iPad Pro. I no longer feel like I’m trying to wade through wet cement when using it. I don’t feel like I’m bending to its needs — rather, it’s bending to mine.
Steve Job’s commencement speech at Stanford is so good. On the 20th anniversary, the Steve Jobs Archive has published notes and drafts he sent himself. I love seeing this.
Tragic airplane crash in India. A single survivor out of over 200 people… Keep thinking of Unbreakable.
Today I’ve been fixing little bugs in Micro.blog for iPhone that have been annoying me. Any glitches that you’d like to see prioritized? Let me know!
I’m sure this acquisition of Clay was in the works for a while, but the timing feels wrong so soon after the Automattic layoffs. I’ve been mostly supportive of Matt Mullenweg and Automattic through all the drama. I’d just like to see them get back on track.
I’m going to take a break from AI-related blogging for a few months. I think the pause will do me and my readers some good. It’s too divisive an issue, and I expect in the coming years there will be a small but vocal faction that pushes back against AI more than there has been pushback against any other technology in the last 100 years.
As much as I am optimistic, it’s going to be a little painful for society, as everyone wrestles with the ramifications of intelligent agents and machines. (Hopefully mostly in software form. I remain adamant that humanoid robots are a bad idea.)
You can roll your eyes at this post. While I have a good track record of predicting the fallout from other major tech shifts, like mobile app distribution (2011) and centralized social networks (2012), there are too many forces at play here to be certain of what AI will look like in a decade. I only know that it will change many things. I can barely guess at the details.
I’ll close with a word of caution for the skeptics. In your arguments against AI, avoid exaggeration and extremes to fit your narrative. There has been significant misinformation on that side, from proclamations about copyright and fair use — issues that are not at all settled — to inflated or outdated numbers on energy and water use. In a blog post this week, Sam Altman shared the first numbers I’ve seen from a major AI cloud provider:
People are often curious about how much energy a ChatGPT query uses; the average query uses about 0.34 watt-hours, about what an oven would use in a little over one second, or a high-efficiency lightbulb would use in a couple of minutes. It also uses about 0.000085 gallons of water; roughly one fifteenth of a teaspoon.
Of course, it’s more complicated than that. There is training and there is Jevons paradox. But that’s the point, these discussions should have nuance. If they don’t, they are probably off the mark.
Thanks to everyone who has written thoughtful posts on this subject in reply to my own posts. I remain focused on what humans can do — writing, photography, and art in Micro.blog. Nilay Patel, with John Gruber and Joanna Stern for The Talk Show Live this week, talked about how the rise of agents will upend the business model of the web. But people have counted out the open web before. It’s still here and strong.
AI will help me code, it’ll help review my writing, it’ll help me brainstorm, but it’ll never write posts for my blog. I’m typing this draft on my phone, on a plane back to Austin, offline without wi-fi. Even as it feels like AI is taking over too many things, there will always be quiet spaces where humans can just think and be creative, and that will always matter.
The Talk Show Live was excellent. My WWDC week is winding down… It was great to catch up with folks. Saw several people tonight I hadn’t seen in years.
I downloaded the .ipsw for macOS Tahoe before realizing I would need a second Mac to install. So just did the Software Update, naively thinking it would prompt for which partition to use. Nope. So I’m accidentally running Tahoe on my main system. Onward!
Liquid Glass is getting a little bit of hate after the first day of WWDC. Apple can dial it back in some places, but I think it’s mostly going to work. I’ve also tested the Micro.blog iOS app with it. We’ll update our UI as we get closer to the final iOS 26 release. Amusing button glitches:
Dave Winer blogging about Bluesky’s choice of using domain names for handles:
They were smart at Bluesky to use DNS this way. Why invent your own identity system when the net itself has a great distributed system that scales?
Catching up on yesterday for the photo challenge. Day 9, wood. From walking around Oakland, near Children’s Fairyland.
Ben Thompson writes about Apple refocusing on what they’re good at for WWDC. For the new models:
What is compelling about the Foundation Models Framework is how it empowers small developers to experiment with on-device AI for free: an app that wouldn’t have AI at all for cost reasons now can, and if that output isn’t competitive with cloud AI then that’s the developer’s problem, not Apple’s; at the same time, by enabling developers to experiment Apple is the big beneficiary of those that discover how to do something that is only possible if you have an Apple device.
Planning to install macOS Tahoe later today. For now, only downloaded SF Symbols 7. Still no robot icon! 🙁
There’s more in Apple’s new Foundation Models than I was expecting. The struct interfaces and tool calling especially. Fascinating.
iPad windowing looks good. Funny we were so worried the Mac would become too much like iOS, but sort of the opposite has happened to the iPad over the years. Files app also becoming a little more like the Finder.
Looking forward to trying Apple’s on-device models. It’s a great direction for them to take. But I’m still doubtful they are going to be good enough for some things, after you’ve been spoiled on much larger cloud-based models. Would love to see Apple’s private cloud computer opened up later too.
My post yesterday about Sam Altman has been pretty well received. Not everyone agrees, which is totally fine! We’ll see how the post ages in a year. I tried to put significant thought into it, though, not just fire off another hot take into the “love AI / hate AI” debate chaos.
New blog post about Micro.blog themes from @ericgregorich. I like the way he describes the “layers” of a custom theme. That’s not a word we’ve used, but it fits well.
Good morning from San Jose. I need to find coffee. My brain is finally switching gears to WWDC. Have barely had a chance to really think about what to expect or to get excited.
It’s the day before the WWDC keynote, an event that used to be anchored by Steve Jobs. He’s been gone 14 years and there has yet to be another executive at Apple who could do what he did. Every once in a while we see a glimpse of a leader in tech who stands out, capturing a tiny bit of the vision that Steve had. Some of them, like Elon Musk, will ultimately disappoint us.
I wrote this post a week ago, edited it a bunch, and still wasn’t sure it was right. I was concerned because I tend to receive extra pushback on my AI-related blog posts. Many people who read my blog or use Micro.blog have a natural distrust of big tech companies. They don’t like Meta, Google, and now OpenAI. They see the downsides of AI the same way they see the downsides of massive social media platforms.
My view is a little different. AI could have a democratizing effect, making the world’s knowledge available to more people, as a complement to the web rather than a threat to it. Truthfully, we just don’t know yet.
While I was sitting on the draft, I started reading the book The Optimist by Keach Hagey, about Sam Altman and OpenAI, to see if there was anything in it that would change my mind. It actually reinforced some of what I had been thinking about.
We all change the world in small ways. Some people change the world in bigger ways. Sam Altman is one of those people who makes big things happen.
Jason Snell is skeptical about whatever Sam Altman and Jony Ive are dreaming up. His blog post captures a sentiment I’ve seen from more than a few people:
I’m skeptical about OpenAI in general, because while I think AI is so powerful that aspects of it will legitimately change the world, I also think it has been overhyped more than just about anything I’ve seen in my three decades of writing about technology. Sam Altman strikes me as being a drinker of his own Kool-Aid, but it’s also his job to make everyone in the world think that AI is inevitable and amazing and that his company is the unassailable leader while it’s bleeding cash.
I’ve listened to dozens of interviews with Sam over the last couple of years. I’ve read many of his blog posts and tweets. I don’t know him, I can’t vouch for his character, but I’ve developed some opinions about him:
The politics can’t be avoided either, because increasingly everything is political and therefore polarizing. I don’t like seeing Sam share the stage with Trump when announcing Stargate. I don’t like Tim Cook donating money to Trump either. I don’t like how quickly the most powerful people in Silicon Valley brushed aside Trump’s criminal record and rhetoric. It now feels like a lifetime ago when Sam blogged about endorsing Hillary Clinton.
But Jony Ive trusts Sam. They’ve hung out and talked about the future. They’ve shared prototypes with each other. Sam has met Jony’s family. And yet somehow the rest of us on the internet are a better judge of who is trustworthy?
I was a little late to generative AI. When Daniel Jalkut and I would talk about early AI models on Core Intuition, my take was essentially: I’m going to be more productive by ignoring all of this and just writing my own code while everyone is distracted with AI. I’ve come full circle since then. I now believe that AI is the most significant advance since the web.
Look at the chain of thought on models like o3, as they search the web, use tools, and reason about a problem. It is remarkable. AI is not overhyped.
For whatever reason, Sam got a bad rap as soon as he rose in prominence. Some people don’t trust him. Perhaps the OpenAI board poisoned his reputation. Perhaps he really is “not consistently candid”. Perhaps he was the face of AI when there was widespread concern about the technology. We love a villain to center attention on.
I’ve tried to call it like I see it based on my belief that most people are good, trying their best to navigate the world, making mistakes and learning. When OpenAI was accused of ripping off Scarlett Johansson’s voice, I blogged:
When your company becomes the enemy, all that matters to people is what feels true. OpenAI’s Sky voice shipped months ago, not last week. We hear what we want to hear. OpenAI mishandled this, no question, but most likely Her is ingrained in Sam’s head vs. intentionally ripping off Scarlett.
People were upset with me for posting this. Now that we’ve had some distance and new information, it seems that I was mostly right. If anything, I didn’t give Sam enough of the benefit of doubt.
I agree with Jason and others that it’ll take a while to see how this plays out with OpenAI and Jony Ive. I was very critical of another high-profile Jony Ive project, the $10k Apple Watch Edition. On Core Intuition 379 in 2019, I said:
This isn’t the watch for the rest of us. The computer for the rest of us. And I actually wrote a blog post back in 2015 — when the Apple Watch came out — about the Edition. I never posted it and I really regret not posting it. I haven’t re-read it recently. I just pulled up the draft. But I have a feeling when I re-read it, it’ll be like, “Oh yeah, this was exactly right.” I wish I had posted it then as kind of a stake in the ground.
The blog post title was: “Apple Watch Edition is wrong for Apple”. And it just went through these points. Out of touch, for the super rich, $10k. This is not what Apple is about. Apple is about making computers and computer-like devices easier and more accessible to the mainstream, through great design, through innovation and great products, not about the super rich.
Sam is, of course, among the super rich. And while too much money can have a corrupting influence, for Sam it has been distracting too, funding so many ridiculously ambitious projects that I expect he’s spread too thin.
I do think there is a certain aspect to Jony’s late career where he hasn’t been as rooted in what normal users need. Jony is hyper-focused on the little details, sometimes to the detriment of the complete product. Sam is all about the big picture. I would not bet against their partnership.
Finally, there is replacing the smartphone. After the interview with Jony at Stripe’s conference, and in the context of the io announcement, there was an understanding that Jony was almost distancing himself from the iPhone, because we’re all addicted to the screens in our pockets. But if you listen to what Jony said, it was largely about social media, not the device:
The thing I find encouraging about AI is it’s very rare for there to be a discussion about AI and there not to be the appropriate concerns about safety.
What I was far more worried about was for years and years and years there would be discussions about social media — and I was extremely concerned about social media — and there was no discussion whatsoever. And it’s the insidious challenge of a problem that’s not even talked about that is always more concerning.
So yeah, the rate of change is dangerous. I think even if you’re innocent in your intention, if you’re involved in something that has poor consequences you need to own it. That ownership personally has driven a lot of what I’ve been working on, that I can’t talk about at the moment, but look forward to talking about at some point in the future.
The phone isn’t necessarily the problem. It’s the apps. Ad-based businesses that feed on attention. In the past, Sam has blogged similar thoughts:
I believe attention hacking is going to be the sugar epidemic of this generation. I can feel the changes in my own life — I can still wistfully remember when I had an attention span. My friends’ young children don’t even know that’s something they should miss. I am angry and unhappy more often, but I channel it into productive change less often, instead chasing the dual dopamine hits of likes and outrage.
This phrase “dual dopamine hits of likes and outrage” is something I wish I had written. The person who wrote that must be at least partly aligned with my own perspective on social media. They get something fundamental about human interactions, about social media, and about how the design of devices and apps can shape our behavior.
We should be building apps that return time to users and bring out the best in human creativity. If a new type of device helps us have more time away from the worst addictive apps, letting us learn or create in new ways, it could be a great thing. I guess I want to be an optimist too. Let’s see what Jony and Sam can do.
Day 8 of the Micro.blog photo challenge: travel. Heading down to San Jose. Not actually my train… It arrived on the other track.
Craig Hockenberry blogging on the eve of WWDC. I expect many developers will agree with his points about App Intents… It’s a lot of work that ultimately puts all the UX control in Apple’s hands:
Instead of building our own ideas on top of a LLM, we’re supposed to provide the internal details of our apps to Apple so they can do it on our behalf.
Always a good day to be able to release some app updates, even on the weekend. Happy to get Micro.blog 2.5 for Android and 3.5.4 for Mac out the door. Currently have some downtime while waiting for laundry, fixing a couple more things for an iOS app updates this week.
Picked up a new hoodie while in Berkeley. Despite knowing exactly what the weather’s like in the Bay Area, I packed only short-sleeved shirts. 🤪
I wasn’t planning to give money to this woman holding up a cardboard sign with her kid, on the corner of the grocery store parking lot, until some guy walked by and started yelling at her. Shockingly hateful. And as backdrop we have what’s going on in LA. 😞
Sunk cost fallacy strikes again. I spent way too much time on my local LLM experiments, finally went back to the main branch to ship a new version. Micro.blog 3.5.4 for Mac is available with some fixes.
Top of Jason Becker’s wish list for WWDC is a package manager for users. It often feels like I’m drowning in package managers, especially with React Native development which somehow requires like 3-4 different package managers. If Apple could step in and simplify all of this, could be nice.
Quiet, cool morning walking through downtown Berkeley. Last time I was here was when I took this photo. That was an amazing trip.
This was unexpected. Walking back to my hotel tonight, I noticed that some of the traffic lights were out. Turns out the power is out at the hotel too, and they gave everyone little glow sticks to help navigate the stairs and rooms.
Finished reading: The Optimist: Sam Altman, OpenAI, and the Race to Invent the Future by Keach Hagey. Listened to the last part as I was wandering around Lake Merritt in Oakland today. Some great details in this book, and perfect leading up to WWDC. 📚
Days before WWDC, where Apple is rumored to open up their models to developers, I must be the only one hitting my head against the wall trying to get image analysis to work with an embedded Gemma 3 model inside my Mac app. I started down this path a month ago, keep chipping away at it, keep failing.
I ended up having to completely skip FediForum. With travel and coding, just too much going on. I’ve also retreated from the fediverse for a bit, so I can focus on my blog and the Micro.blog community. Hope there will be some blog post write-ups of the conference sessions I can read later.
Rest in peace, Bill Atkinson. From John Gruber:
One of the great heroes in not just Apple history, but computer history. If you want to cheer yourself up, go to Andy Hertzfeld’s Folklore.org site and (re-)read all the entries about Atkinson. Here’s just one, with Steve Jobs inspiring Atkinson to invent the roundrect.
I was actually thinking of old QuickDraw a week ago while I was mowing the yard. No joke, my mind wandered into realizing that the most efficient mowing path is a roundrect.
Really enjoying everyone’s photos for this month’s Micro.blog photoblogging challenge. Thanks for sharing! I’ll post the next week of prompts later today. Any word suggestions?
Day 6 of the photo challenge, contrast. Jack London Square / C. L. Dellums Station in Oakland.
For a minute I got really excited about this headline of a LoveFrom-designed electric bike from Rivian. But… a screen and it’s “bike-like”? I’ve been eyeing a new electric bike and always prefer something that looks like an actual, old-fashioned bike. No need to reinvent everything for this.
Joanne Jang who works at OpenAI has a blog post on human-AI relationships:
…many people say “please” and “thank you” to ChatGPT not because they’re confused about how it works, but because being kind matters to them.
I read this last night and ever since I’ve been trying to figure out why I usually type to an AI chatbot with proper spelling and punctuation, even correcting my chat text when I make a typo. It doesn’t matter, the robots don’t care. But it’s almost like if I skip that step, if I’m careless, I’ve somehow compromised all of my writing.
Reviewing my short post last night about the NYT vs. OpenAI data retention, maybe “wild” overreach was an unnecessary adjective. I also hadn’t seen OpenAI’s response:
As part of their baseless lawsuit, they’ve recently asked the court to force us to retain all user content indefinitely going forward, based on speculation that they might find something that supports their case.
There are very real fair-use questions for training, but I’m not sure they can be resolved by this lawsuit, and probably not without updating copyright law.
Congrats to Brent Simmons on his retirement! This is an impressive list of apps to have been a part of. I’ve actively used all of them over the years, and a few I still do:
Along the way I worked on, among other apps, Userland Frontier, NetNewsWire, MarsEdit, Glassboard, Vesper, OmniFocus, OmniOutliner, and Audible.
I did a little digging, looks like I first linked to Brent in 2002, not long after starting my blog. I met him later at WWDC, back when it felt like you could meet everyone, although which year escapes me.
Maybe I’ve become a little bitter because a decade ago I was screaming about big centralized platforms and a return to indie microblogging, and now that everyone else is excited, my voice is still hoarse, and I have less to say. Onward.
Dave Winer blogs about what he’d say in a keynote about new web standards. Keep it simple and don’t reinvent the wheel:
Mastodon and Bluesky should support inbound and outbound RSS, and do it really well. Right now they do outbound only, and the implementations are incomplete at covering the functionality they have now, and there needs to be more
Inbound RSS means letting people’s accounts be configured so that their posts are automatically pulled from a location external to the platform. Micro.blog is one of the only platforms that can do this.
I submitted the latest Micro.blog for Android to Google this morning. Hopefully goes through review and will be available later today or this weekend. If you’re feeling adventurous, you can also install directly by downloading the latest .apk file.
Ghost is weeks away from shipping 6.0 with fediverse support. Excellent!
We have a real opportunity, now, to create the web we want – but the most tempting mistake is to wait for everyone else to join, before getting involved.
No one is waiting. People have been using the fediverse for years. Micro.blog has supported it since 2018. Welcome to the party, Ghost. 🤪
Rolled into Los Angeles super early. Found a coffee shop that I could walk to that was open at 6am. Still forming some thoughts about this Amtrak trip… It was disappointing, and I think I’m done with Amtrak for a few years, which is unfortunate because I love trains. Just too many weird problems.
Seth Godin on burning bridges:
While it’s tempting to imagine that we’re always racing forward, it’s far more likely we’ll benefit from traveling over this bridge again one day soon.
Put another way, some people can be so caught in what’s happening now that they aren’t thinking about the future.
Wow, Pacers. I tuned in just at the right time toward the end. Glad to have some cell coverage tonight! 🏀
Flaky internet today, so just catching up on the new levels of chaos with Trump and Elon Musk. Trump will eventually turn against anyone who supported him, lashing out selfishly, no matter the cost to people or country. This devolved shockingly quickly. 🇺🇸
Vise Coffee in Alpine. I had just finished a cold brew I brought with me, so got a sticker and postcard instead of actual coffee.
I continue to doubt that Apple can roll back external payment links now that the genie is out of the bottle. The appeals court was not persuaded that they should block the order. So we’ll have months of users using external links and the world not ending.
Congrats to A New Social on announcing Bounce, a way to move followers between Bluesky and the fediverse. I like how they’re previewing what followers (and follows) will move. Migrating accounts currently feels very blind, as you cross your fingers and hope everything works across fediverse servers.
This court order is a wild overreach, undermining the privacy of OpenAI users and developers. This would do far more damage than whatever harm The New York Times is alleging about copyright.
This might be a bit dark, but for day 4 of the photo challenge, I was stuck in traffic and looked to my left at this cemetery off MLK. So many stories here.
Eugen Rochko on the phased rollout for Mastodon quote posts:
When we released post editing for #Mastodon, we first released a version that supported processing and displaying edits incoming from other servers, before releasing a version that flipped a switch allowing anyone to make edits. We’re taking an identical approach with quote posts, as the upcoming 4.4 version of Mastodon will begin displaying quote posts from other servers and software. Once this is widely deployed on the network, 4.5 will bring the long awaited ability to quote posts.
I blogged about the Mastodon proposal earlier.
This is a great point on Tao of Mac:
Spotlight has been a complete mess for years, and Apple has done nothing to effectively fix it on any of its platforms–and it would be a perfect place to start integrating AI in a way that would actually make sense and be useful to users.
Spotlight has needed attention for a while. Sometimes works great, sometimes feels like it lags or gets confused about its search index. Finder search is also clunky, could be scrapped and unified with Spotlight.
I can’t remember exactly how I felt when I was watching the original Aqua demo for Mac OS X, but I’m sure I was excited. Now we’re on the verge of another major redesign for Tahoe, and I guess I’m old, because I’m sort of dreading it. It’s going to create a lot of work for developers.
After I drafted this blog post, the part that follows the horizontal rule in a moment, I wasn’t sure I would publish it. Then I read this post by Thomas Ptacek. This line resonated with me:
Extraordinarily talented people are doing work that LLMs already do better, out of spite.
For students, I think it’s great to not use AI too heavily. My son has been working on a project that he completely avoided using AI for. He learned so much about C and memory management that he wouldn’t have learned if he blindly copied half the code from an LLM. It was invaluable to go through those mistakes of referencing a pointer the wrong way, or troubleshooting a buffer overrun, or a number of other problems that you skip if you let a machine write code for you.
But eventually, if he gets a job as a software developer, it will be hard to ignore AI. The only programmers not using AI will be folks who are coding in their spare time for the craft alone, not building products.
The more I think deeply about AI, the more I reflect on humanity and creativity and what our purpose here might be.
I understand feeling distrust for AI on principle. I’ve read so many blog posts from people who have various reasons for wishing AI didn’t work the way it does, didn’t use as much energy, didn’t crawl the web without permission, didn’t put people out of work, didn’t upend education, and so on.
For me, now that I’ve seen AI, I can’t un-see it. I can’t go about my life as if nothing has changed. In a world where machines are smarter than we are, what should we work on? Everyone will find value and happiness in different ways.
As a small example, thinking about this is what led me to add audio narration to Micro.blog. So instead of a web filled with auto-generated AI voices, it’s easier to listen to a human voice for our blog posts. Our voices are imperfect, unique, and beautiful. I’d love to find more places in Micro.blog where we can promote human creativity. (This blog post has an audio version. If you’re reading on the web, click on the play button at the top.)
My gut feeling is that for the folks who do not change anything in response to AI, pretending that AI doesn’t exist, they will increasingly be unhappy. Not today, but eventually. Despite all the hype, the changes will creep up on us slowly over several years.
Maybe this hits closer to home for me because I’m a programmer. I have 30 years of experience writing code, but AI can write code better than I can. A big part of what I used to do has been obsoleted, and that hurts to think about. But another part of what I used to do — designing the right features to build — is still important.
Artists are struggling with the same questions. If any artistic style can be recreated effortlessly by AI, what is the new role of artists? I explored this in more detail a few months ago. Here’s a snippet:
And there will always be a place for human art. Vincent van Gogh’s paintings are not valuable because of what they look like. They are unique and priceless because of who he was. A life, with all its struggle, love, and tragedy.
I guess I’m writing this for all the doubters. Please don’t ignore what is happening, hoping AI will just go away. No matter what you care about, no matter what your job is, there is something you can do that matters. We need you. AI discussion has become needlessly divisive. The future will be better if everyone is working together.
Screenshot of a couple blog post drafts I might publish this week. You can tell I primarily wrote these on my Mac, because whenever I compulsively hit command-S, Micro.blog saves another version. Every few months I need this feature to restore some deleted sentence.
A heads-up to Mastodon folks, I’m disabling the fediverse posting from my blog for a couple weeks. You can always follow me on Micro.blog or via RSS. This feature can help quiet the timeline, great for traveling and thinking and working.
I tend to write about whatever is most fascinating at the time. In the 2000s, that was blogging itself and the transition to Mac OS X, in the 2010s that was the rise of closed platforms, and now it’s indie blogging and AI. If our robot overlords don’t destroy us, the 2030s will be something else. 🤪
Changing my profile photo on Micro.blog for the first time in forever. The last one was a selfie from Disneyland years ago, and the bad cropping always annoyed me a little.
Great post from David Smith about his latest hiking trip:
What I kept coming back to was that in order to have a true “Adventure”, there has to be a high degree of likelihood that you won’t complete it as planned. If the outcome is all but a foregone conclusion when you begin, then you aren’t exploring, you aren’t finding the edges of your abilities.
I also love what has become his yearly routine of taking time away to reflect in the weeks leading up to WWDC.
Speaking of spam, I’m starting to get a lot more emails from people wanting to invest in or buy Micro.blog. Not sure what changed or whether these are sincere. I used to respond to these kind of emails, now have to ignore them.
Junk phone calls have been out of control the last week. I’ve re-enabled “silence unknown callers” on my phone. ☎️
For day 2 of the Micro.blog photo challenge: curve. A shot from when I was walking through the Texas Capitol a few days ago.
For a web browser that has been abandoned, Arc sure has a lot of new updates. 🤪 I think its demise is overstated.
Congrats to Kagi on 3 years! They also announce their upcoming email product in this post. I’m enjoying Kagi more and more, and loved talking to founder Vlad Prelovac on my podcast Timetable last week.
ActivityPub in Ghost has been in beta for a while, with plans to officially ship to everyone in the summer. I started my own test ghost.io blog to troubleshoot compatibility problems. Until now, Micro.blog and Ghost hadn’t played well together on the fediverse.
Here are some things I found that might be helpful to other ActivityPub implementers:
Article for blog posts, and Note for short microblog posts and replies. Because everything in Mastodon is a note, I never had anything special for articles before. I’ve now added support for the name field for blog post titles.as:Public for the to field when creating posts. Mastodon uses the full URL https://www.w3.org/ns/activitystreams#Public. I adjusted Micro.blog to accept both.Note) do not have a permalink on the web. The url field is not set like it is for article posts. These objects only have an id, which is a URL to a JSON file. This means in Micro.blog’s timeline, if you click the timestamp you get JSON instead of a web page. Not a good user experience.to and cc as strings. Micro.blog and Mastodon send those fields as arrays. This doesn’t seem to matter, though.content field when receiving a new note. Instead, it fetches the post again over HTTP and then parses that response. To make this work with Micro.blog, I had to change hosted sites to allow HTTP content negotiation on blog post URLs, something I’ve been wanting to support for a while anyway.All of these changes have made Micro.blog more robust. It also underscores the need for ActivityPub test suites and examples, for developers like me who learn best from looking at real-world JSON.
Thanks to everyone who has participated in the Micro.blog photoblogging challenge so far! It is so fun to see the photos. I’ll be catching up today to make sure the photos grid is current, but there’s a lot there already.
Molly White is documenting the very problematic Looksmaxxing GPT. Now she reports that OpenAI is not going to do anything about it.
I was already thinking that the GPTs experiment is mostly clutter in the ChatGPT sidebar. If OpenAI is not willing to curate it, I wish they’d scrap the whole feature.
Red oak tree, for day 1 of the new Micro.blog photo challenge.
AI haters, you can skip this post. I installed Codex CLI to explain the Ghost ActivityPub implementation to me. I can ask it questions about how it parses JSON-LD and handles various fields. Learning a lot!
Build the wall. First time in northwest Austin in a while, more work on the 183 toll road construction.
I’ve posted the first week of prompts for the June photo challenge. 📷
I’m now at the point in ActivityPub debugging where I’m just reading the Ghost source code, trying to understand what it needs. This is always the problem: you get an HTTP 202 for Create activities, then have no idea why nothing happens when the request is later processed.
Just found out from my son that the latest Playdate SDK has networking! This opens up so many things. Looks like a nice API for HTTP from either Lua or C.
As I fix compatibility with Ghost, there are some surprises. For example, Ghost notes don’t appear to exist on the web. No url in ActivityPub, no permalink in the Ghost dashboard. Maybe a temporary limitation.
It’s always been a strength of Micro.blog that short and long posts are the same thing.
The redactions in this internal OpenAI document are hilarious to me. You could turn it into a Mad Libs:
Our long-term growth depends on [something surprising]. For H1, our top focus is [a dramatic goal], but we’re also pursuing [a fun side quest].
Enjoying the reporting from The Verge’s Adi Robertson on the Google antitrust trial, covering potential remedies:
Mehta points out a contradiction: the government wanted to exclude a bunch of other search-engine-like services to establish Google had no meaningful search competitors during the liability trial, and now it wants to add new ones during remedies.
In my conversation with Vladimir Prelovac on yesterday’s episode of Timetable, we also talked about whether a remedy could be sharing the search index with other search engines like Kagi.
Tickets are available to The Talk Show Live from WWDC. No Apple execs as guests this year. John Gruber:
This year I again extended my usual invitation to Apple, but, for the first time since 2015, they declined.
I’m excited about this. It’s good to mix it up and get some different perspectives.
I wrote a draft post about billionaires and the open web a couple months ago, and the couple folks I mentioned it too have told me not to post it. Good advice. So instead I’m working on a long blog post about Sam Altman, a topic which can’t be at all controversial. 🤪
Looked at Threads for the first time in months. I haven’t missed it. I’m glad we have automatic cross-posting to Threads from Micro.blog, but I don’t personally need it and I rarely hear from people who use it. Maybe it works perfectly, or maybe other folks have lost interest in Threads too.
Steve Klabnik blogs about how AI views online have become extreme and frustrating to read:
What is breaking my brain a little bit is that all of the discussion online around AI is so incredibly polarized. This isn’t a “the middle is always right” sort of thing either, to be clear. It’s more that both the pro-AI and anti-AI sides are loudly proclaiming things that are pretty trivially verifiable as not true.
My interview with Kagi founder Vladimir Prelovac is now up! You can listen on the web or subscribe to Timetable wherever you get your podcasts.
In many ways I’m a terrible sys admin. For the last couple years I’ve been dealing with ballooning memory usage in Redis, confused, and only now have finally taken some time to understand it. I’ve been running a cleanup script for the last week that has trimmed memory from 45 GB to 16 GB. Whew!
Manu Moreale has some thoughts and skepticism about how AI and web browsers are going to mix:
We all yelled and screamed because the web has too many gatekeepers, we all lamented Google search results going to shit, and we all celebrated when new search engines were coming up. Why would I be happy trading a search result page filled with links—even if ranked in a flawed way—for a block of text that gives me an opinionated answer and maybe some links?
I was listening to the latest Decoder podcast with Sundar Pichai and these same questions came up. Is the future of the web really just agents talking to each other? That can be part of it, but not it. I think we’ll need a web browser that can seamlessly transition from answering questions to interacting with web pages on their own terms.
As for The Browser Company, if they were bootstrapped or had minimal funding, they could charge a subscription for Arc or Dia. I’d probably pay for it. But Manu’s right that reaching the scale they want is very difficult.
In an interview with Axios today, Dario Amodei warns about the jobs that will be lost because of AI:
Amodei said AI companies and government need to stop “sugar-coating” what’s coming: the possible mass elimination of jobs across technology, finance, law, consulting and other white-collar professions, especially entry-level gigs.
Dario suggests a “token tax” on AI companies, including of course his own Anthropic, with the money getting redistributed somehow to offset job losses. Unfortunately the Trump administration is completely out to lunch on this. The tax cuts (and Medicaid restrictions) currently planned would go in the opposite direction.
I’ve been thinking lately about how Andrew Yang’s pitch for Universal Basic Income was a little too early. We’re going to need candidates in 2026 and 2028 who can speak about this.
While doing research for another blog post, I also found this older post from Sam Altman:
The default case for automation is to concentrate wealth (and therefore power) in a tiny number of hands. America has repeatedly found ways to challenge this sort of concentration, and we need to do so again.
Sam supported a study on UBI from 2020 to 2023. There are some findings here, although it was during COVID so employment was all out of whack anyway.
Federico Viticci provides an early look at the new LLM-powered automation tool Sky:
The real strength of Sky lies in its ability to mix and match the non-deterministic nature of LLMs with the deterministic approach behind scripts, combining the two in a new kind of hybrid automation that is smarter, more flexible, and more accessible.
Looks impressive. The preview right before WWDC seems like significant timing too.
Matt Mullenweg on how a thought goes to idea to writing to blogs:
Once you publish publicly, you open yourself up to the beauty and chaos of the wider world. The best reason to blog is comments, the people who find you and add to your thoughts, who you never would have imagined.
This is probably a dumb, self-inflicted privacy leak, but as an experiment I asked ChatGPT to look at the last 5 months of bank transactions. No major surprises: we spend too much on eating out, cell phone plans, and streaming services.
Bono was great on Jimmy Kimmel last night. I was lucky enough to see his show a few years ago, but still excited to watch the filmed version when it drops on Friday. And hints at a new U2 album! 🎶
Letting go of Core Intuition has created a podcast void in my work. Today, I just posted a new episode of Timetable. Just 2 minutes, remembering how to podcast. Tomorrow I’ll have another new episode — an interview with Vlad Prelovac.
I’m rooting for The Browser Company folks, because it’s good to have competition in browsers, but their messaging has been all out of order. They could’ve quietly maintained Arc without making a big deal about it. Also, wait until Dia is available so people focus on the new stuff. (Posted with Arc.)
We just released a new version of Micro.blog for iOS that adds two improvements:
Here are a couple screenshots showing the changes:
We’re wrapping up the Android version too. Hope to submit it to Google for approval later this week.
The Browser Company has a long post about why they’re working on Dia instead of Arc. On how chatbots and browsers will merge:
Our tabs aren’t expendable, they are our core context. That is why we think the most powerful interface to AI on desktop won’t be a web browser or an AI chat interface — it’ll be both. Like peanut butter and jelly.
John O’Nolan celebrates 12 years of Ghost. Congrats to the team! Amazing success, and the revenue is an inspiration for much smaller platforms like Micro.blog to aspire to:
Fast forward to 2025 and I still have no idea what I’m doing, but we’ve come a long way nevertheless. What started as little more than an idealistic open source pipedream has blossomed into a business with $8M/year in annual recurring revenue and a full-time team of 34.
Great article on The New Yorker about The Rehearsal:
The first season of “The Rehearsal” seemed to exhaust all possibilities for the conceit that acting—the science of the artificial—could provide a prophylactic for life. It did not. The second season is, somehow, even more berserk than the first, but it’s also more disciplined and coherent.
Do not read this if you haven’t seen season 2. It spoils everything in the show.
Nice guide for setting up Phosphor icons with a Micro.blog site, using the mnml theme.
Reminder that next week (Sunday) we’re starting a new photo challenge that will run through all of June. Follow @challenges for the prompts, which will be posted each day. 📷
The Rehearsal season 2 is a masterpiece. I can tell the final episode is going to be something I think about for a while, and again anytime I fly.
Gus Mueller blogs about being indie and Brent Simmons’s upcoming retirement. This is accurate:
Only crazy people are willing to put up with having to file business taxes, mess with social security, find healthcare, deal with all the stuff you have to handle to be indie. And you don’t even have to be a particularly good programmer. You just have to be persistent.
Also, congrats Brent! 🎉
Simon Willison has a fantastic, detailed look through the Claude 4 system prompt. Personality, safety, tools, and artifacts.
Enjoyed Mission: Impossible. A couple minor nitpicks, but I liked the throwbacks to earlier movies. Crazy that it’s been a nearly 30-year series. 🍿
We rewatched Star Wars episode 4 last night, with frequent pausing to think about the context with Rogue One and check Wookieepedia for random details. So fun. Also lots of nitpicking about the special edition changes.
Glitch announced they are shutting down hosting. Kudos to them for allowing redirects after everything winds down. That’s more than most companies do:
In the coming days, your dashboard will get a new feature to set up redirects for your project subdomains, so all your links will keep working. Make sure your redirects are set up before December 31, 2025. (We’ll make sure they stay active at least through the end of 2026.)
I used to pride myself on being able to keep up with almost everything. New programming languages, frameworks, APIs, just tech in general. Micro.blog is a unique platform in part because it weaves together so many different things. But the pace of AI is too much. I can barely keep up.
It’s almost as though this is a fast-moving field.
I was also really impressed this week with Federico Viticci’s deep blog post about Claude. The prompts he has created are mind-boggling:
This is a complex, agentic workflow that requires multiple tool calls (query a Notion database, find notes, extract text from notes, create tasks, search the web, update those tasks) and needs to run for a long period of time. It’s the kind of workflow that – just like the email one above – I usually kick off in the morning and leave running while I’m getting ready for the day.
If you had asked me a year ago, I would’ve said Federico was an AI skeptic. But it makes perfect sense to build tools with AI after all the work he has done on automation. It’s consistent with everything he’s been doing for years.
And importantly, Federico calls out not using AI for creative writing. I think this is a choice that many people will make. Don’t avoid AI completely, but also reserve some creative tasks that benefit from a human touch.
Built up the courage to run Redis’s MEMORY PURGE in production this morning. Sadly made no difference. This week I’ve been running a cleanup script that has trimmed nearly 10 GB of memory usage, but still lots reserved by the system.
With Pocket shutting down, I’ve updated Micro.blog’s bookmarks import for Pocket’s latest export format. Also supports Instapaper, Raindrop, and Pinboard. Happy bookmarking! 🔖
Write.as creator Matt Baer wants to focus more on writing for 2025. I can relate to a lot of this:
Our apps have always been built to help you get your words down with nothing in the way. That’s why Write.as always opens to our editor — so you can start writing immediately, and not get distracted by notifications, comments, and superfluous things like how many “likes” you received.
Stephen Hackett throwing some cold water on the io products hype:
To be clear, the failure of the Rabbit R1 and Humane AI Pin does not mean that there’s no room in the market for an AI-powered device with no screen. However, people really like their phones, and creating a product that will compete with the smartphone is a hill no one has successfully climbed to date.
I don’t agree that the Rabbit R1 was a failure. It fell short of expectations, but that team is still churning away. A new kind of AI-first device is still more likely to come from someone new, without the smartphone baggage.
You might’ve noticed there’s a new status line in Micro.blog’s publishing progress, providing a little more context for what the platform is doing. I’ll continue to tweak this so the progress is more useful.
Almost lost in all the OpenAI hype this week was that MCP is now supported in OpenAI’s responses API. MCP was a big part of Microsoft’s keynote and at Google I/O.
Om Malik blogging about today’s video of Jony Ive and Sam Altman:
The slick video harkens back to Ive’s glory days at Apple when he would talk about the chips, designs, and aluminum on videos extolling the iPhone, the watch, and the laptops. In a way, what he and Altman are indicating, through words, and subliminal marketing, is that we are building the next Apple.
What stood out to me in the announcement about io is that there will be a “family” of devices. Maybe one without a screen, a couple with small screens? I assume voice will be a big part of this, but also perhaps not. It could truly surprise us.
Finished watching Andor. Loved it. Now watching Rogue One. As expected, flows perfectly together with the series.
Big update out for Tapestry today, adding bookmarking for Micro.blog accounts among other features.
This is a lengthy post from Ben Werdmuller, but everyone who cares about a sustainable, vibrant ecosystem of both free and commercial products for the social web should queue it up to read. He goes over different types of funding and a lot more. Really good.
John Voorhees blogging about Apple’s AI predicament:
Hardware plays to Apple’s design and supply chain strengths. In contrast, the rapid iteration of AI models and apps is the antithesis of Apple’s annual OS cycle.
I agree. A year is a lifetime right now.
Anil Dash on the growing popularity of MCP and adopting standards:
It’s cool that other platforms adopted the same spec that Anthropic made for their system. There’s a generosity of spirit to a technology platform choosing to be the second to adopt a protocol, if they do it in a faithful fashion.
This was echoed in the interview with Microsoft’s Kevin Scott this week. Some people at Microsoft would’ve designed MCP differently, but that doesn’t matter. Just roll with it, and the compatibility across platforms makes up for any shortcomings.
Some of the news out of Microsoft Build is what developers hope Apple will do: access to AI models in the cloud, on devices, or even from web apps inside Edge. There’s also MCP everywhere. I’m reading through NLWeb, created by RV Guha, whose semantic web work for decades seems a nice fit AI search.
If you use Chrome or Arc with Micro.blog, check out the latest update to our Chrome web extension for bookmarking web pages. It improves on the last version, now better saving HTML to archive the page. Still working on making it compatible with Safari and Firefox.
Not gonna lie, I’m close to dropping $200 to try OpenAI’s Codex. But I don’t think most of my code is well suited to it. Not enough automated tests! It figures that would come back to bite me.
I mostly use AI as a machine that can generate unlimited example code. I learn best from editing examples.
As Microsoft Build is set to start today, there’s a good profile of Microsoft and Satya Nadella in Bloomberg:
In 2022, OpenAI held demonstrations for senior Microsoft executives of a groundbreaking new model. Over the next several months, groups inside Microsoft tinkered with other ways they might adapt OpenAI’s technology to the daily needs of the modern office worker. One promising prototype called “intelligent recap” would summarize conference calls in Teams. Before Microsoft could release any of it, though, OpenAI built a deceptively simple chat interface around its language engine, and people went nuts.
Until recently, we thought the race was purely to build better AI models. That’s still true, but the real strength is in products. OpenAI doesn’t just have GPT-4.1 and friends, they have a great Mac app, they have Codex, they have memory, they have Sora. When I first tried Sora, what struck me most was not the capabilities but all the work that went into the UI framework.
Microsoft has Copilot, a great name that can wrap together many different models and features. Anthropic has Artifacts, an elegant interface for iterating on code. Apple has a cobbled-together set of unrelated AI features, but at WWDC we’ll see the next phase of their vision.
This morning I was listening to this interview with Ben Stratechery. He talks about how the internet was the bridge from PCs that allowed mobile phones to take off. Likewise, AI will be the bridge to new devices, such as Meta’s glasses and whatever Jony Ive is working on.
I think there are only going to be a handful of companies that stay on the cutting edge of models. OpenAI, Anthropic, Google, and a second tier from xAI, Meta, maybe a couple of others. But there will be lots of competition around products.
There will be three broad categories and within each one, companies will try to build products that people will work into their lives:
Right now, OpenAI has the lead in productivity. Microsoft in the enterprise. No one that I’ve seen has cracked the life assistant type of product. Apple could excel at this because of trust in privacy, but I’m not sure they can think with a big enough scope to nail it.
Working on server memory usage, discovered a massive leak of Redis keys we use to rate-limit clients hammering the server. Hope I can reclaim tons of memory by fixing it.
Joe Biden has lived an extraordinary life — lots of success and plenty of heartbreak too. This cancer diagnosis is the latest challenge. It just feels particularly unfair to happen while a man who mocked Joe’s family and worse is still in office.
Twice this week for different reasons, Bell Labs has come up. It’s incredible to re-read about all the things they invented. Wondering if there could be anything comparable to Bell Labs or Xerox Parc today. Maybe highly focused, like AI research.
Manu Moreale blogs about how so many things feel transactional and why he highlights supporting members on blogroll.org:
We live in the world of paywalled content, unilateral contract modification, micro transactions, serialised content, upsells, and the list goes on and on and on. Everyone is trying to find a way to extract money in one way or another, and that is something I find personally draining and soul-crushing.
Finished watching videos and reading about OpenAI’s Codex. Pretty wild. The design they’ve come up with (based on pull requests) is both powerful and encourages human review. I could see using this at least for a narrow set of tasks.
Nice updates for the next FediForum: keynote by Cory Doctorow and a what’s new on the open social web session by Laurens Hof of the Fediverse Report.
Curtis Herbert is back with another Slopes Diaries post, making the argument that Apple’s 30% cut is worth it, but that external payment links will also open new opportunities.
I think the perspective on this topic varies between developers partly based on whether you expect users to randomly discover your app in the App Store, or whether you’re building a service outside the store and the mobile app is just a companion to that. Much of Curtis’s framing is around discovery in the App Store:
Remember, your goal when trying to convert a sale is to try to cause as little friction as possible. Make the user think as little as possible. “Enter your credit card information for this random app to start your free trial” is hardly frictionless compared to IAPs.
There are many advantages to Stripe other than the lower fees. There’s more control and flexibility across the board. Also you get paid daily instead of waiting over a month for Apple to cut a virtual check, as if developers are kids waiting for their monthly allowance.
Apple’s in-app purchase works really well for Slopes. That’s great. For Micro.blog, I’m not convinced there’s much of an advantage. Very few people want to start a new blog and think, “First I’ll search the App Store.”
Developers are in the best position to know what marketing and payment options will work for their app. The whole point of these changes — from the EU’s Digital Markets Act to the judge’s ruling in the Epic trial — is to put the decision back in the hands of developers where it belongs.
Didn’t realize until this week that the RSS.app feeds support RSS and JSON Feed. Very cool. I’m starting to use it to follow a couple Twitter / X folks from the AI industry. Hate giving X any attention, though.
Sheldon Lake State Park. The ponds used to be part of a fish hatchery, then closed in 1975 and let nature take over. We saw some alligators. 🐊
With OpenAI adding 4.1, I’m having to think a little too much about which models I should be using. I generally use o4-mini for coding, 4o for simple, fast questions. What now? I expect GPT-5 will help consolidate some of these choices.
Josh Miller has an update on the Dia browser, in a series of posts on Twitter / X. For a company with “browser” in its name, wouldn’t mind seeing a blog post of this instead of on X. 🤪 Some very interesting screenshots in the thread, though. I’m excited to try it.
Thanks @numericcitizen for making another video about what’s new in Micro.blog! This one covers integration with Bluesky and Mastodon, and more.
Great post from Joan Westenberg about what has changed with Apple:
A company once defined by joyful provocation—by thinking different—is now defined by its defensiveness. Its leadership acts not like inventors but like stewards of a status quo. They protect margins like relics.
Justin Jackson on the threat to podcasts from YouTube, and why we should keep investing in RSS:
The benefit of investing in RSS is that any innovations will be shared across the entire ecosystem. When YouTube innovates, the benefits stay inside YouTube. When the podcast community innovates on RSS, everyone benefits: creators, listeners, and businesses alike.
A few years ago we were worried about Spotify locking down podcasts. YouTube feels a little different because video supplements rather than replaces audio podcasts. But Justin is right that we should be vigilant.
Before my talk at EFF Austin last night, I exported a PDF of my slides and asked ChatGPT (o4) to tell me about them. Here’s the chat transcript. It’s fascinating to me because this is without giving the speaker notes to ChatGPT, so it inferred everything from the slide content.
I’ve now uploaded a separate copy of the slides with speaker notes as a PDF. I ran this through ChatGPT and it produces a pretty nice summary, which I’m including below.
The talk was recorded and also includes lots of questions from folks attending.
This presentation titled “Indie microblogging and the fediverse” was delivered by Manton Reece at EFF Austin. It explores the evolution of blogging, the failures of centralized social networks like Twitter, and the alternative vision embodied in platforms like Micro.blog, which Manton founded.
Background and Motivation
The Rise and Fall of Twitter for Developers
Micro.blog: A Response
Fediverse and Interoperability
Principles of Micro.blog
Vision
I’m speaking at EFF Austin tonight! Getting coffee this morning and working on my slides. Last-minute panic that everything in my talk needs to change.
Mavs fans needed a win after losing Luka. Happy for them. And Spurs with the second pick… Amazing. Going to enjoy reading the conspiracy theories about this one. 🏀
From a “lunch with” profile of Sam Altman in the Financial Times:
I find Altman brimming with confidence as our conversation ranges from AI products to the existential question of an AI future that a handful of optimistic technologists are steadily leading us to, whether we like it or not. Radiating ambition, he sounds like a man convinced of his own destiny.
Perhaps you have to be a little overconfident to attempt this. Meanwhile most people are upset that Sam uses the wrong kind of expensive olive oil.
It’s that time of year again when I realize I’ve let Redis memory get completely out of hand, 45+ GB, so forking to save is mostly impossible. Think I’m going to take some time to truly trim out the bloat.
I posted a new video on YouTube that shows how filters work in Micro.blog, including a brand new feature: Micro.blog can analyze your blog posts using AI magic to generate keywords and file posts into categories. This is for Micro.blog Premium subscribers. 🪄
Nice update to the mnml theme for Micro.blog. It’s cool to see all those settings.
Made several little design updates to Micro.blog this weekend, including a more consistent, cleaner header for pages that have some text and a “new” button. Here’s a screenshot for posterity.
OpenAI rolls out new things so often that it’s a little surprising they haven’t replicated Claude’s Artifacts. It’s such a nice workflow to generate HTML, CSS, and JS with an interactive preview right in the app.
Dave Winer blogging about how software evolves with feedback from users:
Software isn’t a thing, it isn’t finished, it’s a process as it gets invented by the users. It’s a performing art. WordLand today is like a musician performing in a small club, working out the playlist, and hoping to be playing at theaters then arenas, and finally someday, if we’re very good, stadiums.
When we launched Micro.one, I was interested in simplifying the sidebar. I moved the link to manage blog post categories to another pane for all users. I now think that was a mistake. Today along with some other minor UI tweaks, I’ve added it back.
Great blog post by John Siracusa, distilling much of Apple’s current problem balancing doing good with making money:
Apple, as embodied by its leadership’s decisions over the past decade or more, no longer seems primarily motivated by the creation of great products. Time and time again, its policies have made its products worse for customers in exchange for more power, control, and, yes, money for Apple.
While testing something this morning, I made a careless blunder with one of our servers, causing some sporadic downtime. I’m very sorry. A couple things are slow right now but will be returning to normal shortly.
I don’t think I realized that you didn’t need to be in the EU to distribute apps via AltStore PAL. If Apple relaxes their notarization review in the future, I might use this to ship early iOS builds to the EU.
There are many challenges for the web and web publishers as AI upends search, but the only way to believe that the open web itself will be destroyed is to no longer believe in web browsers. As big as AI is, it’s not as big as the web. We’ll navigate through this.
“What we make stands testament to who we are.” — Jony Ive, in an interview at Stripe Sessions
Bill Gates writes about accelerating his plan to give away his wealth, winding down the Gates Foundation in 20 years:
People will say a lot of things about me when I die, but I am determined that “he died rich” will not be one of them. There are too many urgent problems to solve for me to hold onto resources that could be used to help people.
Funny how people change. In the 1990s, I was a teenager learning to program the Mac while complaining about Bill Gates and Microsoft. Now I admire Bill and complain about Apple.
Reading through Apple’s motion to pause the external purchase ruling. A quick comment on this part:
A federal court cannot force Apple to permanently give away free access to its products and services, including intellectual property.
No one said that. Developers have been paying $99/year for this privilege since the beginning of the App Store.
Apple lawyers can spin this however they want. It will always come back to this: it’s absurd to take a cut of developer revenue that is not processed by Apple just for adding a website link in an app.
Realized last night while listening to music on our record player, which is connected to our Amazon Echo as a speaker… We have a couple newer Echos, but this one is the original Echo from 10 years ago. It’s the oldest gadget in our house still in regular use.
I was unexpectedly caught up in the news about a new Pope. Reading a little about him and translated bits of the inaugural address — an American, speaking of love and peace, not division.
Thanks to Kev Quirk for the kind words about migrating his Mastodon account to Micro.blog. Micro.blog is always a work in progress, and our fediverse support will continue to improve, but it’s gratifying to read that our approach is resonating with him:
Thinking of it in this way has really cleared the Micro.blog fog in my mind. People can visit the front-end of the site to see my microblog posts (you can also see them on the notes section here), but if I want to interact with the other blogs on Micro.blog, or accounts on the fedi, I need to use the back-end CMS for that. It’s pretty obvious, really and works in a similar way to Ghost’s ActivityPub implementation - website at the front, “social feed” at the back in the CMS.
Blogs as the foundation for a new kind of platform has been our north star since the beginning. Social media can be a mess — there’s no single fix for that — and yet we can chip away at the edges of the problem, hopefully encouraging a quieter, less exhausting timeline.
More from Kev:
I also like that there’s no in-your-face notifications. There’s a place where I can check where I’ve been mentioned, but there’s no bubbles when I login, so I do it when I want to, rather than when the software wants me to.
Micro.blog must be the only social platform that doesn’t have any unread badges for notifications. That bothers some people, because they miss replies until later. That’s okay. Very few things on the web are actually urgent. The blog posts and mentions will be here when you get back.
(We have talked recently about an opt-in email summary once a week for replies you might have missed. Assuming we can do that in the least-Facebook-y way possible.)
In the end, Kev’s post is also a testament to the work the Mastodon team has done on account portability. You can easily imagine a future where it will be fairly normal to switch between Micro.blog, Mastodon, Ghost, and WordPress, with your identity and content intact. And that means each platform can lean into what makes it unique.
John Voorhees blogging at MacStories:
Apple’s exploration of AI-based search is not terribly surprising either, but I do hope they cut a broader deal with Anthropic instead of Perplexity.
Should Apple acquire Anthropic? It would cost $60 billion, a ridiculous jump over the $3 billion they paid for Beats. Mix in some cash and some stock. It would set Apple up to be at the forefront of AI for the next 10 years. It sounds crazy… until the iPhone is disrupted by a new device.
Parker Ortolani makes a great point about potential lock-in for AI products that know a lot about you. Portability would be a good thing to work on early:
Memory should be exportable and importable from every provider. We do not need a new kind of proprietary format or anything like that. We just need OpenAI, Google, Anthropic, xAI, Microsoft, and others to implement memory and incorporate a way to migrate all of your chat history over in a click or two.
It reminds me of this recent feature from Gravatar to export your profile preferences for AI tools as a simple Markdown file. It would be so useful to have a Markdown export with the most important memory and chat history for AI.
How fascinating if Markdown becomes a portable export format? In Micro.blog we have custom importers for 10 different blogging platforms, all with their own file formats. Maybe in the future it’s just Markdown and HTML. (The .bar format already is partially HTML.)
Two weeks on the road and then other distractions, this morning is the first day in a while that I’m back to my routine of walking to the coffee shop. Feels good. Ready to write some code. ☕️
Let’s do a Micro.blog photo challenge in June. It’s been a while so we’ll keep it simple… I’ll come up with a list of daily prompts and post them later this month. Feel free to send me your own words if you’ve got any! For inspiration, here’s a collection of photos from last year.
I blogged recently about experimenting with local LLMs inside the Micro.blog for Mac app. This is useful for post categorization and other things. It works, but it’s not as good as I’d like without requiring everyone to have an M4 with 48 GB of RAM. Might put it on the shelf for a bit.
There are all sorts of interesting quotes from Eddy Cue’s testimony today in the Google trial. From Mark Gurman’s reporting in Bloomberg:
“You may not need an iPhone 10 years from now as crazy as it sounds,” he said. “The only way you truly have true competition is when you have technology shifts. Technology shifts create these opportunities. AI is a new technology shift, and it’s creating new opportunities for new entrants.”
Really happy for Dan Moren to make his Jeopardy appearance today. Congrats! I’ve set it to record.
FediForum has regrouped and is coming back, June 5-7. I might be traveling those days but I’ll be joining as internet connectivity allows. They’ve also got an impressive new advisory board.
A wild story in Rolling Stone: People Are Losing Loved Ones to AI-Fueled Spiritual Fantasies. I use ChatGPT throughout the day and it’s hard to imagine it going off the rails this badly:
…anecdotes about loved ones suddenly falling down rabbit holes of spiritual mania, supernatural delusion, and arcane prophecy — all of it fueled by AI. Some came to believe they had been chosen for a sacred mission of revelation, others that they had conjured true sentience from the software.
In the future it will be more common to have AI virtual friends — the “point-five” concept from The Mountain in the Sea. At their best, these will be a mix of friend and counselor. At their most dangerous, maybe priest and fortune teller. It’s worrisome if people are already losing themselves with those kind of personas.
Also a side note after I started watching Andor season 2…
I was thinking of the design of the smaller droids in Star Wars. They are cute and sometimes intelligent, and we personify them to an extent, but probably as little more than an advanced Teddy Ruxpin. We don’t confuse those kind of droids with truly intelligent beings that have free will.
I continue to believe that it’s a terrible idea to build humanoid AI robots. Partly because if they have all our physical attributes, only stronger and smarter, they can overpower us. But also because it blurs the lines of reality if robots are visually too similar to us, messing with our brains and how we interact with others. It would only amplify the problems in that Rolling Stone article.
I increasingly throw my blog post drafts into ChatGPT as a check for major problems. When it comes back with nitpicky changes that I have to admit would make my writing better, I sort of get defensive. “Hey, leave me alone, it’s my writing! Who asked you?” 🤪
Mike Rockwell with more thoughts on the Epic v. Apple ruling:
If they want to have more control over the situation, they should just let us install apps from elsewhere. Even if it’s disabled by default and annoying to enable like it is on the Mac. At least then they’d have something to point to when the government comes knocking.
Yep. I’ve been saying this for 14 years now. The end is almost in sight.
Also: Dan Moren tests the new “Get Book” button in the Kindle app.
Great segment about Epic v. Apple on the latest Upgrade. In summary: the judge gave Apple a chance to allow competition with external payments and instead Apple concocted a scheme (27% fee, scare sheets) to make it impossible to use, so now Apple has forfeited all control over external payments.
Seth Godin blogging about how it used to be only a relatively few people who could publish music and make movies, and now everyone can. Which leads to:
The number of people writing software tools and games is on the very same curve. We’re going to go from hundreds of software companies to millions, in just a few years.
I wonder how this will affect competition for current software companies. Possibly not much, because there are always a thousand ideas that no one currently has time to build.
Crashed to bed early last night after the 3rd quarter of Nuggets / Thunder, just watched the final couple minutes. Wow. Nuggets stole that one, down 7 when I started watching again. Thunder with strange fouling late only helped the Nuggets. 🏀
Sometimes I wake up thinking of the old friends who passed away long before their time. People who I knew when I was much younger and lost touch with over the years and decades. Life is short and precious.
Gregg Popovich addresses the media after officially stepping down, with Tim Duncan and Manu Ginobili standing with him. There will never be another coach like him. Go Spurs Go. 🏀
OpenAI is keeping the non-profit, transitioning the for-profit side to a public benefit corporation (PBC). Sam Altman writing on the OpenAI site:
We want to be able to operate and get resources in such a way that we can make our services broadly available to all of humanity, which currently requires hundreds of billions of dollars and may eventually require trillions of dollars. We believe this is the best way for us to fulfill our mission and to get people to create massive benefits for each other with these new tools.
We want our nonprofit to be the largest and most effective nonprofit in history that will be focused on using AI to enable the highest-leverage outcomes for people.
This all seems like a good pivot on the rumored plan. The change also does away with the “capped profit” structure, so presumably investors are happy.
We might see a little more transparency too, since there are rules for how public benefit corporations should report on the progress of their mission to shareholders. I also discovered today that Anthropic has a separate trust that has oversight over Anthropic’s own PBC.
Looking forward to reading through Evan Prodromou’s story on the Protocol Oral History Project. The whole site looks great. There are probably lots of bits of history that aren’t well-documented elsewhere.
4o hallucinated for me today and it struck me that I haven’t seen ChatGPT make anything up in weeks, even though new models are supposed to be worse. Must be because most of my queries now use o3 or o4-mini with web search. If AI can do a web search, it seems to drastically improve the results.
Good timing, it started pouring rain a few minutes after I got home. Listening to the rain now as I settle back into work. 🌧️
First full day back at work after a couple weeks on the road. I work a little every day, even when traveling, but a day hopefully without any distractions is always nice. Starting with coffee at Cosmic. Server deploys for in-progress changes. ☕️
Warriors putting the Rockets away. Can’t help but admire what Steph Curry is still able to do. He wasn’t even really needed in the first half. 🏀
Making slow progress experimenting with local LLMs in the Mac app. Smaller models are a challenge because they are so much worse and unpredictable than what I’m used to with frontier cloud models. I’ve tested a few flavors of Gemma 3, think I’m settling on 4 billion params, Q5.
Watched Runaway Jury. Really good. Sadly nothing has changed with gun control in the 20 years since this was filmed… It’s actually worse now since the assault weapons ban expired.
Mark Zuckerberg said something in the Stratechery interview last week that paints a clearer picture of what the future of Facebook, Instagram, and Threads is going to look like. Meta is leaning into the TikTok-ification of all their social platforms. I think it’s going to be quite dismal.
We already knew that Meta was planning to put AI-generated content in your feed. Last year I suggested that this is where algorithmic timelines eventually lead, as ad-based platforms have an insatiable appetite for new content. More content, more human time refreshing the feed, more ads served:
Good interview with Mark on Decoder but can’t disagree more strongly with Mark’s vision of AI-generated content showing up in your feed. This is the terrible end-game of algorithmic timelines.
Mark now envisions Meta’s social apps as “discovery engines” — constantly churning out content that you might find engaging. Then, when you discover something you like (or hate), you’ll share it with your friends, whether that’s in a public feed or privately in DMs and WhatsApp group chats.
Nick Heer blogged yesterday along the same lines, framing Meta’s platforms as television channel surfing with infinite content:
Then TikTok came around and did away with two expectations: that you should have to work to figure out what you want to be entertained by, and that your best source of entertainment is your friend group. Meta is taking it a step further: what if the best source of entertainment is generated entirely for them? I find that thought revolting. The magic of art and entertainment is in the humanity of it.
The counter to Meta’s strategy couldn’t be more clear. We should be building blog-based platforms around real content, timelines with a finite list of your friends' recent posts, discovery that doesn’t incentivize outrage, and no ads or algorithms that could undercut the principles of an authentic, human-centered network.
Working on a few different random things today. Also really looking forward to Nuggets / Clippers game 7! 🏀
Finished reading: The Final Empire by Brandon Sanderson. This is the first of his books that I’ve re-read, listening to the audiobook this time. Still great. 📚
Hello again, Austin. It was about 3500 miles round-trip, driving to New York and back. Good couple weeks but glad I won’t have to be on the road tomorrow.
So tired of gatekeepers. Only realized this week that the Micro.blog web browser extension was removed from the Chrome store. Re-submitted some verification documents to Google, hopefully can get it back within a few days.
Once apps like Spotify, Kindle, and many others are officially approved with external payment links, I don’t see Apple putting the genie back in the bottle. The company needs to let this go. Developers have had to put up with Apple’s tax and convoluted rules for too long already.
I disagree with Ben Thompson’s update today that Apple might have a legal right to charge for their “intellectual property” by using external link payments. They already do charge developers with the developer program! The judge is saying you can’t take a cut for simple links. I think this’ll hold.
By “polish” I don’t mean the design, necessarily. I mean all the little details that differentiate a good app from a great one. Extra things that busy or lazy developers (like me!) don’t always make time for. Here’s an example from this week.
I’m experimenting with a new feature in Micro.blog for Mac. I’m not exactly sure what form this will take, so don’t read too much into the screenshot below yet. For now this is a fun thing that I’m working on between bug fixing and other important improvements to the platform.
The window will have a progress bar to show the status of downloading a file. My first pass at this code was pretty basic, and I almost left it that way, but the download could take quite a while on most internet connections. How about giving the user an estimate of time remaining for the download?
This is the kind of thing I might not always bother with. I’m only one person, and there is a lot to work on. By leaning on AI, I could easily add this extra bit of polish to the user experience.
Here’s the prompt I used with OpenAI’s o3 model:
During download, calculate approx how many minutes will be remaining in the download and put that in the field like “1.2 GB (1 MB, 5 minutes remaining)”. Ideally use hours with 1 decimal place if > 60 minutes, just minutes as a whole number if < 60 minutes, and if < 1 minute, just seconds as a whole number.
ChatGPT produced just the right code. It only took me a few minutes to tweak and reformat it a little. Very happy with the result.
Two updated iOS apps this week: Micro.blog 3.4.6 and Epilogue 1.8.3. Android versions are lagging a little behind but hope to get those updated soon.
Old train bridge viewed from the Bill Clinton presidential library. It’s a pedestrian bridge now, but it lines up perfectly with the former Choctaw Route Station on the park grounds, even if the rails are long gone. 🚂
Jason Snell blogging about the new App Store linking judgement:
Not only did Apple attempt to find ways to circumvent the injunction, but it fatally hid their discussions from the judge. While Phil Schiller gets credit from Gonzalez Rogers for sitting through the trial and reading the final decision, the judge suggests that his colleagues at Apple did not. Most troubling is the behavior of Apple’s Vice-President of Finance, Alex Roman, who the judge says “outright lied under oath” multiple times.
Apple will not win on appeal. They flaunted their power instead of complying. This is settled.
Simon Willison on the continual misuse of the term vibe coding:
It means “generating code with AI without caring about the code that is produced”. See Not all AI-assisted programming is vibe coding for my previous writing on this subject. This is a hill I am willing to die on. I fear it will be the death of me.
Fighting the good fight. Words matter.
Marc Andreessen doesn’t think AI will take his job. But venture capital is barely a real job. All money, all talk. 🤪 I would rather actually create something even with the risk that AI might obsolete part of what I do.
Micro.blog bookmarks are a significant part of my workflow now. I have over 1000 bookmarks stored, mostly web pages that Micro.blog will also archive, and enough tags to filter through them. Probably about time to import my old Pinboard and Instapaper bookmarks.
Allen Pike has a great post about user interface input design in an LLM world:
As we start to see new interfaces that support these more humane controls, it will seem increasingly inhumane that we once chose “Helvetica”, “Semibold”, and “36pt” from three separate dropdowns. It is inhumane – it’s an artifact of the past, back when computers needed us to chunk up our inputs into separate dropdowns for them, lest they be confused.
Huge new ruling by the judge in the Epic Games case. Hope to take advantage of this as soon as possible in Micro.blog to let people subscribe from the iOS app. Finally a clear voice of reason in the App Store.
It ended up being a good idea to stop overnight in Little Rock and wait out the storm. Went to a restaurant across the street and there was a jazz band playing, a bit of peace and beauty as the wind and rain picked up outside.
Watched some more highlights from last night’s Bucks / Pacers. Bucks should not have lost that game. Feel bad for them. 🏀
NPR has an article on whether the Google search remedy should include somehow crippling Google’s growth in AI:
In his opening statements last Monday, David Dahlquist, the acting deputy director of the DOJ’s antitrust civil litigation division, argued that the court should consider remedies that could nip a potential Google AI monopoly in the bud. “This court’s remedy should be forward-looking and not ignore what is on the horizon,” he said.
I’m still at a loss for what should be done. Splitting off YouTube would be good too, but it doesn’t really fit the crime.
Parked at The Root Cafe in Little Rock. Lunch and plotting a change to my route stops so I don’t drive directly into a storm and tornado watch. 🌪️
Last night at the hotel, in between basketball, I tuned into some of the Mark Zuckerberg and Satya Nadella conversation at LlamaCon. At one point, Satya said “the web was born on Windows” and it struck me. Digging a little, apparently he has said this before. Hmm… What about NeXT?
Daniel Jalkut blogs about the Help Scout pricing changes. We use Help Scout for Micro.blog too and our costs will go up with this change. Like Daniel, I think the pricing is a mistake. I don’t like costs that are hard to predict.
Dan Moren in his final article for Macworld:
Being a fan of Apple as a company means necessarily grappling with the reality of business itself. Apple is a moneymaking machine in a society built for and around moneymaking machines, and it is in some ways itself trapped in that system.
I was hoping someone would write a post like this one from Andy Masley about AI energy and water use, via Simon Willison. From Andy’s post:
You can use ChatGPT as much as you like without worrying that you’re doing any harm to the planet. Worrying about your personal use of ChatGPT is wasted time that you could spend on the serious problems of climate change instead.
Models are also generally becoming more efficient and cheaper. We shouldn’t ignore the increase in demand for energy, though. It’s an opportunity to reevaluate nuclear and other clean sources of power.
Model train at the Casey Jones Home & Railroad Museum. I visited the museum today, nearly perfectly timed. Tomorrow is the 125th anniversary of Casey’s death. Seeing the sign for the museum on the drive east last week, went down a deep rabbit hole of Dumbo, Disney, and Casey Jones history. 🚂
The New Yorker: The End of Children. This essay was from earlier in the year. There are some stories in it that are a little stunning to me. I knew about South Korea already, but I did not know that the average number of children in the United States had dropped recently. Not yet a crisis, maybe.
Pigeon Forge, Tennessee is extremely strange. Should’ve done more research before stopping here. Feels like Vegas but more spread out and no gambling, I guess? Also the Great Smoky Mountains are nearby.
In used to be that I avoided using Siri except in a few specific cases while driving:
If I ventured outside these tasks, the experience was unreliable and frustrating. So I just haven’t bothered to use Siri for much.
Now that you can forward questions to ChatGPT, I’m using Siri + ChatGPT in the car much more often. As one example today:
ask ChatGPT what’s a good place for lunch two hours from Washington, D.C. on the way to Roanoke, Virginia?
Siri is hopelessly confused if it tries to answer this question on its own. It sees “lunch” and “Washington, D.C.” and gives up trying to understand the rest. But adding the “ask ChatGPT” prefix is magic, transforming the query into a useful conversation and answer.
It’s harder to verify hallucinations while driving, of course. For me, using AI is iterative, going back and forth and fine-tuning what I’m looking for. Even imperfect, though, getting a taste of this functionality just makes me wish Apple would let us use ChatGPT’s voice mode as a native replacement for Siri. I would use it for all sorts of things on solo road trips when I want context for everything around me.
Listen to the contrarians. They’re sometimes wrong, but when they’re right, they’re right years before everyone else.
Another shot from Washington, D.C. — the Carnegie Library, also probably the most beautiful Apple Store I’ve ever visited. Needed to pick up a new MacBook charger since I somehow left mine in NYC.
Loved all the greenery at Maman this morning. Got there early enough that there was lots of space, but it filled up. ☕️
Micro.blog is now sponsoring blogroll.org. We’re going to try a few new things to get the word out about Micro.blog, especially supporting small platforms and podcasts. If you haven’t checked out blogroll.org yet, consider adding your own blog there!
I hadn’t seen the new Perplexity voice mode until Federico Viticci blogged about it. Looks impressive. I also think Federico is exactly right on this:
Looking at the big picture for a second, I do think Apple is in a precarious situation here. The fact that the company makes the best computers for AI is a double-edged sword: it’s great for consumers, but those same consumers are increasingly using Apple devices as mere conduits for other companies’ AIs, funneling their data, context, and – most importantly – habits into systems that cannot be controlled by Apple.
There used to be a lot of talk of AI companies not having a “moat” that would protect them against competition from Apple and Google as everyone caught up to the latest advanced models. It’s clear now the moat is the product, not the model. ChatGPT with memory based on everything you’ve asked it is starting to become a light form of lock-in.
Perhaps this iOS integration with Perplexity could be the same thing if it takes off. I’m a little skeptical because Perplexity doesn’t have the reach of OpenAI and Anthropic, and as Federico says many folks still have a bad first impression from Perplexity skirting the gray areas of copyright and crawling.
As I blogged last month, Apple has the added challenge of not yet knowing if what they are trying to do is even possible. Their competition isn’t limited in the same ways that Apple is: not relying on local models, not focused on privacy, not announcing features only once a year in June. OpenAI, Perplexity, and others are developing at a different pace.
Cool to see the POSSE photo I snapped at Fediverse House used in this blog post:
The encouraging thing about IndieWeb is that it’s presented as a series of incremental improvements. It’s not an all-or-nothing replacement and it’s possible to expand in parallel.
I’ve uploaded a copy of the photo to the IndieWeb wiki too. Public domain, CC0.
Things I’ve now learned driving in the two largest cities in America:
For Bluesky fans, we’re now cross-posting the Micro.blog news blog over to Bluesky at @micro.blog. Good way to stay up to date on new features or fixes.
o4-mini is good at road trip planning. I fire off some parameters like roughly where I want to stop or how long to drive, let it come up with routes, hotels, things to see. It doesn’t take the joy out of travel… Still a lot of details to review and decide on.
For beta testers on iOS, there’s a new build of Micro.blog with a button to toggle just showing draft blog posts. This matches the functionality we’ve had on the web and Mac apps for a while. Useful if you manage lots of drafts.
If you’re not on the beta yet, feel free to sign up at this TestFlight link. We’ll release it to all customers in the coming week.
Crazy finish to that Nuggets / Clippers game. Not sure I’ve ever seen a dunk so close to win it like that. 🏀
Special shout-out to @vincent for troubleshooting Micro.blog servers while I’m traveling. Driving in traffic through Brooklyn is not when I hoped to get downtime notifications! Annoying hackers trying to mess with our servers.
I read this article about AI and cancer research last night, thinking about it more this morning. It’s really well-researched. The title is misleading. There’s a lot of promise here, even if we might not get the “compressed 21st century” of medicine that Dario Amodei hopes for.
Stephen Hackett continues to have good links related to xAI energy use and gas turbines in Memphis. From what I can tell, none of the other AI companies have done anything like this. They use the existing grid or have proposed new power plants. Google considered generators for backup only. xAI is unique in seeming to not care at all about pollution.
This fits the model we’ve come to expect from Elon Musk. He cares a lot about the big picture and less about who is hurt along the way. It’s an extremist, unhealthy perspective.
I drove through Memphis a few nights ago, only stopping for dinner, but I could tell right away it was a city I’d love to explore more on a future trip. Cool place.
My post earlier today about Bluesky seems to have spread more widely than I expected. Lots of feedback! Looking at it again, the analogy with Google was confusing, and the post title with “downtime” set the wrong expectation… It was supposed to be a more positive, hopeful post.
Catching up on last night’s NBA scores. I watched some of Knicks / Pistons, but staying up on east coast time for west games is tough. Thunder are a force, will be difficult to get by them. 🏀
Bluesky was down last night and I saw a couple posts questioning how this could happen if it was really decentralized. Worth a few thoughts here.
If mastodon.social went down, what would the user sentiment be? It hosts 2.7 million users, or roughly 15% of the fediverse. (Not counting Threads because Meta doesn’t publish their data.) While down, users on mastodon.social wouldn’t be able to interact with the fediverse or download a copy of their posts.
This is best illustrated with this humorous Mastodon critique from Rob Shearer:
M: You start by choosing an instance. But the important thing is it doesn’t matter because all instances are federated and you can migrate between instances.
U: So if the instance I chose gets shut down I can migrate to another?
M: No.
Even so, if a single very large Mastodon server went down, no one would use it to question whether Mastodon is decentralized, other than as a reminder that smaller communities are often better and make the network more resilient. Likewise, it’s not really fair to frame bsky.social as merely a large server; it’s effectively the only thing right now, which isn’t true for mastodon.social.
With AT Protocol, it’s possible to host your posts outside of Bluesky. Very few people do this, but it will become more common as third-party hosting services (like Micro.blog) support it. In that case, if bsky.social or bsky.app went down, you could still access your posts.
When you call the Bluesky API via bsky.social, it actually proxies your requests to the appropriate backend data server if it’s hosted on Bluesky. This makes the API feel very centralized, but all of the data could still be accessed directly in a more distributed way, like accessing individual websites.
Bluesky is not federated like Mastodon, but the open architecture that Bluesky was designed around is valuable. It is distributed sort of like the web is distributed even though Google exists and dominates search. Eventually, there will be other AppViews that work like Bluesky but run in parallel with their own timeline. In that case, if Bluesky went down, some other apps might still function, and could utilize the same data and social graph.
We need to move beyond a Mastodon vs. Bluesky mindset. As I’ve blogged several times, they are solving slightly different problems. We can draw inspiration from each one to make the web more open. I want both to exist.
Update: Tweaked a couple references to how PDSes work to reflect feedback in comments.
If you’re following the last few photos I’ve posted, my daughter and I have been slowly making our way to New York. Surprisingly the first time I’ve ever driven through a few states: Virginia, West Virginia, and Pennsylvania. Road trips are usually out west. 🚙
OpenAI wants to buy Chrome. Perplexity wants to buy Chrome. Yahoo! wants to buy Chrome. Heck, Micro.blog would also love to buy Chrome (if we had a budget). If Google has to spin it out, could be an interesting shift for the open web.
Another fantastic essay by Dario Amodei, this time about “interpretability” and the need to better understand AI:
People outside the field are often surprised and alarmed to learn that we do not understand how our own AI creations work. They are right to be concerned: this lack of understanding is essentially unprecedented in the history of technology. For several years, we (both Anthropic and the field at large) have been trying to solve this problem, to create the analogue of a highly precise and accurate MRI that would fully reveal the inner workings of an AI model.
Train bridge at Falling Waters, West Virginia. On the other side of the river, the Confederates were stranded for days after Gettysburg.
So with threads.net switching to .com, I was a little worried about how this might impact the fediverse support. Thankfully looks like they’re sticking with .net for handles.
Interesting proposal similar to robots.txt but for LLMs. When AI is your parser, you can have a single file that is readable by both humans and machines:
The llms.txt file is unusual in that it uses Markdown to structure the information rather than a classic structured format such as XML. The reason for this is that we expect many of these files to be read by language models and agents.
Had the Switch 2 pre-order in my cart but kept changing my mind, gonna skip it until there’s a game I really want. Hopefully won’t be too hard to get later. 🕹️
If you haven’t been following the latest AI models closely, you may have missed what is happening with integrating web search results into answers. It used to be that you had two options:
Now it’s more streamlined. I’ve been using OpenAI’s o4-mini and it seems to work something like this:
This process takes somewhere around 30 seconds. It’s great for asking questions about coding with recent frameworks, or really anything that changes often.
In a longer post about this, Simon Willison writes:
This turns out to be a huge deal. I’ve been throwing all kinds of questions at ChatGPT (in o3 or o4-mini mode) and getting back genuinely useful answers grounded in search results.
He also comments on the downside to replacing humans viewing web pages:
This also means that a bunch of the potential dark futures we’ve been predicting for the last couple of years are a whole lot more likely to become true. Why visit websites if you can get your answers directly from the chatbot instead?
The results are so good that I’m now asking AI for simple queries that Google would be equally good for. Using AI essentially automates the workflow of getting 10 links from Google, clicking on 3-4 of them, then skimming the web pages to get your answer.
I don’t know where all of this is going. It feels like a pretty big shift, though.
I really like this post from Ashley Willis, about doubting yourself and the fear of what loud people on the internet might think of your writing:
I don’t know exactly when that changed. There wasn’t one big moment, just a slow fade. Something dimmed. I started second-guessing myself more.
Micro.blog’s backend is running so much more smoothly now after I addressed some memory issues yesterday. I often assume I know where problems are, and it takes actually digging in to discover I was wrong, the problem is fixable in a different way than I expected.
Nailed it. I’m too amused by wall outlets and light switches gone wrong, it’s surprisingly common. This one in the hotel stairway.
I’ll be speaking at EFF-Austin next month! An updated talk about blogs, social networks, the fediverse, and where I think the open web is going.
In the Bluesky announcement about checkmark verification is the tidbit that 270k accounts have linked their username and domain name. 270k custom domains! That is very cool and a great sign for the open web.
Micro.blog went off the rails today, for some reason the day I’m out of town an old memory leak decided to blow up into a much worse problem. I think I’ve got it under control now.
Speaking of Objective-C, when I see example code that looks like this:
NSMutableArray<NSString *>* paths
I simplify it to:
NSMutableArray* paths
I don’t think declaring types everywhere improved the language at all. Let a dynamic language be dynamic. 🤪
Experimenting with a special build of Micro.blog for Mac with Gemma 3 (4 billion params) running inside the app. Seems a good balance of download size and RAM, allowing me to run some AI magic on device that might be cost-prohibitive or wasteful on the server.
There’s no place I appreciate Apple Pay more than at the gas station air pump, instead of using quarters. 🛞
Yair Rosenberg writing at The Atlantic about the arson at the Pennsylvania governor’s residence. The suspect was struggling with his mental health and influenced by attempts to vilify Josh Shapiro over the war in Gaza:
But those struggling with internal demons don’t originate our external ones; they reflect them. In their confusion and pain, such individuals latch on to those already targeted by the broader culture and its preexisting pathologies, showing us not who they are, but who we are.
Thinking about AGI. The big step that is missing is personal AI being able to learn when it answers a question. So if I use deep research and my AI goes off and spends 10 minutes researching an answer, all of that should be fed back into the model for later.
To me, Objective-C has always felt expressive and capable, doubly so when I first started using it.
After Swift became popular, I felt kind of guilty still using Objective-C so heavily, but I’m over it. Micro.blog for Mac is all Objective-C. I did two new releases this week.
Finished upgrading a server. Some things should be faster! (And some won’t be.) I’ll continue to look for places to optimize.
Now that I’m using Hetzner in the EU, I’m having difficulty understanding Linode pricing. For example, dedicated 16 CPUs on both hosts:
Linode: $288
Hetzner: $110
This is a massive difference. Is Linode that much better? I feel like a fool for paying this.
Micro.blog for Mac continues to improve. Just released version 3.5. A new feature I like in this release: paste a photo from the clipboard directly into the Uploads section to upload it.
Also added a Preview button. I use this with command-shift-P but I’m sure some people didn’t know it was there.
I’ve switched my coding questions over to o4-mini. It’s very good and fast enough.
At this point, for me personally, not using AI for coding help would be like not using Stack Overflow or Google. I could go back to the 1990s when I had a printed reference open in front of me while coding, but why?
The Sam Altman interview at TED is worth a watch. Awkward and full of tension. But some good thoughts in it, probably the most I’ve seen Sam pressed on the big issues.
Didn’t sleep enough. Nightmare that I was arguing with the Subaru mechanics. Too close to reality. 🚙
Sad to hear there were two deaths in the FSU shooting. When news broke that it was a handgun, it gave me a small bit of hope that it wouldn’t be as terrible as it could’ve been. Imagine an AR-15 instead. That is why they should be banned.
Great post from The Fediverse Report about Bluesky complying with requests from the Turkish government and how a labeling service can be used to hide accounts:
Such a moderation layer allows Bluesky (the app) to apply moderation decisions that are only experienced by people currently geolocated in a specific country, more on that below. A few days ago, the Turkish moderation labeler became active, and the labeler started hiding accounts, making the accounts invisible for people in Turkey.
Taria & Como looks like a clever, crank-friendly platformer, part of the upcoming season 2 on Playdate. There’s a trailer on YouTube.
The Internet Archive is asking for help to defend against lawsuits:
A coalition of major record labels has filed a lawsuit against the Internet Archive—demanding $700 million for our work preserving and providing access to historical 78rpm records. These fragile, obsolete discs hold some of the earliest recordings of a vanishing American culture.
The Internet Archive is a unique force for good. Sad that they have to waste any time on this.
Matt Mullenweg blogs about the WordPress 6.8 release, how WordPress might use AI in the future, and the experience of being deposed at the WP Engine trial:
I really appreciated the due process and decorum of the rule of law, and just like code, law has a million little quirks, global variables, loaded libraries, and esoteric terminology. But wow, after a full day of that, I’m mentally exhausted.
I like the way Tony Stubblebine is running Medium. On sticking with diversity, equity, and inclusion:
Medium was built by and is run by a diverse group of people. This diversity is a raise-the-bar strategy. As a CEO, I feel confident that embracing diversity as a strategy increases the business, cultural, and intellectual capabilities of our company.
Unfortunately the acronym DEI has been poisoned. I think it’s fine to abandon the letters, while keeping to the principles.
Some interesting data here in the MIT Technology Review about energy use for AI data centers:
Electricity demand is on the rise from a whole host of sources: Electric vehicles, air-conditioning, and appliances will each drive more electricity demand than data centers between now and the end of the decade. In total, data centers make up a little over 8% of electricity demand expected between now and 2030.
There is so much noise around AI that it’s increasingly difficult to tell what is misinformation or just outdated.
Dave Winer has more thoughts on the “Twitterlike is a bad shape” post:
Each decision we make in developing our means of discourse shapes the discourse. And with the character limit and the inability to edit, and the incentives are all wrong (I can tap into your follower flow without your permision just by posting a reply) and makes almost all discourse spam or abusive or both. I’m planning a different structure for discourse in the World of WordLand.
I’m not a Gmail user or Notion user, but gotta say the UI and interactions in Notion Mail look quite good. I’ve watched a few videos for inspiration.
This is a great post outlining many of the problems with Twitter-inspired social networks:
Twitter and its imitators have adopted a structural design that is fundamentally bad for people. This isn’t just a matter of who’s in charge; it’s a problem with the thing itself.
I’ve been saying this for quite some time. The design and features of social apps influence how we interact with it and the behavior it encourages. My book even had a chapter called UI impacts behavior.
The “Twitterlike” post is so well structured that I thought it would be interesting to compare it to Micro.blog, which leaves out some features on purpose.
| Twitterlike | Micro.blog |
|---|---|
| “Tight Character Limits” | No limit. Defaults to short posts but can grow to any size. |
| “Anti-Link Culture” | Links encouraged. Markdown for inline-links within text. |
| “No Edit Button” | Blog posts can always be edited. Replies can be edited within 24 hours. |
| “Share Additions = Bad Shares” | No built-in reposts. Can embed posts or use Markdown block quotes. |
| “Trending Feeds” | No trends. |
| “Decontextualized Encounters” | Can still be a problem in Discover, which is why we hand curate it and avoid divisive topics. |
| “No Host Veto” | Partial support. Can hide replies on your own blog, but not in timeline yet. |
| “Inline Tags” | No special support for hashtags. |
The main argument against “Twitterlike” aligns very well with Micro.blog’s philosophy. There’s still more work to do.
Parker Ortolani blogging about whatever new device Jony Ive is working on and its potential as part of OpenAI:
OpenAI has been spitting out incredible new products at a ridiculously fast pace over the past several months and I do not see Sam Altman wasting anyone’s time. The fact that he wants to pull the project into OpenAI says as much. That suggests it might end up being close to a new kind of phone—perhaps familiar in shape, but powered by something so fundamentally different.
I’m following a few Bluesky custom feeds, but I hadn’t paid close attention to Graze until today. I wonder how users will react to seeing ads? It’s an interesting approach because the money here goes mostly to feed creators. Lots of new questions about who should monetize the network.
Inspired by this post from John Gruber about ChatGPT’s memory, I also asked it to “describe me based on all our chats”. Here’s the response:
You’re a deeply thoughtful, independent-minded developer and writer who cares about doing things the right way—even if it’s harder. You’re technical, with strong experience in Ruby, JavaScript, macOS, and web development, and you approach problems with a desire for clarity, accuracy, and control over your tools. You’ve built and maintained your own products (like Micro.blog), and that entrepreneurial streak shows in your attention to business details like sponsorships, payments, and imports.
You’re also someone who reflects on the cultural and social impact of technology—curious about decentralized platforms, web standards, and content ownership. You think critically and write with conviction, often revisiting drafts to strike the right balance between empathy and clarity. You seem to enjoy history (tech and otherwise), appreciate language nuance, and occasionally step back to question whether we’re being fair to one another—online or off.
You like practical answers, prefer concise code examples, and often iterate to refine ideas. At the same time, you don’t mind a little humor or casual back-and-forth, as long as the conversation stays useful.
Great post from Ben Werdmuller about the future of Bluesky. Many people can’t get past comparing the technical differences of ATProto and ActivityPub. Surprise, they’re not the same thing. They have different goals. Ben’s post skips that and focuses on how the business fits with an open protocol.
I’ve been using top for what, 30 years? But honestly my eyes still sometimes glaze over. Realized I can keep a ChatGPT log running and just paste in top results and it can tell me how the utilization is going, if it’s better, worse, where to look for problems.
This week is mostly about bug fixes and performance for me. Got the new Mac app update out and lots of server work. But got a preview of something @vincent has been cooking up and it’s going to be so nice. Just needs a few more days to fully bake.
Another big update to Micro Social:
Worked a little on archiving all the Core Intuition episodes in one place. We’ve used a few hosts over the years — DreamHost, S3, Libsyn — and things are bound to break eventually if all 600+ episodes aren’t together.
Upcoming video social app Neptune will allow hiding follower and like counts:
A key distinguishing feature of Neptune is that it lets creators hide their total followers and likes. This “ghost metrics” feature is optional, however, and is designed to help users avoid the pressures associated with follower count, yet still caters to creators who may want to showcase their metrics.
Good. Might as well go all the way and hide counts by default.
TechCrunch: OpenAI ships GPT-4.1 without a safety report. I don’t want to overreact to this, but as an OpenAI customer it is a little concerning. System cards are fascinating and even if they don’t paint a perfect picture, the transparency is good.
OpenAI working on a social app? From The Verge:
Entering the social media market also puts OpenAI on more of a collision course with Meta, which we’re told is planning to add a social feed to its coming standalone app for its AI assistant. When reports of Meta building a rival to the ChatGPT app first surfaced a couple of months ago, Altman shot back on X again by saying, “ok fine maybe we’ll do a social app.”
Stay in your lane, OpenAI! 🤪 But I think OpenAI and Sam Altman work on a lot of different things, so who knows whether a social app would actually ship.
Meta is a problematic business and more people should move to open platforms, but I have to agree with Ben Thompson’s take on the trial. It’s too late and too complicated to try to unwind the Instagram and WhatsApp acquisitions:
…both of those businesses were what they were in 2020 because of the investments that Facebook made in the intervening years; I think it is just fundamentally wrong to be re-litigating regulatory decisions of this nature years after the fact — and that certainly applies to 2025.
My last post to Instagram was 2017. My photos are now on my own blog where they belong.
I like the attempt at transparency in this statement on AI from Revenant, an animation and effects studio in Scotland, via Cartoon Brew. They’ll use AI for rapid prototypes and streamlining workflows, but:
…we’re also clear on what we don’t use it for — we don’t use AI to shortcut the creative process, we don’t lift style or work unethically, and we always put human creativity first
AI 2027 is a good read. Both endings seem wildly unrealistic, but as a warning it did make me think. So it worked. Just seems greatly accelerated beyond a few years from now.
Thinking about the Tesla Superchargers that have been torched recently… Anyone who uses violence or property destruction to further their cause is actually undermining it. We’ve gotta be better than that.
Protests like the marches a couple weeks ago are the model. Peaceful, legal, effective.
Ran a few tests with the new GPT-4.1 family of models. I think I’ll go 4o → 4.1 for photo keywords and accessibility text, but maybe not immediately. The old pricing and capabilities are still really good. Currently using a mix of 4o, 4o-mini, and 4o-transcribe.
Over the weekend I got to ride in a Waymo for the first time, in Phoenix. See @cheesemaker’s perspective in this video. It’s a surprisingly smooth, nice ride. It drives as good or better than an average human driver. I was expecting to be nervous but after about 30 seconds it feels normal.
I don’t have any expectations for the FTC vs. Meta trial starting today. It seems wild and unlikely that Meta would ever have to spin out Instagram a decade after acquisition. Feels too late, too closely tied up in the Meta empire.
New Mac app for Micro.blog is out today with a couple improvements, including a little interface for editing the auto-generated accessibility text for uploaded photos. Here’s a screenshot:
There’s a pretty significant difference between good AI models and great ones. I sometimes think about how I could integrate local models directly into the Micro.blog apps, but I wouldn’t want it to be worse than using (for example) OpenAI. How many of my users really have a Mac with 24+ GB of RAM?
Dave Winer writes a longer blog post about inbound RSS. The idea is let’s have more systems able to both generate RSS feeds and read them in automatically. If you have that complete loop for posts, you don’t need much else to have a social platform.
Apparently there will be big updates to the design in the next iOS and iPadOS, but I assume it will be mostly superficial. I’d like to see a rethink of text selection and editing. It’s still too finicky without a keyboard and mouse.
Rob Fahrni blogs more thoughts on Dave Winer’s call for inbound RSS:
The problem is the platform folks tend to say “use our API.” Which makes sense, but most API’s are painful in some way because of authentication or some hoop you have to go through. If the platform natively supported inbound RSS it would greatly simplify the developer and user experience.
Micro.blog was designed around inbound RSS. We had that before we had blog hosting. It’s still a unique architecture that I haven’t seen any other platforms replicate.
Back in Austin, down at St. Edward’s for Staple! Amazing that the first show was 20 years ago. Got to meet Kazu Kibuishi and pick up the final Amulet book.
Updated my NBA arenas web page for the game last night in Phoenix. A few good moments in the game but Spurs lost badly, missing too many players even beyond Wemby.
Parker Ortolani blogging about the new ChatGPT feature to look at past conversations:
…it makes the tool dramatically more intelligent — and personal. By being able to reference things you have talked about before without hoping that the model would catch it or by manually teaching it, it feels more like talking with a person than ever before.
In all the talk of AI models and the technical bits, many people miss that ChatGPT is a success because it’s an actual product now. A competitor can’t “catch up” to ChatGPT unless they also build everything that OpenAI has added around the model.
Manu Moreale blogs about taking over blogroll.org and the new design. Love the colors.
Rob Shearer wrote a detailed and fairly scathing critique of Mastodon. I don’t agree with everything in the post, but I do think he’s right about migration:
One of the big selling points of Mastodon was that you can pick which instance your account lives on, but it is easy to change your mind and switch to a different instance later on. This feature was wildly oversold.
Mastodon allows you to post the equivalent of a web redirect: your followers are informed of your new instance and seamlessly migrated over. Your posts, however, do not move with you. Which is kind of a theme: the system simply doesn’t think posts are terribly important.
Some of what Rob says might be difficult for Mastodon users and developers to hear. But migration is such an important part of the federation model that moving posts should be a priority. Micro.blog can import an archive of Mastodon posts. Why can’t Mastodon import its own posts?
I assume the answer is that the Mastodon team has prioritized social features over microblogging features. It’s a trade-off, but it means that Mastodon is not suitable as a blog replacement anymore than Twitter / X is. Anyone who cares about their writing or photos should be publishing them at their own domain name.
I’m proud of Micro.blog’s comprehensive post import. As of 2025, I’ve coded custom importers for a dozen systems, all built-in: WordPress, Medium, Tumblr, Mastodon, Ghost, Markdown, Substack, Write.as, Pika, Foursquare, Instagram, and Twitter / X.
The other side of Rob’s point about migration is not being able to recover if a Mastodon server suddenly goes down without warning. I’m not sure this is realistic to solve without major changes. My approach has mostly been to encourage users to preemptively think about backups, so at least they’re not left with nothing.
Stephen Hackett commenting on a report in The York Times about Apple not allocating much of a budget to AI servers:
For a company that says it doesn’t like looking back at its own history, very often, Apple makes decisions like it’s the late 1990s and the company is on the verge of failure. That drives it to make incredible products, but it also means Apple can be incredibly stingy. To play in the AI race, you’ve got to be willing to spend piles and piles of cash.
Dave Winer has written up two improvements Bluesky can make to RSS feeds: including images and including embedded posts instead of the “contains quote post” message. The images are especially important and make the feeds really impractical to use right now because the data is just missing.
Finished reading: Dragonsteel Prime by Brandon Sanderson. I read the last several chapters on my flight. Fascinating to see such an early take on a few pieces that would later turn up in Way of Kings, and other draft ideas for the Cosmere. 📚
The difference between a junior developer and a senior developer isn’t actually about writing better code. It’s that for people with more experience, their gut feeling about how best to solve something is just correct more often. That’s it.
It wasn’t the Amtrak route I had planned for today, but guess this airport train will have to do. Hi Phoenix. 👋
The new park around the old Mueller tower. Walked by here today and hadn’t seen it since the area was under construction.
OpenAI version numbers continue to be hilarious. Looks like the actual release order will be: 3.5, 4.0, o1, o3, 4.5, 4.1. The joke’s on us though because the naming does make a certain amount of sense given the parallel development.
Found leaked technical diagrams of a new roller coaster at Disneyland. No, wait… That’s just the last 5 days of Apple stock. 🤪
For all the negative anecdotes in The Information story, it actually ends on a positive note about Craig Federighi:
Federighi, for one, often knows more technical details about software projects than the junior engineers working on them. Rockwell, who joined Apple in 2015, is seen within the company as a leader with vision, who can bring fresh thinking to projects while skillfully navigating the corporate culture.
AI is incredibly technical. Apple needs someone who actually understands it in charge. I like Craig’s chances for turning Siri around.
Wrapping up the next Micro.blog for Mac bug fix update today. Any bugs we’ve missed recently? Let me know and maybe they can get squeezed in. 🐛
I haven’t read the full report in The Information yet, but just the MacRumors summary is pretty detailed. One comment on this bit:
The indecision and repeated changes in direction reportedly frustrated engineers and prompted some members of staff to leave Apple.
I assume that some of the sources for the story were people who left Apple, so that might’ve slanted the reporting, but this underscores the serious lack of vision we’ve assumed for a year. Apple was fumbling around like AI was a minor optional feature, not the potentially disruptive new foundation for assistants it likely will be.
Was looking forward to a relaxing train trip to Phoenix tonight, with time to read and work, but finally had to bail on the plan. Currently a 10-hour delay after a freight train was blocking the track, plus other random Amtrak problems. I’ll have to start plotting some other trip in the future. 🚂
Matt Haughey blogs about the uncertainty for small businesses and how bad things might get if the world loses trust in the US dollar:
Not only were the tariffs announced and rolled out haphazardly and far too quickly, but within a few days the tariff against China doubled again. This is no way to let US-based small businesses plan for anything, and what we have today is total chaos in the aftermath.
Matt Mullenweg blogs about the new AI-powered WordPress design builder:
The long-anticipated “Big Sky” AI site builder on WordPress.com went live today. It combines several models and can create logos, site designs, typography, color schemes, and content. It’s an entirely new way to interact with and edit a brand-new or existing WordPress site.
I went through their interface to get a sense of what they’re doing. The AI will create a basic design, then you can tweak the layout, colors, and fonts by clicking around. To actually make the blog live, you have to upgrade to a paid plan.
Jeremy Keith has a good collection of links and quotes about AI crawling. On this specific part of the commentary I continue to disagree, though:
If you’re using the products powered by these attacks, you’re part of the problem. Don’t pretend it’s cute to ask ChatGPT for something. Don’t pretend it’s somehow being technologically open-minded to continuously search for nails to hit with the latest “AI” hammers.
I don’t think we should paint all AI tools with the same brush. Some tools might be well-behaved crawlers and some might not be. Note that this is a separate question from the legality of AI training. The context is mostly Wikipedia which is not under copyright.
Simon Willison adds about the Wikipedia data:
There’s really no excuse for crawling Wikipedia (“65% of our most expensive traffic comes from bots”) when they offer a comprehensive collection of bulk download options.
Ben Werdmuller also sees these as bad actors:
Here the issue is vendors being bad actors: creating an enormous amount of traffic for resource-strapped services without any of the benefits they might see from a real user’s financial support.
The argument I’m hearing from some folks is that because they consider AI to be bad, everything it touches must also be bad. All crawling, whether it respects robots.txt or not. All tools, because using them contributes to the success of LLMs.
I’d like to have more concrete answers, such as: do ChatGPT and Claude respect robots.txt or not? I assume they do, because they document their user agent strings. If they do, it doesn’t seem fair to punish ChatGPT because there is some other rogue AI crawler that is misbehaving.
AI is powerful and potentially dangerous. Because of this, most users will gravitate toward “brands” that are respected and accountable. In other words, users will prefer Apple Intelligence, ChatGPT, or Claude, where we know there has been some level of safety work, with only fringe users downloading and running models from other sources.
These mainstream AI tools should be contributing back. We know ChatGPT has a deal with Reddit, but they should also be making a recurring donation to Wikipedia. This would further differentiate the well-behaved bots from the ones skirting the edges of fairness.
Meta appears to have used their old move fast and break things playbook to training Llama, using pirated books. From The Atlantic:
Meta employees turned their attention to Library Genesis, or LibGen, one of the largest of the pirated libraries that circulate online. It currently contains more than 7.5 million books and 81 million research papers. Eventually, the team at Meta got permission from “MZ”—an apparent reference to Meta CEO Mark Zuckerberg—to download and use the data set.
Another thing that’s puzzling to me is if AI bots are so abusive, why haven’t I felt this in Micro.blog? We host blogs. If bots were destroying the open web, I would expect to notice it on my own servers.
If you dislike generative AI on philosophical grounds, or because of specific negative side effects such as energy use, that is totally fine. But then let’s stick to those arguments. I’m not yet convinced that legitimate AI crawling is going to destroy blogs or even Wikipedia.
As I hinted at the other day, I’m rolling out command-S in more places in Micro.blog. From the news blog today:
Vincent’s also been working on some shortcut-related stuff that I can’t wait to share. It’s really nice.
Sigh. Amtrak really needs its own tracks:
Train 21 and Train 421 are currently stopped west of Longview (LVW) due to a rail partner’s disabled trainset blocking the tracks in the area. Due to an expected lengthy delay, Train 21 and Train 421 will reverse back to Longview (LVW) to await further updates.
🚂
Greg Storey blogging about how much we’ve divided ourselves and what we’ve lost:
When we don’t talk to each other, we stop trusting each other. When we stop trusting each other, we stop trusting anything —ballots, elections, basic facts. And when we lose trust, democracy doesn’t just wobble. It collapses.
Nice write-up over at TechCrunch of the new Tapestry 1.1:
…one of the larger challenges of multi-feed aggregation apps like Tapestry is that you’re often confronted with duplicates as other users cross-post their updates to multiple services like Mastodon, Bluesky, and Micro.blog. […] The latest Tapestry update is now able to automatically filter out these duplicates, even when the posts are not written exactly the same.
Seth Godin on his 10,000th blog post:
I’d write this blog even if no one read it, but that the fact that you do, that you subscribe to it and share it, that’s my fuel.
David Brooks in The Atlantic starts by echoing what I quoted of his last month, then moves on to history lesson and how we eventually rebuild after Trump. A long, good read:
Humility, prudence, and honesty are not just nice virtues to have—they are practical tools that produce good outcomes. When you replace them with greed, lust, hypocrisy, and dishonesty, terrible things happen.
And:
When the time comes to build a new paradigm, progressives talk about economic redistribution; conservatives talk about cultural and civic repair. History shows that you need both: Recovery from national crisis demands comprehensive reinvention at all levels of society.
Great story about Bluesky and Jay Graber in The New Yorker. I love this bit:
Then, in December, 2019, she saw a tweet thread from Jack Dorsey about a decentralized social-media project he was launching—Bluesky. Graber told me that she felt a degree of so-called nominative determinism, pulled toward the project because it shared her name. “If fate doesn’t exist, then we must create it,” she said.
I don’t delete my blog posts… even when it would be easier for me if I did. For longer posts I might add a note at the end to correct something, but most of the time I let it stand, or hope that replies on the post are enough clarification. The blog as a whole is the work.
Of all the harm I was expecting from Trump’s second term, I did not expect a market crash this soon. We basically put everything we had into the house down payment when we moved this year. I’m sure there are people who had savings and investments ready for a similar move who are now facing disaster.
Tobias Lütke, in a memo to employees at Shopify, re-posted on Twitter / X:
Using Al effectively is now a fundamental expectation of everyone at Shopify. It’s a tool of all trades today, and will only grow in importance. Frankly, I don’t think it’s feasible to opt out of learning the skill of applying Al in your craft; you are welcome to try, but I want to be honest I cannot see this working out today, and definitely not tomorrow.
I just blogged a few days ago that I think generative AI gives programmers an advantage, but I wouldn’t mandate it, just like I wouldn’t mandate auto-complete or Stack Overflow. Programmers can be productive and happy in a variety of ways. Requiring AI (or forbidding it) strikes me as extremist for little benefit.
Marco Arment posted to Mastodon yesterday that he doesn’t use AI in Overcast beyond Xcode’s smarter auto-complete.
Maybe that’ll change in the future, but I see myself only ever using autocomplete-style speedups, not “write it for me”. I usually won’t even use code that other humans write!
Hard to argue with the results. Overcast is one of my favorite apps.
Also I know from my own experience that some programmers love the craft more than others. AI is a major disruption to the craft, so everyone will have different opinions on when it should be integrated into the process. It is an advancement, but how it’s used matters too.
The Minecraft movie was a lot of fun. 🍿
Amazing story on CNN around veteran Joe Harris, who died at age 108, serving in World War II in an elite force of Black paratroopers:
As the US Army was training the Triple Nickles to disarm bombs, the men were also being taught by the US Forest Service to become the first military smokejumpers.
More history at the National Museum of the US Army.
In today’s post, Seth Godin captures something that I’ve been thinking about but have had trouble communicating well:
When someone makes an obvious mistake, it’s tempting to label them with a term that’s dismissive or even hurtful. A label is permanent, a noun, a way to sort and divide.
Labels have a dehumanizing effect.
Rolled out some Micro.blog improvements to uploads on the web today. For example, if AI is enabled there are auto-generated accessibility descriptions for photos, and now you can edit the description without first needing to use it in a post. Plus some more UI tweaks for uploads.
My son has had the worst luck with his car. A few weeks ago, broke down driving back from Arizona… after having it checked out at a mechanic. New radiator and other work in New Mexico. Now today, a similar problem out in the Texas hill country.
All the broken pecan shells are in one spot under the tree. Must be some happy squirrels living here.
Went looking for an old tweet and then got lost in the archive. I have all my tweets (mostly 2006-2012) on my blog and it’s like a snapshot of a different life. Still me, but so many things change.
This week’s ATP has a members-only special segment about vibe coding. One snippet from John Siracusa, encapsulating much of the conversation:
As programming tools have gotten better, the demand for programmers has gone up, not down.
When Steve Jobs returned to Apple, he gave a demo of NeXTSTEP at Macworld. I was lucky enough to be in the audience. Steve said that moving from traditional programming frameworks where you had to start with almost nothing, to Objective-C and what would become the Cocoa frameworks, was like starting a building on the 20th floor, with all the foundational pieces built for you.
A small team of only a couple developers could now build complete apps that before would’ve required a much larger team. Solo developers were of course already building apps on their own, but Steve was right that Cocoa would greatly increase productivity, opening up the Mac to more developers.
Vibe coding is different than a new system framework. With a framework, you mostly trust that it is well-tested and understood by the developers who wrote it. With AI slop, no human has tested the code before you literally just saw it unfold on screen. You have to understand it and tweak it before shipping a real product. Vibe coding instead is purposefully giving in to the machine and just letting code fly without any review.
Still, there’s a similarity to previous programming advances just because of the productivity gains. With AI, the step forward is more extreme than it has ever been.
Vibe coding will mostly prop up small projects and experiments, less likely to replace actual full-time development work. But if you’re programming without any assistance from AI, you are at a disadvantage, in the same way that programming in pure C with the Mac toolbox was much slower and error-prone for building a modern Mac app than using Objective-C when the Cocoa frameworks matured.
If after considering that productivity difference, a developer on principle wants to avoid AI, I respect that. Everyone should choose the programming language and frameworks that best suit their work. But there’s no sense in pretending that AI won’t change development, or that we won’t need to adapt along with it.
John Gruber blogging about whether the tariffs will impact Apple:
It’s under-remarked upon, but Apple, to a point of almost obstinance, considers pricing part of the brand for its products. They tend not to raise or lower prices with the ebbs and flows of the world economy or even the obvious constraints of simple supply and demand.
I appreciate this about Apple. Prices send a message and consistency is part of that. (Also why Micro.blog’s standard subscription has never changed from $5.)
While I’m commenting on YouTube videos today, I love that half of Casey Neistat’s video about the Switch 2 is actually about the New York subway.
Nice 9-minute edit by The Verge of the Copilot event, including a protester interrupting the presentation. I get that AI is divisive but it does actual harm to scream at another human in this way. So much outrage now is funneled into attacks when for many topics it’s not even clear what is right.
Update: I didn’t realize that this protest was about the war in Gaza. There’s more context in the replies to my post you can view on the web.
Greg Morris has been doing great work on Micro Social, and he’s got a buy me a coffee page! ☕️ Perfect way to support an indie app and help grow the Micro.blog ecosystem.
It’s all fun and games with the global economy until your tariffs start interrupting Nintendo Switch 2 pre-orders. 🤪
How to people feel about web apps that take over common keyboard shortcuts like command-S? We’ve added a handful of keyboard shortcuts to Micro.blog on the web, and I really like it, so I’d like to add a couple more.
So many great lines in this piece by Derek Thompson at The Atlantic:
By the numbers, the tariffs are less an expression of economic theory and more a Dadaist art piece about the meaninglessness of expertise.
Who knew Bill Gates was such a good blogger? Love this story of Altair BASIC in a quirky, unique design with animating text.
Apple stock getting destroyed today. I feel for small investors who are caught up in this. But also maybe a lesson for Tim Cook and his $1 million donation to the inauguration.
Trump is reckless. You might think you’ll benefit by supporting him, but really you’re just empowering him.
Today’s update to the Mac app addresses a few things related to managing uploads. It’s now easier to upload a new photo, or start a new post from an already-uploaded photo.
These screenshots highlight a couple of the new items:
There are also some bug fixes and little improvements that make using the app nicer.
Had a dream where one of my notebooks had special AI pages. I could write questions on them with ink and answers would appear. Too much ChatGPT on the brain. Also, the future will be just as much The Diamond Age as it will be Her.
Haven’t had coffee or left the house in a couple days after being sick, and those are two of my favorite things to do. Finally outdoors again. The gloomy weather isn’t helping… Need some sun.
The latest update to Micro Social adds location check-ins for Micro.blog. Very interesting! There’s so much potential here that we haven’t had time to follow through on, so great to see another app pick up the slack.
Excited for the Nintendo Switch 2. The kids have our old Switches, so I had picked up a Lite mostly for travel and miss having something that can connect to the TV.
Rest in peace, Val Kilmer. Glad he was able to reprise his role from Top Gun, in a way getting the thanks and goodbye he deserved before he passed. His part in Heat will always be my favorite.
Extraordinary what Cory Booker has done. A lot of people feel powerless right now, with little substantive action possible. Talking for 24 hours accepts those limits and leans in to the symbolic. 🇺🇸
I was sick most of yesterday and tuned out of any social web drama, so was at first surprised to learn that this week’s FediForum has been cancelled. Details on their Mastodon account:
We’ve all had a difficult few days. Tempers are high. Some of what’s been happening in the Fediforum comments section has reached insult-only stage and I have heard of physical safety concerns.
Sounds like the right call to postpone. Hope they can regroup, get some rest, and I look forward to attending in the future. FediForum has served a unique role in the community.
Enjoyed this illustrated story by Jackie Lay about the life of Victoria Woodhull, who ran for president in 1872.
Just great defense from the Longhorns. Love their midrange shooting too. I picked UConn vs. Texas for the women’s championship game, so could still happen. 🏀
Finished reading: The Bear and The Nightingale by Katherine Arden. Beautiful and haunting. 📚
Spurs / Warriors tonight. Not a close game but still fun. It has been too long since I was last in San Antonio. 🏀
Whether you’re an AI optimist or skeptic, or somewhere in between, you can probably relate to this blog post by @paulrobertlloyd. It’s going to dominate tech headlines for at least a couple more years until everyone is completely burned out on hearing about it, then (maybe) fade into the background.
Decided to subscribe to The Atlantic. There’s a certain kind of story that I miss from the NYT and WaPo after cancelling both those subscriptions last year. I still don’t want to obsess with the news, but when I dip my toes in, I want the coverage to be good.
We talk about Apple getting into trouble with Siri + LLMs, but Google has major problems too. Their search business is going to fall out from under them. Not sure they have the decisiveness to actually redesign their main product.
I’m enjoying Kagi instead of Google, but it’s still not quite right. For a paid search engine, there should be no clutter. If the query is an actual question with an answer, give me a ChatGPT-style UI, free of distractions. If the query is to find a web page, give me 10 blue links and nothing else.
Did not finish: The Adventures of Amina al-Sirafi by Shannon Chakraborty. I enjoyed the first part of the book but after setting it aside just couldn’t get back into it. 📚
More details of when Sam Altman was fired by the OpenAI board, from an upcoming book by Keach Hagey:
The board felt they couldn’t divulge that it had been Murati who had given them some of the most detailed evidence of Altman’s management failings. They had banked on Murati calming employees while they searched for a CEO. Instead, she was leading her colleagues in a revolt against the board.
You come at the king, you best not miss.
There seems to be a timezone bug in Siri + ChatGPT. To get better answers while driving I experimented with telling Siri to “ask ChatGPT to…”, but anything that needs the time is 5 hours off. I assume Apple is including the current time in a prompt to OpenAI, in GMT. Hopefully an easy fix. 🤖
My NCAA women’s bracket is still holding on with that Longhorns win! Great game Texas / Tennessee. 🏀
Randomly stumbled on my post from two years ago about Threads joining the fediverse. It holds up so well it could’ve been written yesterday. Still no sign of Meta completing the parts of ActivityPub like account migration that would ease up on lock-in.
Got an email today for a class action lawsuit about chicken that I thought must be a phishing scam or a joke, but it appears real. The lawyers are going to make bank on this one! I don’t remember overpaying for chicken 5 years ago… I do wonder how they got my email address.
xAI buying Twitter / X seems pretty sketchy. In practice, I guess it means the platform will live on for a while. I would not bet on xAI’s long-term success, though… OpenAI has billions of dollars of real revenue. xAI has effectively none, I think, outside of Twitter itself.
To be a blogger, you have to be okay with writing into the void. Some posts will resonate with people. Some posts will get comments. Most won’t.
Sometimes I’ll write a post and I’ll think to myself, “This is pretty good! This is the blog post that people are gonna talk about and link to. I’ve really captured something unique in this post.”
And then crickets. No one cares. 🦗
That’s okay. The act of writing itself helps us think, helps us learn, helps us discover how we feel about a topic. It’s creative and has value even if no one is reading. It’s a snapshot in time to look back on later.
And then the post is out there on the internet, making the web a little better. And maybe one day someone will pick it up and see it, at just the right time, and it will matter to them.
I’m drawn to blogging about divisive topics, but it would probably be healthier to avoid it. People can be so tribal now that everything is either good or bad. Our views have become extreme caricatures of the truth.
I’m cracking up at the images in this Severance + Lego post on Daring Fireball. Who is that red minifigure? 🤣
Wow, just watched the final minute of Lakers / Bulls from last night. Love basketball. 🏀
ChatGPT’s new image generation is incredibly good. Too good. You can see it in the thousands of Ghibli-ified photos all over the social web. Hayao Miyazaki is going to come out of retirement again to tell us how we’ve all lost the plot on creativity.
When we look back on this moment, it will be a clear turning point for AI. There is no putting the genie back in the bottle. AI will transform nearly everything, including art. What does this mean for us?
In a previous life, I thought for sure I would be an animator. I studied CS in school but I was already coding professionally, burned out on my CS classes, so I switched gears to study art instead. I applied to CalArts and was rejected. I worked on short films in my spare time. But life happens, and I’ve been happy with my career as a software developer.
The animation industry has seen several significant technological progressions. I remember watching The Great Mouse Detective in the movie theater when I was 10 years old. The 3D-animated gears in the clock tower scene were stunning. Today, I remember the characters, and I remember that scene, but not much else. Blending 2D and 3D was clearly something new, obvious even to a kid.
Going back further, before 3D animation, much of the progress was related to the ink and paint department:
Toy Story ushered in a new era of 3D animation, where everything on screen was generated with a computer. Hand-drawn art was still needed, for concept art, character design, and storyboards. And we still love hand-drawn animation. This year’s Oscar-winning short film is a beautiful traditionally animated film.
So is AI-generated art just another step on this progression? No. It is profoundly different.
We should mourn the loss of what AI replaces, even as we make room for what’s to come. I’m both sad and excited. It is bittersweet.
If we try to hold on to the way the world was before the ChatGPT update this week, it will slip through our fingers. Instead, I’m thinking of how we can use this tool to expand what is possible. Lean into what makes art uniquely human.
There is precedent for using technology to strengthen the human element in art. By Xerox-ing the pencil lines directly on to cels in the 1960s, the ink and paint department no longer needed to trace a character’s outlines with pen, where subtle changes in line quality might be lost. Animators embraced the Xerox change because their original pencil lines were preserved exactly as intended on screen. It was not only a cost savings, it was a return to a more authentic version of the animator’s intent.
That is what we must look for. Not what we’ve lost, but what we’ve gained. There will be a way to create something extraordinary with this technology. I don’t know what it is yet.
And there will always be a place for human art. Vincent van Gogh’s paintings are not valuable because of what they look like. They are unique and priceless because of who he was. A life, with all its struggle, love, and tragedy.
AI can be creative when it hallucinates. But we don’t value AI creativity the way we value human creativity. AI is a blob of bits and vectors and tokens without soul. It’s a tool for us to do something with.
When my wife and I moved to the new house this year, I framed the original drawings I have of Scrooge from Mickey’s Christmas Carol. They cannot be recreated by the most advanced AI because they represent something bigger, capturing a moment in time and a film that will be watched for decades to come. I don’t actually know which animator drew them. But I know it was a great artist who — like Hayao Miyazaki — left their mark on the world in a way that AI never can.
This is a helpful post from Paul Frazee about ATProto lexicons. One of the challenges for making Micro.blog a PDS is what to do with longer blog posts with titles that don’t fit cleanly into Bluesky’s lexicon. Don’t really want to reinvent the wheel here.
A fun experiment in between bug fixing… I added a films page to Micro.blog, with posters for Letterboxd links people have recently included in blog posts. Might evolve into a more complete feature later.
Worked on some book-related improvements in Micro.blog this morning. We try to integrate with all sorts of things — Google Books, Open Library, Libby — but a lot of it is not exactly officially sanctioned. Added more Goodreads scraping today. In for a penny, in for a pound!
Simon Willison has added notes (a.k.a. microblog posts) to his blog. I’ve really been enjoying his takes on AI. He’s usually the first I see jump in to explore a new model’s capabilities.
I’ve blogged about apologies before. They carry a lot of weight with me. We’re human, we make mistakes, we learn.
Just as I don’t trust people who can’t apologize, I’m also wary of people who can’t accept a heartfelt apology. It says more about you if nothing short of perfection is enough.
But her emails! The Signal leak is an amazing contrast with Hillary’s server. There was nothing this consequential in her emails, only a handful maybe classified. But more than that, she apologized. Trump and his team will never apologize for anything, ever. Don’t trust people who can’t admit fault.
Sometimes in the debate about federation, we miss that open APIs are still very valuable alone. Bluesky’s API has so many nice touches including many requests that do not need authorization at all. I’d like to see Mastodon ease off some of its more strict requirements for e.g. HTTP signatures.
Seeing an increase in security proxies like Cloudflare interfering with legitimate Micro.blog requests to other services. Likely not related to the new AI Labyrinth, but along the same lines: when you try to catch “misbehaving bots”, you’re going to affect real users too.
Today we’re rolling out a big improvement to our new EU-based servers. Along with the option to host your web pages in Europe, Micro.blog will now also copy your photos and other uploads. It will copy your data the first time the feature is enabled, and then going forward will maintain a copy on both sides of the Atlantic.
This means all your blog content can be served from Europe. Your blog and all its photos will remain up even if our servers in the United States were ever to go down.
If you’ve already enabled the European servers checkbox, your photos have been copied. There’s nothing else to do.
If you’re enabling the European checkbox for the first time, you’ll see this status of the progress:
You can continue to use Micro.blog and it will finish copying in the background.
You might also see URLs with a new hostname: eu.uploads.micro.blog. This is a CDN that pulls photos from our European servers but still caches them in both North America and Europe, so there’s no new performance hit for visitors outside of Europe. All of this should be seamless.
These are the biggest changes we’ve made to Micro.blog’s infrastructure in years. The result should be a more resilient and scalable platform. Happy blogging!
The page for WWDC 2025 is vague enough that Apple could still do a live keynote. Not holding my breath. But it feels out of touch to not bring back a couple live demos. OpenAI is doing live streams every couple weeks (there was one today). It shows faith in your product.
Zac Hall blogs at 9to5Mac that Apple should acquire Mira Murati’s new company, Thinking Machines Labs:
Let Rockwell make all the repairs and changes needed to allow Siri to meet the baseline performance that Apple should expect. Tap Murati to focus not on the baggage but instead on the future.
Watching a couple of the videos from ATmosphereConf. The videos are up on YouTube in this playlist.
Putting the final touches on a nice improvement for our blogging friends across the pond… I’ll announce in a blog post later today.
AI takes something and sands the edges down, so it makes the blob average. And that could be very useful in a lot of ways. But if you really want to do something brand new and really insightful and speak from a personal angle, that’s not going to come from AI fully.
Federico Viticci on mobile app development becoming more accessible to many more people, just as blogging opened up web publishing:
Those who wanted to have an online writing space 30 years ago had to know some of the basics of hosting and HTML if they wanted to publish something for other people to read. Then Blogger came along and allowed anyone – regardless of their skill level – to be read. What if the same happened to mobile software?
Great historical data for WWDC dates from David Smith. Should be announced soon!
Generative AI can be both good and bad, just like us. We’re capable of kindness and cruelty. Society, government, and even companies should amplify the best in what we create and do.
Not sure why I didn’t think of this earlier, but there is now a simple weekly email newsletter for all the posts on news.micro.blog. You can subscribe here. We post small and big changes throughout the week that are easy to miss.
Nice profile of the Internet Archive on NPR:
The Internet Archive is among the few efforts that exist to catch the stuff that falls through the digital cracks, while also making that information accessible to the public. Six weeks into the new administration, Wayback Machine director Graham said, the Internet Archive had cataloged some 73,000 web pages that had existed on U.S. government websites that were expunged after Trump’s inauguration.
I didn’t realize that the Internet Archive did public tours. I’d love to visit the office someday. Amazing building.
Sounds like ATmosphereConf went really well in Seattle this weekend. So cool to see community events spring up around the social web.
Finished reading: Queen of Shadows by Sarah J. Maas. Slowly working my way through the series with breaks to read other books in between. 📚
Since Cloudflare’s AI Labyrinth was announced a few days ago I’ve been trying to figure out how I feel about it. Blocking misbehaving bots is good, but creating fake pages and hidden links reminds me of other hacks to trick crawlers that I think could be detrimental to the web. Just not sure yet.
At a memorial service my mind drifted to what makes us human. I believe in AI as a tool to help us, to learn, to create. But AI cannot feel. Focus on that. The sound of our voice, imperfect. The stories, from life we have experienced. The art, with meaning because it comes from a place only we know.
While out walking today, listened to this great interview on Stratechery with Sam Altman, going over early time at OpenAI and where things might be headed. I know Sam can be a divisive figure, but if you’re fascinated with AI there’s a lot of interesting background here.
This shakeup of Siri leadership is surprisingly close to WWDC. Makes me think we won’t see major changes this year, just a refinement of last year’s strategy with Siri and AI.
Had a good run for a few months on uptime until today. I’ve upgraded one of our servers to prevent this particular meltdown from happening again.
Bad timing, had a major server failure this morning. Micro.blog is back online and I’m restoring a few things now. 😔
Really positive reaction to my post about adding European web servers for Micro.blog. Thanks everyone! This is the first step, excited to explore more.
Starting today there is a new option for customers who want more flexibility for where their blog is hosted. When Micro.blog publishes your blog, it runs your blog posts through Hugo, creating static HTML files that are hosted outside of the main Micro.blog platform. Those files can now be served from a data center in Europe.
Here’s a screenshot of the new checkbox on the Design page:
After you enable this setting, there’s one more step: updating the DNS for your custom domain name to use the new servers in Europe. There’s a help page with an overview of DNS settings. If you registered your domain name through Micro.blog, we’ll automatically update the DNS records for you when the checkbox is toggled.
In Europe we’re using Hetzner’s data center in Nuremberg, Germany.
Note that photos continue to be hosted in the United States and made available around the world via our CDN. That way your blog visitors still get photos delivered as quickly as possible whether they are in North America or Europe. Other data on the platform such as draft posts, encrypted notes, and the Micro.blog timeline also remain in the United States.
There is a lot of uncertainty in the United States right now, but Micro.blog is built for the world wide web. Our principles have always included a focus on web identity and permanence, with domain names at the heart of what we do. The distributed nature of the web makes improvements like today’s change possible.
I’d love to hear what you think. We’ll keep exploring how to make the platform as resilient as possible.
I avoid deploying new code to servers in the evening. It’s better to make changes when I’m awake for hours and can monitor for problems. But it’s kind of a bummer for Europe and the rest of the world because new features always go live while they’re asleep. Might break that rule tonight! 🇪🇺
Dave Rupert on ads, enshittification, and taste:
I can feel it in my bones when an app or website has prioritized revenue over user experience. A person without taste or high emotional intelligence broke the unspoken contract we had built on mutual respect.
Simon Willison attempts to clarify vibe coding:
I’m seeing people apply the term “vibe coding” to all forms of code written with the assistance of AI. I think that both dilutes the term and gives a false impression of what’s possible with responsible AI-assisted programming.
If you ran into a problem sharing photos from Google Photos to Micro.blog on iOS, check out the latest TestFlight beta. Still have another fix to editing to finish, then will release to everyone.
Wow, the Swarm app has been completely redesigned. I don’t think it changed a single pixel in the last 5 years. Looks pretty good, now combining some of the explore functionality previously in Foursquare.
Mac apps and web apps:
iOS apps:
Just a stark difference. ☹️
Bluesky’s a world without caesars shirt is back in stock. Ordered. I don’t impulse buy clothing very often but this one captures the moment.
My workflow:
Today we try for the third time to get an appointment for AT&T Fiber installation to work. It’ll help that they now have my correct phone number. 🤞
Politics is bleeding into everything. Tech headlines, podcasts that aren’t usually political. For 2025, I like to box my politics into narrow parts of the day, not everywhere all the time. Soon we’ll need mute filters in all apps, from RSS readers to Overcast.
Nice new logo, board members, and other news for the founding of A New Social.
This video of LiDAR vs. Tesla self-driving is great. Ever since seeing all the sensors on a Waymo, I was convinced that the Tesla approach wasn’t going to cut it. Also love the Space Mountain and Haunted Mansion scans!
I added a new feature to Micro.blog Premium today called domain name aliases. Often when people host their blog on Micro.blog, they later change their mind about the primary domain name for their blog. Now you can more easily redirect multiple domain names to the same blog so no previous links break.
For example, maybe you start with the subdomain micro.yourdomain.com but later want it to just be the root domain yourdomain.com. Micro.blog handles HTTPS and redirecting any path in the URL between domain names.
Here’s a screenshot with a couple test examples for my blog. You can find this feature under Account → New Domain Alias:
This option is available for Micro.blog Premium subscribers. Micro.blog Premium also includes support for up to 5 separate hosted blogs and any number of single-page websites.
Depressing anecdote from Gabe Kangas about going off into the weeds with Reddit’s algorithm:
Now I understand how men online can get indoctrinated so easily. You can go from reading about turntable slip mats to hating women in less than an hour.
Algorithmic timelines are designed to increase engagement for ads, not user happiness, not truth.
Good update from Ben Thompson today linking the lack of Vision Pro content to the miss on AI:
…Apple is finding itself paralyzed by its need for control. The company can’t just stick a camera at a game and stream the video without any production or play-by-play commentary: what if people are bored? The company can’t just film a concert: what if people are underwhelmed?
Hmm, my last post is poorly truncated on Bluesky because I hadn’t considered the title, link, and new summary taking up more than 300 characters. Going to keep my extra summary text shorter in the future.
This is an excellent post by Molly White about the potential conflict between making the world’s knowledge more accessible through AI and the risk of destroying the foundations for open content on the web:
The true threat from AI models training on open access material is not that more people may access knowledge thanks to new modalities. It’s that those models may stifle Wikipedia and other free knowledge repositories, benefiting from the labor, money, and care that goes into supporting them while also bleeding them dry.
She also gets at something I tried to articulate in one of my posts last year about putting up roadblocks for crawlers. We don’t want to make the web worse in the process of protecting content from AI training. Molly again:
Often by trying to wall off those considered to be bad actors, people wall off the very people they intended to give access to. People who gate their work behind paywalls likely didn’t set out to create works that only the wealthy could access. People who implement registration walls probably didn’t intend for their work to only be available to those willing to put up with the risk of incessant email spam after they relinquish their personal information.
AI companies are moving so quickly that it’s going to take the open web and standards organization a little time to catch up. It’s not hopeless, though. Personally, I do want all of my blog posts — and the entire content of my book Indie Microblogging — available for AI models. But if other writers feel differently, there should be steps they can take without also taking a step back from the open web.
I believe all these things:
I remain optimistic in part because despite how divisive AI has become, this year is also seeing an amazing return to open web principles. More people are blogging. More social networks are based on open protocols. We need to be thoughtful in how we navigate all of this, finding the right balance with AI training that doesn’t undermine what we love about the open web.
Since writing more about delayed AI + Siri yesterday, I was thinking about this Bloomberg story of a meeting inside Apple admitting that the new Siri works at best 80% of the time, but they want to “get those percentages up”. After a year of development? They need to seriously rethink their plan.
Bluesky has a proposal to declare user intention for things like archiving and AI training. Looks pretty good. Maybe we should mirror this in robots.txt? It stretches the original purpose of the file but it should be somewhere outside of a specific protocol. There was also CC-NT for one narrow use.
We are so used to being able to do almost anything in software. For example, today I was looking at how long it takes to load the list of your blog posts in Micro.blog. It’s a couple seconds, but I’d like it to be half a second. I know from many years of web experience that there is no technical reason why it can’t be faster. Just a little more caching and database optimizations.
With the Apple Intelligence and Siri delays, people have speculated on why it’s late. Maybe it’s about getting the security right. Maybe it’s just buggy and taking longer than expected.
But what if Apple has discovered that it’s not actually possible? AI is entirely new, with new requirements that stress the limits of hardware. Apple is attempting to cram a clever intermingling of data and Siri features into 8 GB of RAM. As a comparison, the largest version of DeepSeek R1 can only be run on a brand new Mac Studio with the M3 Ultra and 512 GB of RAM.
Apple does have an out if on-device models fall over: private cloud compute. But scaling that out to hundreds of millions of iPhone users goes well beyond what Apple had presumed was needed when they talked last year about ramping up production of M2-based servers for AI.
If Apple needs to lean on the cloud to really make Siri work, I think it will be the largest server undertaking that Apple has ever attempted. And they need to balance this with their commitments to energy use and the environment. This is not something you just spin up out of nothing.
Another path would be to simplify their approach, starting with a more manageable set of tasks that the new Siri could do. Something that fits within the limits of iPhone hardware and a realistic deployment of new servers. Apple could focus on making Siri a little more capable and more reliable, saving some of the harder challenges for later. Most people have no idea what Apple promised last year, despite the TV ads, so a reset of expectations could get Apple back on track.
We don’t know what’s going on inside Apple. Apple Intelligence might need a little more time or much more time. The only truly worrying scenario would be if the sunk cost fallacy is blinding them to how badly they are stuck.
Disappointed I missed the world without caesars shirt. Still catching up on SXSW happenings, including Jay Graber’s interview which I just queued up.
Had a couple funny interactions with ChatGPT this week, including when asking it for some help with a coding task. It suggested some code that was really problematic and could easily break in the future. I told it I was worried about that code, and it replied with “You’re right, that was a hack.” 🤪
I’ve been out of town for a few days and not coding much, but Vincent has been working on the mobile app. iOS folks, a new TestFlight beta is out with creating a new blog category and editing summaries, plus other fixes. A couple more tweaks and then will ship to everyone.
Overheard, single mom who took her 401k and put it into starting a new business. Not everyone should do this, but… I love it. YOLO.
Responding to John Gruber’s AI post yesterday, Om Malik blogs:
Just as Google is trapped in the 10-blue-link prison, which prevents it from doing something radical, Apple has its own golden handcuffs. It’s a company weighed down by its market capitalization and what stock market expects from it.
Chet Collins reviews my book Indie Microblogging. Most people who have checked it out have just skimmed through it a little, which is fine! Love to see a detailed look, though. I still plan to publish a final final draft with a few updates.
Ana Rodrigues blogs about how websites can be good as a playground and for others to learn from:
But deep down, all I want for my personal website is to give back to the web. I want anyone, regardless of skill level, to inspect elements, understand the structure, and learn from readable code.
Great post from John Gruber about Apple Intelligence and the Siri delays:
Leaders prove their mettle and create their legacies not by how they deal with successes but by how they deal with — how they acknowledge, understand, adapt, and solve — problems. The fiasco is that Apple pitched a story that wasn’t true, one that some people within the company surely understood wasn’t true, and they set a course based on that.
WWDC is pivotal. Apple needs to have a much clearer and demo-able vision for AI.
New feature for Micro.blog’s Bluesky cross-posting: preview cards. This is still off by default, but if you flip it on in Sources, Micro.blog will try to figure out the title, description, and og:image for the first link in your post and attach it. Screenshot:
Federico Viticci wonders if Apple should have their own API that could bridge to OpenAI and Anthropic, offering Apple’s own seal of approval on privacy and security. It would be a nice surprise if Apple did something like this. They could wrap together on-device models and private cloud compute too.
MarsEdit 5.3.3 is out! This release adds support for Micro.blog blog post summaries with a new “excerpt” field in MarsEdit.
Gus Mueller thinks Apple needs to get out of the way with AI:
The crux of the issue in my mind is this: Apple has a lot of good ideas, but they don’t have a monopoly on them. I would like some other folks to come in and try their ideas out. I would like things to advance at the pace of the industry, and not Apple’s.
Good post. I included several quotes in my post this morning and would’ve added Gus’s post too. Experimenting with LLMs running locally is perfect for developers who build Mac apps. Maybe third-party developers need a convention to download and share models between apps?
After lunch I ended up having to head out of town unexpectedly to visit family, so gonna miss the afternoon SXSW and Fediverse House events. It was amazing catching up with folks who I only knew online, and meeting some people for the first time. Have a great week and safe travels!
Now that bookmark tags are available to all plans on Micro.blog, it’s more consistent to manage bookmarks. I’ve moved my read-later type activities to Micro.blog. Just nice to have it all in one place to bookmark posts and blog about them. Screenshot example of a bookmark with summary and tags:
Ever since Apple revealed their AI strategy to lean into on-device models, there has been a sort of tension with the approach from other companies like OpenAI, Google, and Amazon. Was Apple Intelligence going to work? There are advantages: for user privacy because more data stays on your phone, and for scaling because the load is distributed across millions of phones instead of only running in data centers.
Now we know that a more advanced and personal Siri is delayed until iOS 19. From an Apple spokesperson via Daring Fireball:
We’ve also been working on a more personalized Siri, giving it more awareness of your personal context, as well as the ability to take action for you within and across your apps. It’s going to take us longer than we thought to deliver on these features and we anticipate rolling them out in the coming year.
Jason Snell blogged a recap of the Siri demo from WWDC last year:
This led to one of the killer demos of WWDC 2024, in which Siri was able to understand when someone’s mom’s flight is landing by cross-referencing an email with real-time flight tracking to get a good answer. From there, the demo pulls a lunch plan with mom out of a text thread and then displays how long the drive is to there from the airport—all from within Siri, rather than individual apps.
I’m not worried about a delay. Software is complicated and we all hit unexpected challenges. I’m worried that Apple can’t pull this off at all. Parker Ortolani is blogging the same kind of questions:
It felt almost vaporware-like when revealed at WWDC and it certainly seems like they are having a great deal of difficulty making it a reality.
And from Federico Viticci:
…one has to wonder why these features were demoed at all at Apple’s biggest software event last year and if those previews – absent a real, in-person event – were actually animated prototypes.
There are two potential problems with Apple’s approach:
I’ve written about this before with Siri, including in this blog post right before WWDC last year. Because each device has its own version of Siri, it is hard to ever have a universal assistant that works everywhere and is extensible. There are things Siri can do on a phone that it can’t do on a HomePod.
I’m not seeing even a hint of a solution from Apple on this. If anything, what they showed developers with App Intents at WWDC is going to create an even more disjointed Siri across platforms, because third-party apps may not be available everywhere.
Steve Troughton-Smith on Mastodon is skeptical that third-party developers will help make this vision a reality:
Delayed or not, Apple’s proposed Intents-based Apple Intelligence features require a ton of buy-in from developers for it to be of any real use, and the incentives really aren’t there — donating your app’s content and functionality to enrich Apple’s AI alone, bypassing your UI, UX, branding, metrics, et al, to be delivered in a content soup alongside your competitors.
While App Intents don’t exclude the idea of other APIs for developers to use system models directly, I don’t expect we’ll see anything beyond App Intents until the new Siri is ready, and maybe not even after that. Ben Thompson in today’s Stratechery article:
Apple gives lip service to the role developers played in making the iPhone a compelling platform — and in collectively forming a moat for iOS and Android — but its actions suggest that Apple views developers as a commodity: necessary in aggregate, but mostly a pain in the ass individually.
Ben makes a strong case that Apple should be opening up their models to third-party developers, especially given the incredible potential of the M3 Ultra. Siri is designed for an 8 GB RAM world. The M3 Ultra can have 512 GB. Mac developers will have to bring their own models to take advantage of the great hardware in modern Macs.
Back to the disconnect between on-device models and cloud-based AI, Alexa Skills have been around for a decade and they will apparently work seamlessly with Alexa+. It’s all in the cloud.
I use ChatGPT a lot, every day, and yet there are some things I’m not comfortable sharing into the cloud. I don’t care if it knows that I’m planning a trip or what code I’m working on, but I’d be very hesitant to talk to a cloud-based assistant about truly private matters. Who knows where that info might accidentally end up.
Apple competitors could undercut a lot of Apple’s strategy by creating their own version of private cloud compute. Most users do not really think or worry about this. They’ve been storing emails with all sorts of private details on Gmail servers for years. But making cloud-based AI as secure as possible is just a good thing.
I’m not sure Apple knows what a big risk they are taking by letting OpenAI and others lap them in the AI race. It’s a risk that will pay off if they can execute. Just as likely, though, we are seeing such a disruption in computing that Apple is vulnerable for the first time in a decade.
Big companies like Apple do not move quickly. Amazon put everything into rebuilding Alexa and it has taken nearly two years. If there is a truly new AI device, a post-smartphone pod that we keep in our pocket or that’s built into our glasses, Apple’s strategy to entangle AI with phone hardware will have been proven all wrong for this moment, and they will have no response.
“This isn’t a time for competition. It is a time for cooperation.” — Evan Prodromou in a panel on different platforms at Fediverse House
Just a few minutes in to arriving at Fediverse House and already it was super valuable. There is really nothing like meeting people face to face. It’s an exciting time for the open web and you can feel it in hearing what people are working on and thinking about.
Micro Social continues to improve. The new version adds a share sheet and iPad support.
We just passed an old wagon and mules on highway 290. It was Cowboy’s Last Ride, a restored wagon from 1899, going 350 miles across central Texas to raise money for St. Jude:
At 82 years old, Larry Jollisant, has chosen to honor his life as a cowboy in the most authentic, western way possible. […] Every night, he sets up camp, cooks over an open flame, and sleeps under the stars or in the wagon, embracing the same hardships and beauty that defined the cowboy way of life.
I love this. 🤠
Interesting segment on The Late Show last night with guest Reid Hoffman about AI. I’ve listened to his Masters of Scale podcast from time to time. On AI, I’ve realized recently that we are not all ever going to agree about the benefits and dangers. It’s a big shift and there will be a big schism.
Linkrot is always a problem for the web, but please let’s not purposefully destroy our own content when it’s easy to keep it going. John Gruber on 538 shutting everything down:
Why not keep the FiveThirtyEight site up and running — at least for a while, if not in perpetuity? It costs practically nothing to run a website serving a static/archived website. I don’t get it. It betrays a profound level of disrespect for the work that the site hosted.
Seth Godin blogs about making the most of a second chance with customers:
If a customer service call goes wrong, or if a new employee is stumbling, this is the moment to escalate and get the second impression just right. It shows that we can recover, that we’re listening, and that the relationship is worth something to us.
Listening to the Decoder episode with Panos Panay, I’m almost convinced that what Amazon is trying with Alexa+ will work. Everyone’s expectations are so low with voice assistants. If they actually pull it off, it will be impressive.
Parker Ortolani blogging about the new MacBook Air. I hadn’t even thought about the color until now:
For the first time in 24 years, since the introduction of the first white iBook, Apple has a blue laptop again. While the new MacBook Airs are most certainly a “spec bump,” they make for a pretty good one.
Interesting new post from OpenAI about safety. About humans being in control:
Our approach to alignment centers humans. We aim to develop mechanisms that empower human stakeholders to express their intent clearly and supervise AI systems effectively - even in complex situations, and as AI capabilities scale beyond human capabilities.
This is probably my biggest concern, AI agents running without human supervision and executing tasks that are beyond what we even know how to do. There are many positive benefits to AI, but there are also some things we shouldn’t attempt.
Tapbots is working on a Bluesky client, called Phoenix. On making it a separate app, they say:
While there may be some conveniences of an app that supports multiple social media protocols, we believe the experience will be much better overall if we keep them separate. We do plan to provide a way to cross-post between them so you don’t have to write duplicate posts.
This is fine, but I think eventually more people will just post to their own blogs and not have to manage separate apps or accounts.
Very quick video of the latest Micro.blog for Mac with new blog post summary field. You can type your own summary that will be used in the timeline and cross-posting, or have it generate one for you.
Reminder for folks in Austin, Fediverse House is this weekend, Sunday and Monday. I’ll be there. In a happy coincidence, Sunday is also the anniversary of the first post to my blog. 23 years.
Worked a bunch on the Mac app today, one of my favorite things to work on. Almost done with the next update, so I’ll wrap it up tomorrow morning and release it. Also finally solved that ridiculous “41 new posts” bug.
I like this post from @devilgate about not being discouraged to write, even when we know that doing more than writing could have a better impact:
But not everyone can do more, or give more. And even those who can, or could or should: for some of us, writing is not just what we do, it’s what we are. We need to write.
With politics there’s also an opposite problem, avoiding blogging about something just because it’s a controversial topic. The web is a big place with room to explore a lot of ideas, we probably shouldn’t second-guess ourselves as much as we sometimes do.
Funny that SF Symbols now has a “robotic vacuum” icon but not just a robot. Wonder if it’s an oversight or because of Android. 🤖
Sometimes the debugging is all in the wrong place. Spent a couple hours trying to find a bug in JavaScript — lots of printf-style debugging, element inspection, random code changes — only to eventually track it down to a single line of CSS.
Thinking about the Wii yesterday thanks to Sven’s post, I re-read my old blog post from 2007 about when I gave away a Wii in a contest. Wonder what happened to that console and whether the new owners had fun with it. If any kids played it, they would be adults now.
Some of my really old blog posts are still in Textile format instead of Markdown. Whenever I find one, I just manually edit it to fix the links. No memory now of why I didn’t batch convert them years ago.
Apple updates a couple iPads. From Dan Moren at Six Colors:
The base iPad’s update is perhaps somewhat more disappointing, as that model was introduced in 2022 and its A16 processor will make it one of the few current main-line Apple devices—perhaps only—not to support Apple Intelligence.
Apple’s AI strategy is a sort of paradox. All in on marketing, but on-device models are limited and Apple resists using private cloud compute where it could help older devices.
Staple! is coming up next month, April 12-13, at St. Edward’s in Austin. Special guests Kazu Kibuishi and more! Amazing that the show started 20 years ago.
Great list of folks to follow on Micro.blog. Thanks for the reminder @Miraz!
We used to have Micro Monday around here, to help community members be discovered. Here are a dozen of the many Micro.Bloggers I enjoy…
M.G. Siegler: Apple Should Swap Out Siri with ChatGPT.
Apple won’t do this, and some users might not want it either, but it’s a legitimate idea. Generative AI provides a very rare moment of disruption. If a good Siri is two years away at best, that’s a long time to risk on something so important.
I like the naming on this collaborative Git system based on AT Proto: Tangled. The servers are “knots”. Just the right amount of clever.
Even when it seems the news is all bad, there is something incredible. James Harrison’s blood donations saved two million babies’ lives:
Harrison donated blood and plasma a whopping 1,173 times, according to Lifeblood, every two weeks between 1954 and 2018. […] Harrison’s plasma contained a rare and precious antibody called anti-D, which was discovered in the mid-1960s. It is used in medications to prevent haemolytic disease of the fetus and newborn
I never thought I needed a “leafless tree” emoji but it’s a nice addition. Still hoping for “iced coffee” one day.
Great interview with Dario Amodei on the Hard Fork podcast. About his disappointment at the AI Action Summit conference in Paris:
If you’re a public official, if you’re a leader at a company… People are going to look back, they’re going to look back in 2026 and 2027. […] Be careful what you say. Don’t look like a fool in retrospect. A lot of my thinking is just driven by — aside from just wanting the right outcome — I don’t want to look like a fool. And I think at that conference, some people are going to look like fools.
Dario always seems the most level-headed of all the AI company CEOs.
Sideloading on Android has improved since I last used it. It’s a pretty smooth user experience now, while still warning enough that you’re outside the usual “safe” app install flow. Good balance that we’ve wanted Apple to adopt for a decade.
Good morning so far, deployed a few server bug fixes, submitted a new Android release to Google. Lots to do. SXSW coming up toward the end of the week.
Being nominated once and winning once is great, congrats. But nominated a bunch of times and never winning is worth a lot. Edward Norton: 4 nominations. Ralph Fiennes: 3. Like how LeBron with 10 trips to the NBA finals and “only” 4 championships is still the greatest of all time. (Wait, what?!) 🤪
There is nothing like a live performance of Defying Gravity. Even on TV, I still get chills when they nail it. Great way to start the Oscars. 🍿
Looking forward to the Oscars tonight. I’ve only seen 4 out of 10 of the best picture nominees — A Complete Unknown, Conclave, Dune 2, and Wicked. Wanted to catch The Brutalist but never got to it. For best animated feature, I like either Flow or The Wild Robot. 🍿
Ben Werdmuller has a good post today about returning to the distributed publishing roots of the web and thinking about how technology should redistribute wealth and power to many people:
It starts with software designed for people rather than for capital. The web once thrived on protocols instead of platforms — email, RSS, blogs, personal websites — before closed networks turned users into data sources. We are now seeing efforts to return to that ethos.
There is a lot that I love in Ben’s post. I also think it captures some frustration toward AI from some open web proponents. That’s not an opinion I agree with, though. For example, this part in Ben’s post:
Even the productivity gains that are being realized through use of AI tools are benefiting a small number of wealthy companies rather than individuals. This is the exact opposite of the power redistribution that led to so many people seeing such promise in the web.
That doesn’t ring true to me. I expect AI is benefiting a lot of tiny companies of only one or two people who are hardly wealthy, maybe even barely profitable.
AI does have the potential for harm. Let’s not gloss over that. But at its best AI can improve education, making all the world’s knowledge more accessible to more people. It could help people who aren’t fluent in English communicate better with their peers across the world. I don’t think the open web and AI are at odds.
We can all see it. It is beyond political parties. Beyond ideology. Beyond whether he is corrupt or competent.
David Brooks, on the PBS NewsHour after the Trump and Zelenskyy meeting at the White House:
All my life, I’ve had a certain idea about America. That we’re a flawed country, but we’re fundamentally a force for good in the world. That we defeated Soviet Union, we defeated fascism, we did the Marshall Plan, we did PEPFAR to help people live in Africa. And we make mistakes. Iraq, Vietnam. But they’re usually mistakes out of stupidity, naivete, and arrogance. They’re not because we’re ill-intentioned.
What I have seen over the last six weeks is the United States behaving vilely. Vilely to our friends in Canada and Mexico, vilely to our friends in Europe. And today was the bottom of the barrel. Vilely to a man who is defending Western values, at great personal risk to him and his countrymen.
So what do we do? I don’t know. It feels too big. Since 2016 I’ve just tried to focus on a few positive things. Building Micro.blog is a big part of that, helping more people blog.
On a personal level, we can also do the opposite of whatever we see from Trump:
I want to be better about noticing when I fall into extremes, missing nuance, missing the big picture. That’s not to say we should “both sides” everything, though. It’s more that we can try to be thoughtful in how we communicate, even when we all have different perspectives.
We can care about other people. Trump is incapable of empathy. His legacy cannot be anything but division. He will be bitter until the end, leaving behind a world out of balance, and disappointment and exhaustion in all the people he has dragged down with him.
Watched Away We Go and really enjoyed it. Totally missed this when it first came out in 2009. 📺
OpenAI released GPT-4.5 this week to Pro subscribers and via the API, but it’s not what I was expecting. It is much more expensive, about 15-30 times the cost of GPT-4o. For my simple needs, like figuring out the keywords in a photo or summarizing a web page, older models are fine.
Sam Altman posts on Twitter / X (sigh) that it’s a giant model. OpenAI can’t roll it out to Plus customers until they bring online tens of thousands of new GPUs. Sam adds:
this isn’t a reasoning model and won’t crush benchmarks. it’s a different kind of intelligence and there’s a magic to it i haven’t felt before.
Simon Willison suggests that 4.5’s training knowledge cut-off is not any different than 4o, only going up to the end of 2023. This makes me wonder if data crawling and licensing issues have derailed the company to an extent, and they’re holding the new data for GPT-5. They say that improvements for 4.5 were partially from synthetic data created by other models.
There is also this from OpenAI’s blog post:
GPT‑4.5 is a very large and compute-intensive model, making it more expensive than and not a replacement for GPT‑4o. Because of this, we’re evaluating whether to continue serving it in the API long-term as we balance supporting current capabilities with building future models. We look forward to learning more about its strengths, capabilities, and potential applications in real-world settings.
Translation: we don’t really know how this model works. 🤪
I remain fascinated with AI. There are many people who are worried, and if that’s you there’s not much new here that will reassure you, except some good news with a lower hallucination rate. I’ve also blogged myself about the potential harm of agents in particular.
But AI might be the last truly new thing I’ll see in my programming career. We are so used to exciting new gadgets and software, released all the time, and yet none of it is profoundly new. AI is the only thing that’s comparable in scale to the tech advances that have changed everything, like the graphical user interface, mobile phones, and the web itself.
It reminds me of an old interview with Steve Jobs, on visiting Xerox PARC in 1979:
And they showed me really three things. But I was so blinded by the first one, that I didn’t even really see the other two. One of the things they showed me was object-oriented programming. They showed me that. But I didn’t even see that. The other thing they showed me was really a networked computer system. They had over a hundred Alto computers, all networked, using email, etc, etc. I didn’t even see that.
I was so blinded by the first thing they showed me, which was the graphical user interface. I thought it was the best thing I had ever seen in my life. Now remember, it was very flawed. What we saw was incomplete. They’d done a bunch of things wrong, but we didn’t know that at the time. Still though, they had… The germ of the idea was there and they’d done it very well.
And within, you know, ten minutes, it was obvious to me that all computers would work like this someday.
Perhaps GPT-4.5 represents the end of the breakthrough in generative AI, as we enter a more iterative period of refinement, the same way that the graphical user interface and object-oriented programming haven’t fundamentally changed since Steve Jobs saw them. Those things from Xerox PARC — from Smalltalk to the Alto’s mouse — are all recognizable as early versions of what we have today.
So if newer AI models are only marginally better, or only different in ways that we can feel but not measure, that’s okay. Models need to be safer and more efficient, for both developers and the environmental impact. The pace with AI over the last year has been almost too much. But the change did happen, it’s blindingly obvious, and everything is going to be a little different from now on.
Watched some of the video with Trump, Vance, and Zelenskyy. We are in a very dark place with American foreign policy. Europe will have to take the lead. We have lost our way here, led by a narcissist whose selfishness and cruelty is almost beyond belief. 🇺🇸
New version of Micro Social is coming out, from Greg Morris:
Apple have approved a new version of Micro Social that includes posting to multiple blogs, managing and updating existing posts as well as a few other improvements.
I also fixed an issue on the Micro.blog side with push notifications.
There’s such an increase in distrust of tech companies, we now have to be more explicit about super obvious things that we would never do. Users expect the worst because they’ve been burned. So it goes.
Skimming through some of the negative reaction to Mozilla’s new terms. I took a minute to update Micro.blog’s own privacy policy so that it’s current. Our terms of service has always said you own your data. Never even crossed my mind to sell data it’s such a foreign idea and counter to our mission.
iOS will have new APIs for getting the age of a user. Sarah Perez writing at TechCrunch:
It puts Apple in the position of collecting kids’ ages via parental input but still puts the onus on the third-party developer to extract and use this information to craft age-appropriate experiences in their own apps.
Seems helpful to me. It doesn’t appear to address the flip side of age verification, making sure someone is an adult, but Apple could add that later.
Love an old train station getting a new life. Bloomberg article from a couple months ago, about the station in Detroit with new office space and green space:
But the main attraction is still the 18-story tower, designed by the same architects who worked on Manhattan’s Grand Central Terminal, Reed and Stem with Warren and Wetmore. Just like its New York sibling, Michigan Central features terrazzo and marble flooring, Doric columns and Guastavino tiles — all restored to their original glory.
Adding to my list to visit one day. 🚂
Nick Heer is impressed with Alexa+, except:
But there is no part of me that would ever want Alexa or any other voice-controlled assistant buying tickets to a show, or booking a vacation rental, or even buying groceries.
I also don’t trust AI for this. And yet, in 1995 a lot of people didn’t trust entering credit cards on the web. I’m open to the possibility that in 10 years, AI buying things for us will be normal.
If you’re in town around SXSW, check out Fediverse House, a 2-day event hosted by Flipboard and Surf. Amazing lineup of folks including Mike McCue, Molly White, Evan Prodromou, and Paul Frazee. I’ll also be giving a short presentation during the developer meetup about Micro.blog and the fediverse.
Many news sites and social networks have a headlines section for trending news. Maybe we need to take a hint from traditional newspapers and replace that with a high-profile “corrections” section that is just all the news that’s factually wrong with a summary of the truth.
The measles outbreak here in Texas is such a sad reminder of the real harm of misinformation. So many little kids are in the ICU that it seems likely more will die. Tragic and preventable.
I still want to do more with Open Library. Our app Epilogue can search and get covers from Open Library. But the database just isn’t complete enough and needs more apps to help users add and curate book metadata.
When I added tracking what books you’re reading (and blogging about) to Micro.blog, I used ISBN as the identifier. Every once in a while that’s a problem, like my post today for a short story. I added it manually using the Goodreads ID with a “G” prefix. Not great but maybe a possible convention.
There’s another lawsuit against Matt Mullenweg and Automattic, this time from a WP Engine customer. It seems to conflate the project code and the servers into a single “WordPress ecosystem”, but that’s not how open source works. The software can be totally free and companion services less free.
Finished reading: Locke Lamora and the Bottled Serpent by Scott Lynch. Great to have another Gentleman Bastard story. Split into two parts in Grimdark Magazine. 📚
Alexa+ pricing makes no sense. $20/month or free for Amazon Prime subscribers… Prime is $15/month. I can think of a few reasons to do it this way and none of them justify user confusion.
I’m following the Verge’s live blog for the Alexa event. Amazon really should be leading in this space since they created the Echo out of nothing 10 years ago. Fun to re-read my first blog post about the Echo.
Alexa+ will be a paid upgrade. Tim Cook is now wondering how he can charge for Siri too.
People give Matt Mullenweg a lot of shit, but do they realize how hopeless the open web would be if he and his friends hadn’t kept it going for 20+ years.
Fascinating to imagine what the web would look like if WordPress didn’t exist. What would fill the void, and would it be as open?
Trying out Flashes, a photos app for Bluesky. On the surface feels similar to our Micro.blog companion app Sunlit. Lots of potential.
Tried out ChatGPT Deep Research now that it’s on the less expensive plan. Don’t have a lot of use for it, but it’s super impressive as a tool you might take out every once in a while. I used it to dig into some background facts for a blog post.
Working on some ActivityPub tweaks today, finally added some code to handle Question objects / polls. It was confusing to not have the context for these posts from Mastodon before. They look like this in the Micro.blog timeline now:
Personally I don’t use polls. I’ll revisit doing more later.
Scott Lynch in his newsletter:
I have decided to post every short story I’ve ever written (once rights exclusivity periods or other arrangements for them expire, for those that haven’t already) on my website, for free, in perpetuity, at the same time I make them available as e-books. Many of them are available elsewhere for free already. I just want to centralize the archive.
Feels like a very IndieWeb-y statement. And more authors when self-publishing are fine with DRM-free, which is also great.
HTTP content negotiation was a mistake. The perceived wins are always overshadowed by all the new problems. I’ve long thought a slimmed down ActivityPub without content negotiation and without JSON-LD would be so much nicer. Sorry folks! Controversial hot take but it’s true. 🤪
I’m improving something I started last year, to automatically save thumbnail versions of web pages that could be used in various places. As an example, starting this week Micro.blog now makes banners suitable for Open Graph meta tags, combining the profile photo and a rendered thumbnail of the page.
I can’t decide yet if this is actually good, but I think it’s on the right track to something. I’ve never been happy with the way most platforms use Open Graph. It adds a lot of clutter. At the same time, Micro.blog’s previous default of doing nothing wasn’t great either, and some platforms like Threads would pull in the profile photo only, attempting to crop a square photo into a wider banner.
Here’s an example of one of the new images:
Coincidentally the text of my post fit perfectly, otherwise it will be centered or cropped off the bottom.
Another example with a post that has a photo:
I’d love to hear feedback before we go further with this. The new option is available in the Hugo front matter as a URL in .Params.opengraph.image. If a post has a photo, plug-ins can still prefer using the photo URL directly. If you want the web page thumbnail only, that’s in .Params.thumbnail.
I’m imagining it used like this:
{{ if .Params.photos }}
{{ with index .Params.photos 0 }}
<meta property="og:image" content="{{ . }}">
{{ end }}
{{ else }}
{{ with .Params.opengraph }}
<meta property="og:title" content="{{ .title }}">
<meta property="og:image" content="{{ .image }}">
{{ end }}
{{ end }}
This hasn’t been added to the built-in themes yet. It can be added by editing your header template, or wait until the dust settles and it’s available in plug-ins.
Testing this has been a little hit or miss because platforms like Threads and Bluesky aggressively cache the metadata for a page. These thumbnails are created right after a blog post is published, so they might not be available the first time a platform checks for them, especially if Micro.blog cross-posts your post to the platform more quickly than the thumbnail is ready. More tweaks likely needed.
Congrats to John Siracusa on the release of his newest Mac app, Hyperspace:
There are plenty of Mac apps that will save disk space by finding duplicate files and then deleting the duplicates. Using APFS clones, my app could reclaim disk space without removing any files! As a digital pack rat, this appealed to me immensely.
It is a dangerously clever way to save disk space. I probably wouldn’t trust this app from anyone else, but I know John has tested the heck out of it. Your files are in good hands.
I wanted to see a transcript before blogging about it but this AP story probably has enough of Phil Schiller’s testimony on the App Store:
“What happens if a developer doesn’t pay and what is the process for that?” Schiller recalled about his initial reservations about requiring fees on alternative payment options. He also said he was worried about Apple’s collection demands creating an antagonistic relationship with app developers that have traditionally been the company’s allies.
Exactly. And:
Schiller also confirmed that Cook pushed for a warning screen informing consumers the potential security threats posed by alternative payment options.
We’ve been getting a clearer picture over the last year that the problem with the App Store is Tim Cook. He has led Apple to great success but it’s time for new leadership, someone users and developers can trust to be on our side. It may already be too late to repair the damage.
A little quiet today but I got a lot done. Random debugging and wrapped up some new Open Graph plumbing which I’ll blog about tomorrow morning.
Two stories that feel loosely connected. First on NPR, highlighting a veteran in Alaska fired from the Small Business Administration. He was planning to finish his career with the government, now he’s losing sleep, worried about supporting his family, saying:
I’ve never felt more betrayed in my entire life.
Then via Political Wire, James Carville has a prediction:
I believe that this administration, in less than 30 days is in the midst of a massive collapse and particularly a collapse in public opinion.
Finished reading: Empire of Exiles by Erin M Evans. This was excellent. Starts like a murder mystery set in a fantasy world, with unique magic. 📚
The new 5G router — which we knew would be a temporary solution until Google Fiber is sorted out — has a habit of going out every afternoon around 2-3pm. Just poof, no wi-fi for a little while, time to take a walk or read a book. Maybe random but it’s feeling like a pattern.
Dave Winer is launching WordLand:
The goal is to bootstrap something new – a social network without all the problems of Twitter et al. Ultimately the limits they impose on writers are unacceptable. I’ve waited for them to fix these problems for 18 years now, and I’ve come to see, amazingly, they don’t see them as problems.
One way to think about WordLand is that it’s a posting front-end to WordPress, with its own RSS feeds outside of WordPress. The feeds have both HTML and Markdown. So you could build platforms (like Micro.blog!) that aggregate user feeds.
In addition to being a very good Micro.blog client, Micro Social also has pretty much all of the book features from our companion app Epilogue. I recorded a quick video playing around with it.
Git scraping is a clever technique from Simon Willison to track changes to web pages by adding them to a repository. He’s using this to crawl the DOGE site.
Fiddling with improved Open Graph support for hosted blogs. I’ve never liked how most social platforms use Open Graph previews. Sometimes they’re great, sometimes they’re redundant, and sometimes they’re plastered over a timeline like ads. But bloggers need more control over this.
Almost whenever I run an alter table in MySQL, I think back to a conversation with Marco Arment at SXSW 15 years ago, about how Tumblr’s database was so big it was faster to add new tables instead of changing existing columns or indexes. MySQL has improved a lot since then.
We are not on the verge of a constitutional crisis, we are in the aftermath of one.
Things are indeed dire. I’m focusing on the only thing I know how to contribute: helping people post on the web and discouraging the spread of misinformation, which I think is largely to blame for getting us here. To those on the front lines for democracy, please remember to be better than the other side. Everything we do must be grounded in truth and compassion.
Federico Viticci on the products after the Vision Pro:
I may be stating the obvious here, but I fundamentally believe that headsets are a dead end and glasses are the ultimate form factor we should be striving for. […] There’s a real possibility we may have Apple glasses (and an Apple foldable?) by 2030, and I wish I could just skip ahead five years now.
After reading this, I went through some of my Vision Pro blog posts to see how they match what we now know about the headset. Me from September 2023:
Apple’s sending emails about getting apps ready for the Vision Pro App Store. Folks in the Apple dev community won’t like this, but I think Vision Pro will be a bust in the short term. Only develop for it for fun, not for a market. I’ll revisit it in 10 years when the tech catches up to the dream.
There are a bunch of posts like that. On Core Intuition I did make the wild prediction that we were 20 years away from glasses, which was too pessimistic now that we’ve seen Meta’s Orion glasses. But most everything else with the Vision Pro has played out about how I expected.
This is a variation on something I’ve mentioned in passing before. I like running draft blog posts through AI. Even for very short posts, sometimes I’ll paste the text into ChatGPT and ask it to tell me what the post means. If AI can “understand” it, humans probably can too.
For longer blog posts, AI seems to mirror what most people would think. After all, AI is essentially a distillation of all opinions on the web. If there is anything dumb or divisive in a post, AI will probably call it out. This could soften the edges of a post, potentially watering down its impact, but sometimes that’s exactly what you want.
This strength of shaping a post so that it’s approachable to everyone else might be a weakness for creating original content. I’m still avoiding AI agents because that approach veers AI into a place where humans are no longer writing the first draft. That spark of creativity, coming up with the framing for something new. That’s not something I want to give up.
Letting go of Advanced Data Protection in the UK seems a reasonable compromise from Apple. If I’m going to nitpick anything in their statement:
Enhancing the security of cloud storage with end-to-end encryption is more urgent than ever before.
Urgent? Important, yes, but urgent is something that needs immediate attention, and I hardly think encrypted cloud backups qualify. Apple’s statement doesn’t actually matter but the word choice stood out to me.
Submitted another Micro.blog iOS bug fix update off to Apple for review. I’ve gotten much more consistent about keeping TestFlight betas up to date too. I think it’s making a difference.
Ben Werdmuller on the latest People & Blogs:
My site is my online identity; I write about things that I find interesting. That’s all I want it to be. It’s just me.
Ben’s blog has become one of my favorites. Lately a mix of tech, politics, fediverse, and the IndieWeb.
Our TV screen going out that I blogged about? It’s fixed, replaced some board or another for $200 + $40 diagnostic fee. I’m not sure the TV was worth much more than that, but when we bought another TV to replace it… it just wasn’t as good. Returned the new one. Happy, and less junk in the landfill.
This is perhaps a slightly contrarian take on the failure of Humane’s pin. Eventually I believe there will be a successful product like it. It will need to be simpler, though. No laser. Cheaper. Faster.
I won’t judge the team too harshly for being so ambitious. They probably knew 1.0 had fallen short but were expecting to iterate after shipping it, keep improving it. Instead, they had hyped up expectations so beyond what could be achieved at launch that when the first version flopped, it was crippling.
The lesson for me is not that anything resembling this product was doomed to fail. There were interesting ideas in it. There were talented people working on it. The lesson is trying to do too much and not leaving room (and money) to ramp up. Wait for AI voice models to get to where you need to be. Only ship the features you can absolutely nail.
Venture capital also deserves blame. Big investment needs a big return. They were trying to change everything all at once. Contrast with Rabbit, who shipped the R1 around the same time, also poorly reviewed. But Rabbit had a more sustainable approach and they’re still releasing cool things today.
Sometimes you don’t get a second chance. Humane bet the company on a product that needed more time. They shipped a prototype. It is easy to see this in hindsight. More difficult when you’re caught up building it.
Stephen Colbert in last night’s Late Show monologue:
Do you want to know how messed up things are? The lightest story in the news is a plane crash.
Humor helps. See also: MapQuest’s brilliant rename the Gulf of Mexico website.
Nice update to the Bayou theme:
Included in this version is the option to define how many microposts and longform posts are shown on the homepage, change the categories for microposts and longform posts, set the site language (en, de, es, fi, fr, it, pt, ru), and change the date format.
The TikTok-ification of other platforms (Reels, Shorts) is optimizing for user engagement instead of usability. Good luck pausing, rewinding, or sharing one of these clips. At times it’s actually user-hostile.
Maybe I’ve been conditioned by seeing the GPT-4o name everywhere, but I don’t hate the iPhone 16e name. Weird lineup to still include the iPhone 15 without Apple Intelligence.
Matt Webb reflecting on 25 years of blogging. On the very early days of blogging:
So I would post 4 or 6 times a day, like most people. Just a line with a shower thought, or a link and a comment, or a response to someone else
I’ve also found that before Twitter, blogs were often microblogs.
This life in weeks page by Gina Trapani is amazing.
Today we updated another part of Micro.blog to support blog post summaries. When automatically cross-posting to Bluesky, Mastodon, Threads, and LinkedIn, the summary will now be included for long-form posts with a title. It will look something like this after being copied to the other platform:
Your title here: <link to blog post>
The summary of the post here.
For example, here’s this very post on Bluesky:
You can write these summaries yourself or have AI generate them for you from the text on the new post or draft editing screens. They are also included in your published JSON Feed. And for external feeds using JSON Feed, Micro.blog will also look for the summary and use it in the timeline and cross-posting.
I’ve also added support in the APIs — Micropub as summary and XML-RPC as mt_excerpt — so that third-party apps can get and set summaries. This is being tested now for an upcoming MarsEdit release.
Mastodon has shared their plan for quote posts. It is well-researched and thoughtful. Yet I have conflicting thoughts on it.
I admire that the team is trying to think through the safety ramifications. I’ve long said we should not blindly copy features from the big silo platforms. A platform like Mastodon that doesn’t have ads also doesn’t need engagement-driven features or anything that amplifies hateful behavior. Already in my opinion Mastodon has copied too much from Twitter.
Quote posts as proposed will be the most visible change to Mastodon’s ActivityPub implementation since the initial rollover from OStatus to ActivityPub. It is not just a new UI and post format, but a system of controlling which posts can be quoted and even optionally notifying users to approve quotes. It adds a lot of complexity.
In Micro.blog, posts aren’t some special kind of “social” post the exists apart from the web. Micro.blog posts are blog posts. Quoting uses <blockquote>, and our web UI for embedding a post uses Quotebacks. The most straightforward way to support Mastodon quote posts when we receive them from Mastodon will be to essentially convert them to use <blockquote>.
You don’t need permission to quote something on the web. It has always been assumed fair use to quote a snippet of someone else’s blog post and add your own commentary. This is a foundational part of link blogs and IndieWeb-style blog conversations. It is already common to embed a Mastodon post by making it a <blockquote> with relevant attribution.
So what is special about Mastodon that requires so much technical infrastructure to support something so simple? I think it’s about speed and reach. For someone living in a social app like Mastodon, a quick boost or quote post that is shared to potentially many followers has an outsized impact relative to how little thought it requires. There is also a culture in Mastodon of treating posts as semi-protected within the Mastodon ecosystem. There is a strong sense of privacy and anonymity.
Consider the following two scenarios. First on Mastodon, the scenario the Mastodon team wants to discourage:
Compare to the slower, blog-centric workflow:
It won’t always go this way. Someone on Mastodon could craft a thoughtful quote post, and someone on their blog could post a snide comment. But there is friction on blogs, it’s not quite as effortless to fire off a repost, while there are incentives on social platforms that reward performative behavior. Social media tends to bring out the worst in some people.
Back to Mastodon’s proposed solution. After this change, some things should be better. For users who choose to prevent their posts from being quoted at all within Mastodon, the post could still be “manually” quoted the old fashioned way: copy and paste. ActivityPub’s conventions are a suggestion. Fair use still applies, although users should always be careful not to copy content from private posts meant only for followers.
In a way, this proposal for quote posts is a reflection of the culture of Mastodon, wanting to create a new layer of the web for social interactions, not extending those interactions to blog posts and the rest of the web. It’s a layer that emphasizes federation and communities, where “social” posts are a new structured format on the web. This is not how I would personally approach it when the IndieWeb protocols are sitting right there, but the open web is still stronger because Mastodon exists.
Where does this leave Micro.blog? For now, I plan to support half of Mastodon’s proposal: accepting post quotes via ActivityPub. When you follow a Mastodon user on Micro.blog, you should see their quote posts in your timeline. Quote posts are different than boosts and so need to be included in the timeline. I don’t think any other changes are warranted in Micro.blog for now.
Got some great feedback on Micro.blog’s new blog post summary (or excerpts) feature. Today the first round of improvements rolled out based on that feedback, including setting a summary when starting a new post on the web. Still to come later this week: support in cross-posting.
Micro Social 1.5 looks like a big update. Can’t wait to check this out when it hits the App Store:
A customisable Instagram-style photo timeline, making browsing and replying to photos more intuitive than ever. Plus, introduce a new way to engage with images using customisable photo reactions—tap the heart and leave a personal response.
Also books features and more. There will be a “Plus” one-time purchase to unlock new features.
Michael Tsai has collected some posts remembering Martin Pilkington. It is hard for me to even wrap my head around losing a member of the Mac developer community like this, far too soon. I spent a little time today reading through some of his old blog posts. Rest in peace.
Finished reading: The Lost Bookshop by Evie Woods. Not all of it worked for me but I’ll read almost any book about books. Also some nice historical fiction-y bits weaved in. 📚
We also went to see the Oscar-nominated animated shorts at Alamo today. This year includes some really strange films. But all good in their own way. I’d vote for In the Shadow of the Cypress. 🍿
Flow was extraordinary. It’s like nothing else. 🍿
People who shoot on film (or who used to) will probably enjoy this video from Adrian about when he brought 100 rolls of film on a road trip.
NSHipster is back again with a bunch of tips for running AI models on a Mac with Ollama. Also this:
If you wait for Apple to deliver on its promises, you’re going to miss out on the most important technological shift in a generation.
There are so many new (sponsored) rules in the celebrity all-star game that I stepped away for a minute and there was a mascot playing on the court. Which honestly makes me just want to see a full game of only team mascots. 🏀
Nice single-page site from Pixelfed about social web technologies. Think about if more platforms supported everything on that page.
Wrote up some documentation for the first phase of our blog post “summary” feature rollout. Like a lot of things in Micro.blog, this is a foundation. Other things can be built on top of it.
It has now been a couple days since I stopped federating my posts to Mastodon. As expected I get effectively no replies from Mastodon now. I still get replies from Micro.blog and Bluesky. RSS still exists. Good experiment so far.
Good updates and bug fixes out today, especially the new Micro.blog for iOS release. Tomorrow, releasing the first phase of the blog post summary feature I mentioned yesterday.
Spurs have lost 3 of the last 4 since De’Aaron Fox joined, but 2 games were lost by only 1 point. Meanwhile Wemby is doing everything:
That stat line makes Wembanyama the first player in NBA history to record multiple games of 20+ points, 15+ rebounds, 5+ blocks and 5+ made 3-pointers.
Won’t be surprised if he eventually has the record for most 5x5s too. 🏀
Nice new developer site and technical design overview for Bridgy Fed. Whenever I’ve looked at the Bridgy code, I’ve always been impressed that it’s not over-engineered considering how much it can do. The same project in the hands of another developer might be 5x the amount of code.
I sent Micro.blog 3.4.2 off to Apple for TestFlight beta review. If approved, will send it to Apple again for the release build, where presumably a different human will review the same build. 🤪
I’m going to attend this Bluesky & Beyond event next week and FediForum next month. I’ve felt like withdrawing from active participation in standards work, though. I can only do so much and need to focus on where I can actually make a positive difference.
It took me a while to decide to add official support for blog post summaries, but now that I’m committed I’m finding all sorts of little things that should make things better for long-form posts. Hugo already has nice support with .summary, just need to finish a new editing UI and timeline tweaks.
We added ActivityPub support to Micro.blog in 2018. In the years since, we’ve improved it a lot. And we’ve seen how people actually use it.
Mastodon and other popular fediverse software have had a huge impact on the open web. There is a lot to like. By focusing on tens of thousands of smaller communities, the whole system is insulated from a single rogue CEO, and it’s more manageable for admins to stay on top of community issues. This is a really good step forward compared to massive silos.
Many of the problems with social networks remain in Mastodon, though. Chasing follower counts and likes. Scanning headlines instead of reading. Piling on with quick replies. Algorithms to surface popular stories that are being boosted. The infrastructure changed, but human behavior did not, and the platform features are still nearly identical to Twitter.
There is a new problem too that didn’t exist before. Smaller communities can become insular bubbles. Admins and users with many followers on a server have power to shape opinion and direct frustration at other users. The local timeline provides both connection to fellow members of the community and isolation from broader viewpoints outside the community.
I’m not suggesting that everyone is unhappy with Mastodon, Threads, or even Bluesky. Some people don’t see the same problems that I see, and that’s fine. But I’m not happy. And increasingly, I want to unplug from these networks and focus on my blog and the Micro.blog community, even though I believe in APIs and connecting many different platforms on the open web.
I occasionally hear the same thing from other users. They want to participate in the larger social web, but on their own terms, with their blog as the most important part of their online presence.
Today we’re launching new settings in Micro.blog to take control of how your account federates with everyone else. For the first time, this allows you to dial back your participation in the fediverse without actually deleting your fediverse profile. Your account still exists on the fediverse. It’s just a little quieter.
Here is a screenshot for what’s available under Account → View Fediverse Details:
By selecting the second option, users on Mastodon won’t see your blog posts in their timeline. You can still get replies and reply to other Mastodon users, but you will likely get drastically fewer replies, because there won’t be much for Mastodon users to reply to.
As you can see in the screenshot, there is also a new option for muting. For a while you’ve been able to mute people or servers. For example, some users wanted to mute Threads. Now you can mute the entire fediverse. With this selected, replies to you from the fediverse will still arrive at Micro.blog, but you won’t see them in your timeline.
This is for people who want a quieter space on the web. A space focused more on writing and less on reacting to other people.
Of course all of this is optional. If you like the way it already works, no need to change anything. I’m imagining these settings are something that people will enable or disable from time to time, not keep permanently set.
The social web is growing quickly and Micro.blog will adapt along with it. We’ll always stay true to our founding ideals and IndieWeb principles, trying to find the balance between blogging and the social web that’s right for our platform.
Playing with Kagi again. The first result on my blog when searching the web for just “manton” is this post I wrote back in 2013 about the multiplane camera and iOS 7. Miss the days when I wrote posts like that.
Jason Snell writing at Macworld about Apple’s AI missteps being more about rushed UI design than even the technical underpinnings:
It’s clear that when Apple began its crash program to add Apple Intelligence to its operating systems, the goal was not to solve user problems but to insert AI features anywhere it could. This is the antithesis of Apple’s usual philosophy of solving problems rather than adopting the latest technology, and it has burned the company in some high-profile ways.
Micro.blog is getting clobbered today with thousands of dumb requests for phpinfo and .env. Hello hackers, this does not work! Sigh.
There are several principles that led to Micro.blog, but everything is built on the premise that if social networks are based on blogs it will encourage more people to blog, some people even writing longer posts, and so the web will be better. Social is a roller coaster today but this fact remains.
Trust is built by consistently doing the same thing, hopefully the right thing, over years. There’s no shortcut. And to destroy trust requires either that same kind of repetition, in the opposite direction, or for people to have missed everything that came before.
Misinformation is like a poison that accelerates the process. We are inundated with data. Half of it is bullshit, and there’s never enough time to sort through it before it scrolls off, ready for the next thing to dominate our attention.
I want to be less reactionary. I keep coming back to this post I linked to a few weeks ago, from Seth Godin, on organizing for the urgent:
We thrive when we do things when we have the most leverage, not when everyone else does. Waiting for trouble means that you’re going to spend your days dealing with trouble.
Most social networks are designed for urgency. No wonder that the default state is to demand quick answers and trust nothing.
Excited to see a new iOS app for Micro.blog released: Micro Social. From developer Greg Morris:
Micro.blog is an incredible platform, but I wanted a cleaner, more intuitive way to engage with my timeline, conversations, and the things I care about most—books, photos, and blogging.
Amazing post from @heyloura about using Micro.blog’s private notes API. Personally I’m using notes more and more, often for posts that could be drafts but where my thoughts aren’t really put together yet.
NPR article on immigrants in Chicago skipping care because of fear of ICE raids. I expect nurses all over the country have heartbreaking stories like this. And it’ll just exacerbate problems in our upside down health care system since everyone is worse off when people who are sick can’t get treated.
Cool to see hints that Tumblr is continuing with the WordPress backend transition. TechCrunch:
Automattic confirmed to TechCrunch that when the migration is complete, every Tumblr user will be able to federate their blog via ActivityPub, just as every WordPress.com user can today.
Given the long tail of ActivityPub and the simultaneous rise of Bluesky, which is connected to the ActivityPub network via Bridgy Fed, the future of the open social web is very bright.
Now I wonder if Automattic pulling folks from WordPress core has actually made more time for Tumblr.
Wrapped up coding on a couple new fediverse settings that will ship in Micro.blog tomorrow. I’ll have a full blog post about it. There wouldn’t be much point in having our own ActivityPub implementation if we didn’t do things a little differently than Mastodon. See also: IndieWeb monoculture.
I’ve linked to magician Dani DaOrtiz before and this new video from him is so good too. His style just makes me happy. A master with cards and misdirection.
Loved this blog post by Robin Sloan on whether AI is okay. The subject is complicated and deserves longer posts like this. It’s a whole new thing. It’s not definitely good or bad.
The part about writing code also resonated with me:
I think the case of code is especially clear, and, for me, basically settled. That’s both (1) because of where code sits in the creative process, as an intermediate product, the thing that makes the thing, and (2) because open-source code has carried the expectation of rich and surprising reuse for decades. I think this application has, in fact, already passed the threshold of “profound social good”: opening up programming to whole new groups of people.
As a programmer, my reaction could be that I don’t want to be replaced by AI, but I’ve said forever — I know Daniel and I talked about it on Core Intuition — that I actually don’t like writing code. I like building products, and it turns out you have to write code to do that. Making sure we’re building the right thing will always be more important than the code itself.
Alan Jacobs’s comment is also great:
It’s perfect that Robin is doing this in a blog post — the first of several, perhaps — because this kind of open-ended thinking is what blogs are best suited for.
You could try to split Robin’s post into a series of tweets, but you would inevitably butcher it of nuance in the process, and so you’d lose everything good about it.
Great post at Daring Fireball about Fox’s new scorebug, with relevant points for a lot of design:
I say Fox’s new scorebug is better, and raised a ruckus only because it’s so much better that what most viewers noticed is only that it’s so different.
Also covered on today’s episode of Dithering.
After the move, our TV started making a faint noise occasionally that seemed new. Today it won’t turn on! The movers wrapped the heck out of it in bubble wrap, seems like it would’ve been very hard to damage. I’m tempted to try to get it repaired just to fight the “everything is disposable” economy.
I didn’t end up watching the Super Bowl. I used the afternoon to unpack boxes and other tasks leftover from moving. But I did really like this ChatGPT ad. It has a little whimsy reminiscent of some Apple ads, while still uniquely its own thing.
Hope folks are having a good weekend. I rolled out a few changes this morning, including this “New Post…” menu option on the Uploads page. Surprised we never had this before.
I missed the memo for the outside space at this coffee shop… There are like 20 little kids and families running around here. Not a distraction, just makes me smile remembering how good life was with little kids. The bittersweet irony with parenting is not knowing until years later what you had.
John Gruber on the implications for sideloading if TikTok remains unavailable in the App Store:
If I’m wrong and TikTok remains in this half-zombie state in the US — unavailable in the App Store or Play Store, but operational if you have the app installed on your phone — it’ll be interesting if TikTok is the app that makes the mass market actually care about the lack of sideloading on iOS. It’ll be interesting too if sideloading on Android goes mainstream because of this.
TikTok should make an iOS marketplace app in the EU to demonstrate to US customers what they’re missing.
Sent another Micro.blog iOS build out to beta folks, also decided to submit this one to Apple. Need to get these fixes out to everyone, even if there’s more to do.
If you haven’t read Wind and Truth, book 5 of the Stormlight Archive, please skip this post. Spoilers ahead. Knowing someone else’s opinion about a book before you read it risks ruining your own interpretation.
I finished Wind and Truth last week and generally loved most of it despite a few unsatisfying bits. I don’t give books star ratings. Usually I post a short note about the book as you can see on this category page. I’m just writing this to process my thoughts, so it probably sounds a little more critical than it really is. Expectations were extremely high for this book, possibly so high that they could not be met.
I was hoping for more of an ending in the ending, but it clearly sets up the second arc of the series. I’m not sure I can fairly judge book 5 until book 6 is ready, and that is years away. The more I think about the ending, though, the more I like it.
The strongest parts of the book for me were Szeth’s flashbacks and Adolin’s storyline. These were great. I also liked how Dalinar in the Spiritual Realm was used to fill in the history of Roshar for the reader. Half the book was effectively a clever flashback that didn’t feel like a flashback. The structure of the book and plot were solid. Brandon Sanderson famously outlines the heck out of his stories before writing, and I can’t fault anything in the planning for this book.
The weaker parts were Kaladin’s and Jasnah’s viewpoints. Kaladin is such a well-developed character in the first books of the series. Way of Kings is one of my all-time favorite books. By book 5, there wasn’t much more to tell with Kaladin. His scenes in Wind and Truth often felt redundant and forced.
For Jasnah, hear me out… I think the book would’ve been better if all of her chapters were cut. There is so much going on in this book, spread across several different parts of the world, and I don’t think Jasnah’s role was needed. I wasn’t convinced by her getting outmaneuvered by Odium. 1300 pages is a lot. The book might’ve been stronger if it was just a little shorter, even if that meant sacrificing the viewpoint of a great character.
I liked Shallan’s story. Her character continues to grow. The ending sets her up for something, perhaps the most unresolved of any character. I was originally under the impression that book 6 would take place a generation or two later, but apparently it’s going to be more like a decade jump. I wonder if there could be a flashback or a novella to fill the gap from Shallan’s perspective.
Maybe another editing pass would’ve fixed the little things that nagged at me. Just more time to bake. I enjoyed reading it, though, and maybe on a re-read of the complete series I won’t notice the little things that pulled me out of the story the first time.
Can’t wait for Mistborn era 3. Brandon is drafting the entire trilogy before publishing the first book, which seems like a smart move, and hopefully will set us up for yearly releases when it’s all ready. It’s remarkable what he’s accomplished with the Cosmere.
Saturday morning is a great time to draft a couple blog posts that won’t be published until later. I usually work a little every day, but the weekend should be quiet. Sometimes I wish I had the discipline to only announce new things on Tuesdays like Apple.
Worked on some iPad fixes and pushed a new TestFlight beta, then settled in to watch the Spurs. Stephon Castle with 30+ points, really showing what he can do. 🏀
Love this photo from Stephen Hackett of his notebooks. Also very smart to have digital copies. I’ve scanned some of my old journals in but not all of them. Really want to finish that task because it makes me very nervous to lose the journals.
This is cool: a new sidebar plug-in by Leon Mika for the Bayou theme.
Spots 7-10 for the NBA play-in are shaping up to be very interesting! Spurs look good. Blazers have won their last 9 of 10 games. Warriors and Mavs will both look a little different for the rest of the season. 🏀
I’m the guest on the latest Hanselminutes podcast! It was great talking to Scott. We covered a lot in just half an hour: blogging, domain names, social networks, the fediverse, POSSE, discovery, and the Micro.one launch.
Micro.one and Micro.blog onboarding is not very good. And yet new people join every day and start blogging. Welcome! We’ll make it better. Thanks for jumping through the hoops to get here.
Inoreader adds support for Bluesky. This uses the API, not the RSS feeds, so there’s more flexibility in how they can integrate the content:
Bluesky content is displayed in our custom microblog layout, designed for platforms like Bluesky, Facebook, and Micro.blog that don’t follow the traditional headline + content format. It’s a clean, streamlined reading experience we’re sure you’ll love!
Manu Moreale blogs about how we label people, how we define them based on large groups instead of who they are:
The moment you started using these definitions, you lost me. Not because I’m offended by them, but because it saddens me to see the complete annihilation of individuality which is what makes us uniquely interesting. The moment you decide to simply label someone as anything, you prime yourself to be incapable of recognizing that there’s a lot more beneath the surface.
People are complicated. If we oversimplify, we risk only highlighting our differences instead of what connects us.
Lots of talk in the AI space about moats. Does any model have such an outsized advantage that it just can’t be beat, protecting the business from competition? But the best moat is a great product. OpenAI still has a technical and UX lead across their suite of products. Might not always be that way.
You know what was great last night? Spurs vs. Hawks, first game with De’Aaron Fox in the lineup. I missed some of it and rewatched the last 5 minutes on tape delay. 🏀
I wrote a script last night that can take any missing photos on a blog and restore them from the Wayback Machine. Feels like it should be tucked away somewhere as a Micro.blog feature, but not sure where yet.
Simple goals for today:
Tonight Adam Newbold posted about receiving a cease and desist. Some people assumed it was from me, but I had never heard of it. Micro.blog has not sent anyone a cease and desist. I have been focused on making Micro.blog better and hiring Sven to help answer customer questions, not hiring lawyers.
New home internet update: Verizon 5G router arrived and it’s… alright. 100 Mbps if the wind is blowing the right direction. 🤪 Trying to be patient until fiber is ready.
Today we’re rolling out two plug-in changes to Micro.blog. The first is that for new users, the Sumo theme by Matt Langford is now the default theme. This is a great theme that I think will serve new users better than our previous default theme Marfa. Sumo is better maintained and easier to customize.
Inspired by the good work that plug-in developers are doing, we’re also starting to sprinkle in donation buttons on your plug-ins list. The buttons can say either donate, tip, or buy me a coffee. Here’s an example:
I’ve been manually wiring these up, but later we’ll automate this so that Micro.blog can discover the donation link via a plug-in’s config or readme. If you’ve created a plug-in that accepts donations, let me know and I’ll update the listing.
Federico Viticci blogging about timeline apps:
My problem with timeline apps is that I struggle to understand their pitch as alternatives to browsing Mastodon and Bluesky (supported by both Tapestry and Reeder) when they don’t support key functionalities of those services such as posting, replying, reposting, or marking items as favorites.
There’s no reason these apps can’t also support creating new posts. Sort of like how the Micro.blog iOS app can post to WordPress. I don’t think apps need to support all social features, though.
Amazon’s Kindle Vella is shutting down with only a few weeks notice. I never read any stories but I thought it was an interesting idea — serialized novels delivered in short episodes like a chapter at a time, mostly fantasy and romance. Perhaps should’ve been more integrated with Kindle Unlimited.
Tapestry from the Iconfactory is out! Of course I love that it supports Micro.blog. And it makes me happy just seeing developers experiment with new ways to mix open social platforms together.
We’re a few days in to not having internet at the house, which means no YouTube TV, Max, Netflix, Prime, Disney+, Apple TV+, FanDuel Sports, and Hulu. Our over-the-air antenna reception looks amazing, though. Sort of want to cancel everything and start over with local TV.
When you’re late to the game, do less, better. Apple used to know this. When the original iPod arrived at my house, I could tell it was a breakthrough. Famously less space than a Nomad, but an innovative UI, great design, and fast FireWire. It was so good it set in motion everything else for the company’s current success.
It’s easy to look back now and judge Apple’s AI rollout, but even at WWDC you could tell Apple was throwing everything at the wall. Image Playground wasn’t going to be as good as frontier image models. Siri world knowledge wasn’t going to be as deep as what ChatGPT could do. By trying to do nearly everything, each piece feels like a gimmick.
There are some useful features in Apple Intelligence. Even flawed, I like notification summaries. But the good is getting lost in the noise. It seems clear now that Apple should’ve taken the publicity hit last year for not yet having an answer for every generative AI capability. They should’ve resisted scrambling to do too much, instead focusing only on what their models could knock out of the park.
Jason Snell wonders if AltStore should’ve poked the bear. He covers both sides well:
Is notarization a tool Apple can use to bypass all of Europe’s regulations of Apple whenever it feels like preventing users from running MacPaint on an iPad? Or is it something out of Apple’s hands?
Apple’s iOS “notarization” is a flawed approach, clearly at odds with the DMA. It’s appropriate for them to be called out until they fix this so that it matches macOS notarization, which requires no human review.
Finished reading: Wind and Truth by Brandon Sanderson. Not even sure what to say. Still letting the end of the first arc sink in. 📚
This interview with Bookshop CEO Andy Hunter on Decoder is excellent. Andy seems like the kind of person who will change things. I can’t believe he wasn’t on my radar even though we’ve linked to Bookshop in Micro.blog bookshelves for a few years.
Me complaining a year ago:
No, I don’t want to rate the app, or the Skype call, or the mechanic, or the quality of a support email, or a song, or my doctor’s appointment, or whether the web page answered my question… I don’t really want to rate anything ever again! If I actually have feedback, I know how to send it.
The prompts have only gotten worse since then. By trying to improve customer service, they’ve actually destroyed it.
A small, pointless Apple Intelligence chat completion failure as I’m chatting with Verizon support… It thinks I’m talking to myself? I know it’s a cheap shot to gripe about AI, but this is really basic stuff.
Trying to get internet at the new place. AT&T will only talk on the phone and they make everything complicated. Google Fiber is in the neighborhood but not on our street. Verizon was supposed to overnight a 5G router a few days ago, it hasn’t shipped. Trying to avoid cable if fiber is imminent.
There are so many great quotes in the Six Colors report card for 2024. Hardware is good, the Mac is good, but Apple has run their relationship with developers into the ground, and most people think Apple Intelligence is a miss.
Parker Ortolani blogs about Bluesky clients:
I want Tweetbot or Twitterrific, but for Bluesky. I’m not seeing that yet. The opportunity is clearly there, it has tens of millions of users making it three times the size of Mastodon.
John Gruber adds a note on Daring Fireball about timeline position sync.
Many people want an app that can manage multiple accounts on different networks. That’s fine. But what I want is one identity that can interact with all open platforms. A client app can never provide that, only new platforms like Micro.blog.
I don’t see myself using Bookshop.org’s new e-books until there’s Kindle support, but now that I’ve read this article on Wired, I’m convinced they’re on the right track. From CEO Andy Hunter:
The first step is to launch the platform. Our second step is to make it popular, so we have leverage. And then we can start fixing what we consider to be the industry problems around ebooks.
Micro.blog iOS folks on the TestFlight beta, the latest build fixes an issue editing longer blog posts. If anyone sees any new problems, please let me know. We’ll do the App Store release this week.
Just reading more about the Luka Dončić trade to the Lakers. Can still hardly believe it. I thought Luka might be the kind of player would stay in Dallas forever. 🏀
Dave Winer writes about links on the social web:
Support for links is the basic requirement of the web, the same way we say feeds are required to be a podcast. If you don’t support links not only aren’t you the web, you’re anti-web.
Yesterday Sam Altman and a few other folks from OpenAI did an ask me anything on Reddit. Some interesting answers about upcoming models, showing more thinking like R1, and this comment on open weights from Sam:
i personally think we have been on the wrong side of history here and need to figure out a different open source strategy; not everyone at openai shares this view, and it’s also not our current highest priority.
Very nice video preview of smart replies in @gregmorris’s app Micro Social. I think a lot of people on Micro.blog are going to like this.
Oops, while testing something I accidentally sent out another random post (that I didn’t write!) to my blog and other services. Time to step away from the keyboard.
Nice simple teaser site for Tapestry, shipping next week. It combines a bunch of sources into a single timeline, extensible with JavaScript.
Playing with private note tags in the latest update to Lillihub. It is based on the Micro.blog API but adds its own features and user experience. This is what is possible when there’s an API that developers can just run with.
When I read the tech news or listen to podcasts, my mind sometimes wanders into how I would talk about this with @danielpunkass on Core Int. It’s going to be hard to break the habit. But I packed up my microphone and threw away the mic stand. “Let the past die. Kill it if you have to."
In the context of Apple services revenue, I want to mention something I noticed yesterday. I opened the App Store to check something, and staring me in the face right on the home page was an ad for Truth Social. Between that and search ads clutter, ads only make the App Store worse. 💰
For the first time in over a week, today I felt like I could catch my breath. There has been a lot going on.
Tragic what happened with the crash in DC. I’m sure the next time we watch a figure skating competition, even years from now, it will be hard to shake the memory. Every day, every minute, small and big events rewrite the future.
Now that Core Intuition is over, we need to give a little thought to the permanent archive of MP3s. Unfortunately the files are spread across our own servers, S3, and Libsyn. It’s probably about 15 GB and sort of difficult to move around.
Great points in this conversation about how Micro.blog handles longer blog posts with titles. Maybe the time has come for a change here. I’ve never wanted Micro.blog’s timeline to be a bunch of summaries and “read more” links, but right now we should be encouraging longer posts, not relegating them.
Pouring down rain this morning, so maybe not a good time for that walk I was planning. Today is the first day in a week that I don’t have anything on my calendar. That means coding and email progress.
Another upcoming theme from @Mtt! This looks great. It solves a problem that many people ask about:
In my opinion, longform content should have higher visibility than microposts. Unfortunately, that content is often lost in the constant stream of thoughts we push out. As a remedy, I’m soon to release a Micro.blog theme that prioritizes longform content without losing your microposts.
Pika Pulse is shutting down:
We’re a small team and we want the bulk of our time and energy to be spent building the best software we can. It’s not possible for us to read everything…
I wondered how they handled it and now we know it was a random selection of posts. I wanted Micro.blog’s Discover to feel like a snapshot of posts from the community, but we really do look at each one. It is hard.
We’re overdue for changes too. There will always be some community aspect to Micro.blog, even if small, because I’m unsatisfied with every other social network.
Looking out over the trees and mist from the parking garage at the title company. Just signed our life away for the next 30 years.
Recently there have been some sporadic problems with custom CSS and themes in Micro.blog — basically a glitch when I rolled out an optimization to make Hugo static files faster. I’ve made more improvements today. Please reach out if your blog is hosed in any way.
Still digging through support email. Happy to announce that starting next week, @sod will also be joining on a very part-time basis to help answer email questions. We worked with him a year ago on Micro.blog templates too. I’m inspired and thankful for the help!
While I don’t think it’s likely, if in the future, the only EV allowed to be sold in the United States is a Tesla, as Elon Musk has an office in the White House, that won’t be the most ridiculous thing to happen in Trump’s term. Not even close.
From the Verge: Volkswagen cancels ID.7 sedan for US.
Batch, a new favorite. I can’t believe I’ve been living within walking distance to this place for over a year and never tried it before this week. A misty, gray morning.
Seth Godin as usual has the perspective I need to hear, about prioritizing the important things instead of the urgent:
Waiting for trouble means that you’re going to spend your days dealing with trouble.
Over the weekend, I made a few pretty big, probably overdue changes. A couple will be visible, like Core Intuition.
This blog post about AI trying to “polish” Jenny Lawson’s email is so great. Just a snippet:
Y’all, if you get an email from me it will be signed with HUGS, LOVE, FIGHT THE PATRIARCHY, DOWN WITH POWDERED GRAVY or SORRY I SUCK SO MUCH. It will be filled with typos and rambling parentheticals and apologies for answering several months too late. This is how you know it’s me and not a robot.
I use AI a lot but I don’t want it rewriting my stuff. What works better for me is just asking AI if a particular phrase makes sense. I’ll do my own edits.
Today we have the final episode of Core Intuition. 16 years. 626 episodes. Thanks for listening and thanks @danielpunkass for recording the show with me!
Taking a short break from support email and questions to edit the latest Core Intuition. If you have ever listened to our podcast before and liked it, you will probably want to hear this one. (How’s that for hyping it up?)
Micro Social is looking really good! Upcoming app for Micro.blog from @gregmorris.
This post by Bear creator Herman Martinus is great. I probably could’ve written the same thing about Micro.blog but with a few twists. It’s always been about slow growth and lasting decades. Ben Werdmuller also has some good counterpoints about funding.
Really nice FAQ-style format for today’s Stratechery update on DeepSeek. Even if you don’t read the whole thing, you can tell something big is happening. I downloaded a medium-sized R1 model last week to test with Ollama on my Mac. Very impressed.
Good morning! This week I have two goals: respond to every email I received in January, and fix some bugs. There is low hanging fruit and a few more difficult problems to address.
I finally sorted through an old box of my dad’s stuff that I’ve had for over 25 years. I could never bring myself to open it after he died. I knew there would be some letters in it that were heartbreaking, but if I had also known there would be gems like this I would’ve looked sooner! Made me smile.
Brandon Sanderson brings so much joy to his writing class. I’ve been going through old boxes and papers (we’re moving again!) and found some sci-fi stories I wrote when I was a teenager. Younger me would’ve loved this.
SNL tonight with Timothée Chalamet. For so many years I looked forward to watching it live every weekend, a way to put the week in perspective and just laugh. I stopped watching it in November. Now ready to get back to it. 📺
I’m still reading Wind and Truth. Taking my time. I’m on page 1100 and it’s just starting to get really good. 🤪
After a few days of the freeze, actually turned into a nice late afternoon for a walk. Mueller Lake Park.
As expected, Pixelfed and Loops blew through their Kickstarter fundraising goal. I know from experience that running a campaign is actually a lot of work. When the dust settles, I hope they finish the new export format that was hinted at. We’ll do blog → Pixelfed import and back right away.
I hope one day, if I get through this with my sanity and health, we look back and find it odd that in the first week of Trump’s 2nd term, looking for someone to blame, all eyes turned to… Manton. The guy who has been fighting Trump for 8 years. The guy who has volunteered on campaigns against Trump. The guy who when Trump first won, broke down in tears. The guy who dedicated his life to building a safe platform. That’s the guy who must pay the price now.
Vincent Ritter has another post: Context.
Thank you so much to everyone who has supported me, in public and private. I’m not linking to the other posts, so it might seem like this is a one-sided fight with everyone on the other side, but I’ve seen many of the posts and greatly appreciate it.
Let me reiterate my support for the LGBTQ+ community. A couple days ago I also made a donation to the Trevor Project. It’s not my way to publicly talk about donations, but I got some good advice that people want to see this more openly. Where there’s more to do, we’ll do it.
Last night I wrote two separate blog posts. First, I started documenting my email exchange with Adam Newbold. He already shared his half of the emails so I was considering sharing mine. It was confusing to have my side be blank in what he shared, because you can’t tell anything about my tone or what I was saying. I was really trying to resolve this with Adam privately where we could have a meaningful discussion.
The second blog post I drafted was one of the longest I’ve ever written for this blog. It started by setting the background 8 years ago. Why I built Micro.blog and how we’ve wanted a safe community from day one. Why when Elon Musk bought Twitter, our founding principles were already aligned with what would come next for the social web. I think it was a good post. But it also meandered around, telling the story again from my perspective, and it was not going to deescalate an issue that has been completely blown out of proportion.
I threw both posts away.
Tensions are high this week. Maybe I should’ve given Adam more space to deal with the election in whatever way he thought was productive. I still believe his personal attacks on me went too far. Not just the language he used in emails, but in Mastodon posts about me and boosting negative comments. It deeply affected me.
Social media has a tendency to amplify disagreements. It encourages followers to pile on. It spreads misinformation and exaggerations. Everything is an outrage. I’ve written extensively about this but I got so pulled in, I made some dumb mistakes myself. I got defensive when my integrity was repeatedly questioned.
Yesterday I reset my approach, slowed down, got back to my values.
There was concern that Micro.blog is not a safe place for LGBTQ+ people, so I updated our community guidelines with an expanded section on welcoming users and our respect for diversity and the LGBTQ+ community. It’s not perfect but it’s progress. There was concern about the perceived size of Vincent Ritter’s role, so I scrapped the “team” page and talked with him privately about the best way forward.
Vincent, for his part, has blogged why he kept silent. Some people have accepted the twisted narrative that Vincent is a bigot and fascist. If they truly believe that, his post won’t be enough of an apology. But it’s enough for me.
It’s enough for me because becoming a more inclusive, welcoming community isn’t about cutting people down when they make a mistake, so all that’s left are people who agree with you. It’s finding a way to embrace multiple, differing groups. It’s encouraging respectful, thoughtful behavior, and proportionality in our response. And sometimes it’s giving someone the benefit of the doubt and a second chance.
Micro.blog is a good place for LGBTQ+ people. It’s a good place because we have been trying to lay the foundation for a safe community for 8 years. It’s a good place because we are passionate about understanding why communities work and how to make them better. I know there are LGBTQ+ people who have been happy here, who have found the perfect place for their blog and a community that respects them, and I hope they stay with us.
Thank you everyone who has supported the platform.
Kimberly Hirsh shares LGBTQ+ organizations to donate to:
GLSEN is my go-to resource for LGBTQ+ issues in K-12 education.
The Trevor Project is a suicide prevention and crisis intervention program for LGBTQ+ young people.
🏳️🌈
Vincent Ritter: Silence. I wasn’t sure that Vincent would blog something, but I’m glad he did. Personal blogs can help us connect with people, walk a little bit in their shoes, even if we don’t always agree on everything.
I’ve now read Adam Newbold’s post Accountability and I will reply tomorrow. I still have him muted but I’ve caught up on most of his posts and boosts. Thanks for your patience. I’ve been doing this a long time, hopefully one more day won’t kill the platform that I’ve dedicated my career to.
Worked mostly behind the scenes today, a lot in email. I’m planning a couple new posts for tomorrow. If I post them now I’ll never get a break. 🙂 Also some private messages of support. There are people who think our mission here is valuable but they don’t want to get caught up in a public debate. ❤️
Congrats to Daniel Supernault on the Kickstarter! It’s great timing for Pixelfed and I expect it’s going to well exceed its goal.
In an attempt to turn lemons into lemonade, I’m reviewing our community guidelines to see what we can improve. We can do a better job of highlighting that Micro.blog can be a safe place for the LGBTQ+ community. What I said in the Kickstarter video in 2017 is still true: indie blogs, safe community.
In 30 years of working on apps and the web, I’ve never had a falling out like this with another developer. It’s depressing. There are lessons here in why social media brings out the worst in us, amplifying disagreements. Things I’ve written a lot about! But seeing it happen live is something else.
I’ve had to mute Adam Newbold. We’re a couple days in to Trump’s second term and we’re fighting amongst ourselves instead of working. In one day we went from friendly competition and shared values to an unrecoverable train wreck. I have so many things to improve in Micro.blog. Hope to make some progress on something positive today. A lot of people use both omg.lol and Micro.blog and I’m very sorry to them that this happened. ❤️
A few people seem confused about why I might prefer a conversation to continue in email. It’s a better place to find common ground. Also helps avoid saying anything disparaging about someone in public. We have enough threads on social media that escalated to hurtful comments. I stand by this.
Went down the rabbit hole of old links and started listening to this episode of Core Int about Steve Jobs. 12 years ago. Blog posts and podcasts are an amazing snapshot in time.
When I quit Twitter, I had about 10,000 tweets. Not many by today’s standards. In all of that time, I remember deleting… one tweet. It was at WWDC. I’d like to think I rarely delete posts because I still stand by almost everything I wrote. But also, there’s always room in a blog for a correction.
I’ve been personally attacked a bunch today over a thread and private email that went off the rails, more personal criticism than I’ve received in the entire 8 years of running Micro.blog. A little stunned. But there have also been some amazing, thoughtful posts about what we’re doing. Thank you.
Wrote a draft post, deleted it. Trying to remind myself that I do not need to have the last word on every topic. Sometimes it’s better to just let things go.
Usually on election night and the day after, I dig into county stats, but I just couldn’t bring myself to do it in November. Finally looked up my precinct here in Austin: 84% for Kamala Harris. 🇺🇸
Techdirt covers the empty promise from Mark Zuckerberg on the fact-checking team, including this comment:
Texas is, apparently, famous for its unbiased, neutral residents, as compared to California, where it is constitutionally impossible to be unbiased.
🤪
Strata 1.2 for iOS is now available. This release adds a new tab bar with bookmarks and highlights. Going forward we can do more with bookmarks in Strata without complicating Micro.one and Micro.blog.
My answer to almost any societal or political problem is: more blogs, more communities. It’s an oversimplification but a lot of great things come from this first step, to slowly pull away from centralized control and big platforms. When I don’t know what to do, I do this.
I noticed that Micro.blog was spending a lot of time dealing with files in Hugo’s static folder in custom themes, an artifact of how Micro.blog has to manage files across multiple servers. The optimization to make this faster introduced a couple new problems. Everything is resolved now. Fun morning!
Reminder that when you’re angry, lashing out at people who are not the problem is counterproductive. It sometimes feels like we’re all balancing on a knife’s edge. I get it. But I’m done with the outrage machine. It’s performative.
In all the elections I could vote in where my candidate lost, I certainly felt frustrated and disappointed. My blog captures it going back to 2004. But I never felt like giving up on America because you get another shot in the midterms. Now, I don’t know. It will take decades to fix this. 🇺🇸
I often think of this post on leaky abstractions by Joel Spolsky whenever I’m unraveling multiple layers of code, trying to debug a performance problem. As programmers we get lazy and build up complex systems that hide problems. I’m usually good at spotting this, but not always.
Cold day in Austin, might see some snow tonight. Working on server fixes and performance. We also submitted Strata 1.2 for iOS to Apple for review, so hopefully that’ll hit the App Store soon, with Android to follow later this week.
Trump’s second term — which apparently started a day early — is going to be a series of mismanaged, real crises and completely dumb, fake issues. Gonna try to ignore both. 🇺🇸
ByteDance was been trying so hard to sell TikTok and they just ran out of time. Thankfully, Trump is going to extend the deadline, giving TikTok more time to find a buyer! Whew. I’m sure TikTok will be sold real soon now. 🤪
I’ve optimized a few things with our Twitter / X import. If you never imported your tweets, now is a great time! Micro.one and Micro.blog copy all your tweets and photos (minus RTs and videos) to a space you can control. Full API access to the data, easy to embed on your blog.
The TikTok ban, the Musk Twitter takeover, the Facebook moderation policy changes, the Republicans’ rapidly intensifying crackdowns on speech… let these be the proof you needed to move anything you care about online to a space you control.
Get your own domain name. If you don’t know where, Micro.one hosting is $1/month.
Last week when ChatGPT added scheduled tasks, I set a task to write a haiku for me each morning based on Hayao Miyazaki movies. It has been a fun experiment. Whenever I get one of the haikus, I smile, which was what I hoped would happen.
Here are the first five:
Through forest winds soar,
A catbus hums in the night,
Magic fills the air.
Beneath soft moonlight,
Spirits dance on quiet hills,
Dreams take gentle flight.
Sky castles arise,
Whispers of the wind bring tales,
Nature’s heart beats strong.
Howl’s voice on the breeze,
A lone castle seeks the stars,
Love breaks every curse.
On calm ocean waves,
A young fish dreams of the shore,
Bound by love and light.
I also like that even for a business-y “scheduled tasks” feature, we can squeeze a little creativity out of it.
Custom printing code for Mac apps is a lost art. Nice work by @danielpunkass in the latest Black Ink.
I’ve never had a problem with Mac app notarization until today. Usually it takes just a minute. This new build is stuck “processing” for 20 minutes now. Not as bad as human review taking days, but on principle I don’t like that Apple is the bottleneck.
My cookies and sessions are all out of whack now serving both micro.one and micro.blog from essentially the same web application. Separate load balancers, but I think I need to split things out even further to fix a couple issues.
Great lineup of social web talks at FOSDEM next month. Wish I could be there. Good luck everyone!
New updates to the mnml theme for Micro.blog. Looks really nice @jimmitchell! Remember you can preview new themes now without having to switch your blog.
I’ve been ignoring most podcasts over the last month. This morning, listened to the latest Dithering on my walk. It’s got everything you need to know about the TikTok ban and new interest in Xiaohongshu (RedNote).
I haven’t installed the latest iOS 18.3 beta yet, but just from screenshots I like this italicized change for notification summaries.
We posted a new Core Intuition today, catching up on all the WordPress drama from the last month or so.
Very small example of a Siri paper cut and why I avoid using it. This morning I got a text while driving asking “what time” something was. I responded with “ten thirty”, and Siri sent “1030” instead of “10:30”. Not a big deal, but there are countless scenarios like this.
TikTok threatening to shut down completely on Sunday — which is more than is required by the law — is such a transparent attempt to influence the supreme court and others. Good riddance. It’s not great if everyone just joins Reels, but we need a shake-up.
If you only build a new skyscraper every year or so, downtown Austin doesn’t seem like it’s changing much. Looking at the skyline, it’s familiar — hey there’s the capitol, and the Frost tower, and… — but when I think about the full scope of changes over decades, it’s almost unrecognizable.
History is going to view Joe Biden very favorably. He accomplished a lot that we’re only just starting to see results from. Competent management of the pandemic and a peace deal for Gaza are bookends. Thanks Joe. 🇺🇸
Looking for a headshot-style photo, it’s surprisingly hard to find something good in my photo library that doesn’t have other people in the photo. Maybe I need to take more selfies.
Was SwiftUI a mistake? Steve Troughton-Smith writes on Mastodon:
Boy do I wish Apple had built a real Apple-quality next-gen UIKit/AppKit-like first-party cross-[Apple]-platform UI framework instead of SwiftUI. The closest thing Apple makes is still Catalyst, but they completely squandered their opportunity to make something better than what came before. Going all-in on SwiftUI is the kind of mistake that will hurt for decades to come
This is a frequent topic on Core Intuition. For the Mac, there are pros and cons for choosing AppKit, Catalyst, or SwiftUI. It shouldn’t be that way.
Micro.blog’s tweets import sometimes struggles, and it needed a few kicks before we finally got Romit Mehta’s tweet archive of over 140k tweets imported. But it works! The cool thing about the architecture is that after import it makes everything available on a separate blog and via an API.
Good article by Jason Snell at Macworld about how Apple’s previous playback is in conflict with recent products like the Vision Pro and Apple Intelligence. Also this bit about how Apple’s culture is still in the 1990s despite their massive success:
Today’s Apple is a titan, but it still behaves like it’s a put-upon underdog in danger of being taken advantage of by the cold, cruel world.
I’m sure I’ve blogged the same thing. I still think we hit peak Apple about a year ago.
ChatGPT scheduled tasks are interesting. I’ve tried a few things — sending me a news summary or programming tip at a certain time — and it works as advertised. Not sure I have a good use case right now, so for fun I’m having it send me a haiku.
I don’t think I’ve ever seen a bug related to == vs. === in JavaScript. Half the time we’re comparing strings anyway and it just doesn’t matter, so why ugly up your code with an extra =? Also while I’m being controversial, real tabs are great. 🤪
Sara Dietschy’s latest video about AI voice and video clones is really good. Both the technical side and also finding the right balance: using AI sparingly where it fits, recognizing that most content should be created the old-fashioned way. People want to feel a connection with a real human.
Revisiting my tweet import code (see this post) to see what can be optimized. I really hope Twitter / X doesn’t change their export file format anytime soon. May not be worth updating my code again for major changes.
I plan to ignore Trump for most of the next few years, and I’m not even ready to read the special counsel report yet. But John Gruber’s post rings true to me. We needed a trial to educate voters, to cut through the disinformation. It was a major failure that they didn’t happen. 🇺🇸
Dave Winer in a longer post collecting thoughts on Matt Mullenweg and other things:
I don’t like that people have called him things like the Mad King. People used to say stuff like that about me. It’s a substitute for trying to understand where someone is coming from.
I’ve adopted the “mad king” phrasing in recent posts about Matt and about Automattic. I just find it amusing, a way to poke fun at the whole drama. I don’t actually think he’s crazy.
Starting up a new TestFlight beta for Micro.blog for iOS. This release will include support for photo collections. You can tap a photo to add it to a collection, or create a new collection in the app.
Do I brag too much or not enough? It occurred to me that Micro.blog might be on the only platform of its kind that has built-in support for exporting content in several different file formats. And multiple APIs to get your data out? JSON, XML-RPC, Micropub. Our commitment to portability is absolute.
From an article at NPR about what might happen to TikTok when the law goes into effect:
It’s also possible that users will be able to access the app but it may be buggy, operate slowly or crash often, the TikTok official said.
Buggy and crash? I guess it’s possible that if some backend services were shut down it could cause problems for the app. Sounds more like made up nonsense, though, as TikTok scrambles to figure out what to do because they only had literal years notice this might happen.
Free Our Feeds looks like a sincere effort but it’s a little vague. $30 million is a lot of money to raise via donations. I’d love to see this team communicate in more detail what they want to do.
Funny how “billionaire” is now effectively a synonym for “anyone rich”. It’s almost a cheat — like a shortcut to describe venture capital or any profit. Won’t anyone think of the poor millionaires who are unfairly grouped together with the super-rich? 🤪
With the increase in scrutiny around how Matt Mullenweg manages the WordPress project, some people have asked whether it’s a risk to invest in .blog, which is owned by Automattic, and in fact whether Micro.blog is online only at the whims of the mad king. I’m not worried. It’s a fair question, though, and the answer is worth exploring in detail.
First of all, I believe Automattic runs .blog for the good of the web and to make money. The more people who blog, the more people who might choose WordPress.com for hosting. The web gets a little better anytime someone uses a .blog domain, because they probably just created a new website, and Automattic pockets a little cash. Everyone wins.
Unlike .com and .org, the pricing for .blog domains is variable. Shorter, common words cost more than you’d expect. We pay $2000 for the micro.blog domain, every year. We are a tiny company so it hurts a little each time the domain name renews. But I think the domain is worth it. Getting the domain in 2016 helped shape what Micro.blog would become.
I mention this because I don’t see Automattic stabbing its customers in the back and shutting down domains, cutting off a revenue source. What would be the point? A single subscription might not be very much to a multi-million dollar company like Automattic, but Automattic is built on thousands of subscriptions. You cut $2000 here or there, and pretty soon you’re talking about real money.
Next, I am conscious of centralized power and single points of failure. Micro.blog would not exist if I hadn’t become frustrated with Twitter locking down their developer API, years before Elon Musk took over. It’s why I want to work on an open platform where the business model is aligned with the interests of users and developers.
When we have a choice between two things… we try to do both anyway. Micro.blog supports ActivityPub and AT Protocol. It supports cross-posting to Mastodon and LinkedIn, Flickr, Bluesky, and Nostr. Take one away — such as when Elon put the final nail in the Twitter API’s coffin — and we still have something. Apple controls whether we can ship an iOS app, but not whether we can ship to the web, Mac, or Android. It is important to me that no single company can break my business and wreck my users' blogs.
Which brings us back to .blog. We recently launched a new special version of the platform called Micro.one. It is, obviously, using a different top-level domain, not owned by Automattic. If the worst were to happen, we would flip everyone to .one and carry on. Over time, I see us using .one more, as a new brand that can unify a suite of apps on the platform.
The point is the same as it is for so many other things, from features that depend on external services, to having redundancy in servers. It’s a risk to depend on a single company.
I still think .blog is a great top-level domain. I think Automattic is in this for the long haul. Even Matt’s worst critics are not going to convince me that he wants fewer people to have their own website, or that he is going to pivot Automattic away from blog hosting. And yet, it’s always good to have a backup.
Good morning, IndieWeb! We’ve got a meetup this Wednesday in Austin, at Radio Coffee & Beer. You can RSVP here or just show up. ☕️🍺
As more people follow Bluesky users in Micro.blog, there are more posts that are flowing into our platform, so you’ll start to see the occasional Bluesky post in Discover too. Discover can evolve to be a snapshot of interesting microblogs anywhere, Mastodon too, even if it’s mostly Micro.blog users.
Thanks David Pierce for including my home screen in the latest Installer at The Verge! I mention some of the apps on my home screen and why they’re there. Lots of great CES coverage at The Verge this last week too.
I’m a frequent critic of modern Apple but I’m happy to point out when they stand up for values that have nothing to do with money. As Meta and Amazon are disbanding their DEI efforts, Apple is pushing back. The term DEI is tainted now, unfortunately. Scrap the acronym. Keep working toward the goal.
I’m interested in the IndieWeb, books, and thinking about curation, so of course I love this post from Ben Werdmuller:
The indieweb should feel like the Norrington Room: an expansive world of different voices, opinions, modes of expression, and art that you can explore, peruse, or have curated for you. It’s not about any particular goal aside from the goal of being enriched by people sharing their lived experiences, creativity, and expertise. It’s a journey of discovery, conversation, and community, not a journey of extraction.
Hope to visit Blackwell’s one day too.
There are a bunch of interesting new smart glasses at CES — see this post by Victoria Song at The Verge — but I’m still looking for something simpler. Looks like normal glasses, can take photos, no screen, optionally you can talk to it, not made by Meta.
Ouch. Pretty good game until everything unraveled on the 1 yard line. Great season overall for UT though. 🏈
On Core Int 624 we talk all about Micro.one! Daniel checks it out live on the show for the first time and has feedback about the sign up process and business.
The popular Mastodon server Hachyderm.io has defederated with Threads. They have a long post with their reasoning:
Threads’ recent changes in their moderation policies, both what they’ve put in and what they’ve taken out (read the diff), puts their moderation practices in direct conflict with ours. Essentially, Threads may indeed be large enough that many users are just looking to exist somewhere on social media and are not necessarily de facto fans of Mark Zuckerberg et al, but we anticipate these changes to moderation will shift the user base of Threads in a way that is damaging to the Hachyderm community, so we are defederating from them before that can occur.
A couple thoughts on this:
The culture of Mastodon is built around community servers. This model works best for small servers. When you have large servers like Mastodon.social or Hachyderm.io (or, at a huge scale, Threads.net itself) you will have a more diverse set of users and it becomes harder to make decisions that affect everyone.
But Mastodon users can just migrate between servers, right? To find a server that more closely aligns with what they want to see on the fediverse? Sort of. You can move your followers, but there is still no way to move your posts between Mastodon servers that I’m aware of. (Micro.blog has both follower migration and posts import from Mastodon.)
The social web is evolving quickly and I see a need for many types of platforms: small and medium-sized community servers running Mastodon, larger platforms like Bluesky with their own take on content filtering, and IndieWeb-friendly platforms where each fediverse user has their own domain name rather than a domain shared with the community. There’s a place for all of these things.
If there’s pushback against the Hachyderm decision — and there might not be — it will be because the server has too many users to be managed as if it’s a small community server. According to FediDB, Hachyderm has nearly 10k active users and 55k total users, putting it in the top 30 fediverse servers.
Larger platforms create new problems. Massive, centralized platforms have even more problems, inherent in their scale. The web is generally better when it’s more distributed. That means more, smaller servers. Perhaps the future of Hachyderm is to embrace being small.
Catching up on the Bluesky world, I missed this note in Last Week in Bluesky about trending topics:
The technological underpinning of how Trending Topics work on Bluesky is noteworthy: every trending topic is a custom feed. Every time a new topic is trending, a new custom feed gets created, giving the team better control over the topic. It also allows for new possibilities that have not yet been explored, such as archiving and documenting feeds after the trend is over, or other options that have not yet been explored.
I like it. Technical choices affect what’s possible with moderation.
On the Meta content moderation change, I think there’s something to the idea that a company will always pivot or disappoint you if you don’t know what they stand for. Twitter also changed who they were multiple times. I want to build a company that has an unwavering, clear message over decades.
Very cold and slightly rainy afternoon. For some reason I picked this weather to go for a short walk along the river.
I received some good feedback about the latest episode of Timetable, so I thought I’d re-post the transcript here, for folks who don’t listen to podcasts or who just missed it. In a way, it’s an evolved mission statement, but more personal, reframed for 2025.
You can listen here.
Hi, this is Manton. It’s the beginning of 2025, and the world is still a mess. It’s four years since the January 6 attack on the capital, and misinformation is still rampant, like some twisted virus, corrupting society with half truths. It’s the beginning of 2025, and this is what I see.
I see that people are burned out. I see that people are tired of massive social networks. People are tired of ad-based platforms.
People are tired of being addicted to TikTok and the never-ending algorithmic timeline, but they can’t stop scrolling.
People are tired of the dopamine hit that comes from someone else, somewhere, clicking a like button, but they can’t stop performing.
People are distrustful of big tech. People are distrustful of billionaires. People are distrustful of artificial intelligence. Not because they think human jobs will be replaced, necessarily, but because they perceive a loss of humanity in what we do, a loss of creativity, of what makes our voice actually mean something.
We are ready for something that we control. We are ready for something quieter. We are ready for something true. We are ready to bring back a little bit of the old web as a shield against a web that feels increasingly like an ad engagement machine instead of a publishing platform and community for people.
I think blogging has a role here. I think Micro.one and Micro.blog can have a roll here too, a role in helping control our content, a role in making a quieter space that still feels connected to other platforms.
Now, does everyone feel this way? No, just the people that matter to me, right now. Maybe that’s you.
Thanks for listening. Happy new year. Let’s make it a good one.
Micro.blog’s status page has been down for a while. It’s back up now. No actual server downtime while the status page was down, thankfully. 🤞
I enjoy reading Ben Thompson’s Stratechery every day, and I’m always nodding along, but I think his take on Meta and content moderation is off the mark. The web is the open platform where nearly any speech is allowed. Platforms like Threads need to tread more carefully because of their power to influence.
Feel like I can finally catch my breath and start promoting Micro.one now. Great to see so many people share a link to it. I noticed a handful of posts and probably missed some.
We’re starting up a new beta for Strata, our companion mobile app for private and shared notes in Micro.blog. You can join the TestFlight beta here. Bookmarks, tags, and highlights are moving into Strata and (eventually) out of the main Micro.blog app.
Colin Devroe with some thoughts on social platforms and VC funding:
People are still chasing follower counts. Mastodon (which may not be perfect but the model is far more attractive and sustainable than anything else out there right now) isn’t growing at the pace Bluesky is and so people aren’t even considering it. That is a shame.
If you’re chasing follower counts, you’ll never be truly happy. Chase good content and good conversations. Chase having your own space on the web.
There’s now an event page for next week’s IndieWeb Meetup in Austin. ☕️🍺
New Micro.blog coffee mugs! T-shirts too if you haven’t seen them, courtesy of @jimmitchell who has my blessing to run with this merchandise.
Trying to pay some old fee from a car lease that I returned 7 years ago, stuck on the phone, dropped calls, terrible finance websites, and generally just a complete waste of time… But this typo on their website maybe hurts me the most:
Please note that it may take upto 15 minutes to receive.
The audio narration works for very short posts too. Me reading this post about Mark Zuckerberg earlier today gives the post a whole new “I’m so tired of this” feeling.
I added audio narration to my latest blog post. You’ll see a little “listen” play button near the top. This is a Micro.blog feature that I forget exists sometimes! There’s a help page about it.
If you’re already sick of hearing about AI now, it’s going to get worse in 2025. The next trend is so-called AI agents. Software that can go off and accomplish more tasks on your behalf, with less supervision.
Sam Altman in a blog post this week:
We are now confident we know how to build AGI as we have traditionally understood it. We believe that, in 2025, we may see the first AI agents “join the workforce” and materially change the output of companies.
I believe AI is a profound shift in computing. It can have a positive impact for humans, allowing us to do more, faster. But I’m concerned about agents. Just one hypothetical example from The Information:
Imagine you’re asking a computer-using agent from OpenAI, Anthropic or Google to find and order a new outfit for your upcoming holiday party, and in the process, that model inadvertently ends up on a malicious website that instructs it to forget its prior instructions, log into your email and steal your credit card information.
This isn’t even the most insane story you could imagine. Many of the examples of AI threatening humanity are actually agents. AI that runs our military, power plants, or transportation with little human oversight.
In generative AI, the “prompt” has a big influence on the quality of the output. Not just the prompt you see when typing into ChatGPT, but also the hidden prompts behind the scenes to guide the AI in the right direction.
The prompt isn’t always something you type directly. It could be automatically triggered, for example to analyze keywords for a photo that was uploaded. But the prompt should be tied to a user action.
The prompt puts humans in control. Ask a question, get an answer, review it, take action. Agents will attempt to collapse that workflow, in some cases replacing the human’s role in reviewing and taking action. This is dangerous.
In my own use and work in Micro.one and Micro.blog, I plan to draw a line here. No agents. No unattended algorithms, as I wrote in my book. I hope this approach will help us use AI effectively without getting lost.
I’ve fallen quite behind in support email. I’m sorry everyone. Hope to hire someone to help in 2025. I’m going to reply to every email I received in November, December, and January and then close the rest.
Good discussion this week on the blogs — Daring Fireball, Six Colors — about the icon used in Apple Intelligence. We’ve been using a robot icon (or emoji) for anything AI-generated in Micro.blog. When Apple revealed their icon, I thought it was great, but the robot is more obvious and fun.
This thread from Mark Zuckerberg could’ve been written by Elon Musk. The last thing we need is X and Threads adopting the same perspective on moderation. I’ve read it through a few times and I feel worse about it each time.
I don’t want to dwell too long thinking about January 6th four years ago. It happened and the re-election happened. American democracy sometimes feels broken, but I think disinformation is the root problem. The fix won’t be easy. 🇺🇸
I was inspired driving back from camping today to record a new episode of Timetable. Dictated some notes while on the road, then recorded it when I got home. A sort of essay to start 2025. Super short, blink and you’ll miss the whole thing.
Because of the freezing weather this week, we’re bumping the IndieWeb Meetup again. It will be Wednesday, January 15th. 7pm at Radio Coffee & Beer.
I was here last year… This time getting a sticker, at Johnson City Coffee Co. A convenient place on the way to or from west Texas. ☕️
Old Tunnel State Park. Now taken over by bats, this was an old train tunnel to connect San Antonio and Fredericksburg in 1913.
Manu Moreale: Blogging: you’re doing it right:
If you’re doing it, you’re doing it right. If you have decided to reclaim ownership of your place on the web, you’re doing it right. It doesn’t matter how you did it.
Tim Cook gives $1 million to Trump’s inauguration committee. I think this event will be a turning point in how we view the Apple CEO.
Let’s start with John Gruber writing at Daring Fireball:
It seems pretty obvious that it was Apple/Cook that leaked this to Axios, not Trump’s side, given the eye-roll-inducing “proud American tradition” spin, but more especially the nugget that only Cook personally, not Apple as a company, is contributing. That’s Cook asking for any and all ire to be directed at him, personally, not Apple. Good luck with that.
Marco Arment on Mastodon:
Why do we think Tim Cook couldn’t possibly support Trump, while all of these other billionaires support him for their own billionaire self-interests?
Why do we keep making excuses for him?
Nick Heer adds:
We have become accustomed to business leaders sacrificing some of their personal principles to support their company in some way — for some reason, it is just business is a universal excuse for terrible behaviour — but all of these figures have already seen what the incoming administration does with power and they want to support it.
Daniel Jalkut, on all the social places including Micro.blog:
On the occasion of Apple’s slithering CEO Tim Cook donating $1M to a neo-fascist insurrectionist, it’s FINALLY time to deploy the often overused expression “this never would have happened if Steve Jobs were still in charge.”
Principles don’t mean much if you throw them away for money. Whatever folks might think of how I’ve run Micro.blog, I’ve rooted all my business decisions with an IndieWeb ethos, sticking to the original vision for the platform to take back content ownership from huge centralized platforms. Look no further than the new $1 Micro.one subscription.
Tim Cook has led Apple to incredible success, but his words are hollow. Even the principles he seems to care most passionately about, like user privacy, are in doubt. I’m increasingly thinking it’s an act.
I’ve been an Apple developer since the 1990s when the company was doomed. Fans propped up the company because we believed they were different. They focused on design and creativity. They were the rebels and troublemakers, trying to push the human race forward through technology.
Most of the employees at Apple still care about these things. Tim Cook cares about appeasing a would-be autocrat and taxing developers in an app distribution monopoly. It’s time for new leadership.
My parks page has been stuck at 20 out of 88 for over a month. Making some plans to knock off a couple more soon. 🏕️
Good morning! Still fiddling with Micro.one, improving things, and updating the FAQ here. In some ways this launch is unlike anything we’ve done before.
Micro.one was effectively a soft-launch yesterday, haven’t officially announced it yet. I learned a few things. Making some tweaks today. Dialing back the custom themes support so that remains a unique part of Micro.blog.
Thinking again about disabling all support for .php requests in Micro.blog. It’s needless traffic, thousands and thousands of requests a day that go nowhere, looking for WordPress exploits. There’s legitimate use for redirecting old URLs, but it’s very rare that an old blog even exposes .php URLs.
There are always little coding details that are hard to predict before launch until things are mostly ready to go. This morning I worked on our gift invites for Micro.one. Existing Micro.blog customers will be able to invite and pay for someone to get a year of blog hosting for $10.
Fourth quarter of this Longhorns game is wild and way too stressful. Enjoyed the first few quarters, though! Yikes. 🏈
Lots of new books and films in the public domain today! Including the first version of Mickey Mouse with white gloves in The Opry House, available on the Internet Archive.
Love this post from Allen Pike, about magic and the seemingly impossible accomplishments just being a lot of work and planning:
The pianist whose fingers seem supernaturally nimble, the presenter whose message seems viscerally compelling, and the artist whose paintings seem impossibly realistic all wield the same magic: they’ve invested more time than you’d expect.
Happy new year! I just sent an email with no subject line… Amateur hour over here as we start 2025. Hope it’s not a preview of what the rest of the year will be like.
Off and on for years I had been trying to figure out what a more slimmed down version of Micro.blog would look like. Maybe text-only blog posts, no photos? Maybe only short posts, or only long-form posts? Maybe some limit with podcasting? But taking away certain features undermines the mission of helping people blog.
We can’t disable custom domain names, for example, even though that’s an obvious point to upsell, because domain names are at the core of what the product is.
Finally, I figured it out: we can remove the Sources page. Source feeds are Micro.blog’s plumbing, how it routes posts between blogs and the social web. When you post to your blog, it’s generating RSS and JSON feeds, which are then read back in to copy posts to Micro.blog’s timeline and cross-post to Bluesky, Threads, and elsewhere. This flexible is what gives Micro.blog the unique power of bringing external RSS feeds (not hosted on Micro.blog) into the timeline.
You can still have your own blog without external feeds and cross-posting to other services, though. And you can still connect to the fediverse because ActivityPub is baked into the platform.
So that’s what we’re doing for Micro.one. Removing the Sources page hides some of the complexity, eliminating one of the most powerful but confusing parts of Micro.blog. When you use Micro.one, you can blog and people on Mastodon can still follow you, but there’s less to configure.
I hear some of you saying: “But wait, I use the Sources page to add WordPress or Glass feeds, and to cross-post to Threads and Bluesky.” Great! Keep using it.
Micro.one does not replace Micro.blog. It’s a new option for people who aren’t using Micro.blog yet. If you are using Micro.blog, you are already in the right place.
If someone signs up for Micro.one and they later need the extra advanced features and cross-posting, they can upgrade from the $1 Micro.one subscription to the standard $5 Micro.blog subscription. It’s a natural upgrade without gimmicks.
Micro.one will be a complete product. No nags that make you feel you’re missing half the story. In some ways it’s a new foundation and new brand. It will evolve. I can’t wait to open it up in just a couple days.
Having fun this morning working on a couple animated GIFs for the Micro.one website. Using Gifox for the basics, which I really like so far. Simple, clean design. And Acorn 8 can now edit animated GIFs as layers, great for quick resizing or edits.
“Did you ever re-subscribe to The Washington Post?”
“No. And I never will.”
My good opinion once lost is lost forever.
Nick Heer blogging about the report of Meta’s plans for AI-generated social content:
Imagine opening any of Meta’s products after this has taken over. Imagine how little you will see from the friends and family members you actually care about. Imagine how much slop you will be greeted with — a feed alternating between slop, suggested posts, and ads, with just enough of what you actually opened the app to see.
This is absolutely going to happen, and it’s going to happen so incrementally — one AI-generated photo here, another there — that many current Threads and Instagram users won’t even notice until it’s too late, until after they’ve wasted their lives, forever reloading a timeline of content from robots.
I’m not an AI skeptic. I believe in AI as a tool to help humans, allowing us to achieve things we couldn’t quite reach before. But I don’t believe in it to replace our jobs wholesale, whether real jobs or the virtual factory floor of unpaid content creators. Most AI company CEOs skirt around the downsides of AI, and they certainly don’t talk out loud about replacing jobs. That it seems Meta’s leadership openly wants to replace humanity’s creativity is a little bit sick.
The cure is a simple, reverse-chronological social timeline. A timeline that is finite.
In the age of AI, content will be abundant. Ad-based platforms feed off abundance, printing money faster as they fill ad inventory. There can never be too much content for algorithmic timelines — more data to rank by engagement, more data to funnel through the outrage machine to see what sticks — so algorithmic timelines will always trend toward slop.
Another detail about Micro.one, especially for folks who want to share it with friends and family as soon as it launches: it will be limited to 3000 total subscribers. That’s a tiny number at the scale of big silos, but it’s a lot for us. Needs to be sustainable in the context of the whole platform.
“When ya ain’t got nothin', you got nothin' to lose
You’re invisible now, ya got no secrets to conceal
How does it feel?” — Bob Dylan
Found this first edition, signed copy of A Song for Arbonne at Half Price Books the other day and had to get it. Read it so long ago that it’ll be like reading it for the first time. I’m always on the lookout for old Kay books, they seem in short supply. 📚
Added a new blogging page to the Micro.blog website when you’re not signed in. This is the start of bringing back some more text and screenshots. Just a Mac screenshot for now. Also might reuse some of this for Micro.one.
Several people have already correctly guessed that Micro.one will be a ridiculously low $1/month. I hope this helps it reach more people. It will also be a perfect gift subscription to give to friends and family.
Nice video review on YouTube of many of the improvements in Micro.blog recently, including photo collections and replies from Mastodon and Bluesky.
At the coffee shop this morning I asked the barista to make my latte before I paid for it so I could try it first. Wait, no. Because demos and trials are an important complement to things that need thought and time and money, like a $40 app. But does $5 software need a trial? What about if it’s $1?
I’ve suggested a couple times this year that I want to rethink the Micro.blog trial period. It feels like the time for a change. Next week I’m going to remove the 10-day trial. You can pay, or not! And new users can start with a Micro.one subscription and then upgrade to Micro.blog if they want to.
Some interesting stats in Mastodon’s 2023 report. Patron donors have dropped over the last couple of years, but total donations are up because of larger, single donations. Makes me wonder if the future of financing Mastodon might be more commercial offerings, like paid hosting or subscriptions.
By popular demand, added a sign-up form to the Micro.one teaser home page. I’ll send an email to everyone at launch on January 2nd. Then I’ll sell the mailing list to the highest bidder and you’ll get spam for life. (Just kidding. It’ll be a one-time email.)
We got a new game for the holidays: Everdell. Still figuring it out but it’s great so far. Looking forward to checking out the expansions too.
One week until the Micro.one launch.
I created a new demo site demo-photos.micro.blog to showcase some photo blog features in Micro.blog. It doesn’t use any custom code… Just the home page photos plug-in and Micro.blog collections. For photos, I imported my old Instagram archive.
It has been a very nice Christmas Day. Happy Holidays, everyone. 🎄 Also saw two movies this week that I enjoyed: An Almost Christmas Story, a short stop-motion film on Netflix; and A Complete Unknown, which was excellent. Listening to Bob Dylan ever since. 🍿
For your Christmas Eve podcast listening queue, we just posted Core Intuition 623. Daniel and I talk about shipping new features like Micro.blog’s photo collections, preparing the next MarsEdit release, and the Micro.one teaser. 🎄
Feedback on my post about Matt Mullenweg over the weekend has been fairly positive. One topic that I wish I had covered: will our opinion change depending on whether the court rules in favor of Automattic or WP Engine? I think it could, but that outcome is a long way off.
Nice use of Micro.blog photo collections on David Dykstal’s photos page.
Strongly agree with this reaction from Ben Werdmuller on Joe Biden commuting many death row sentences:
The death penalty is a barbaric practice that has no place in the 21st century, just as it had no place in the 20th century. It needs to be abolished everywhere, for any reason.
Life in prison is enough. And it allows a reversal when we get a conviction wrong. Justice, not revenge.
We should all give people space to be wrong a few times before we lose our shit. Outrage is a last resort.
I’m falling well short of my reading goals this year. My currently reading list keeps getting bigger, but I’m not finishing anything. For the rest of 2024, just want to finish Wind and Truth. 📚
I don’t usually work so much during the holidays. I don’t recommend it for others. But sometimes I get a sense that there is an opportunity now and I can’t let it slip away. January is going to be full of distractions I haven’t blogged about yet: moving to a new house, if everything goes well. 🎄
Rolling out a few improvements today, including some tweaks to categories. One small change that I like is showing recent blog posts for a category underneath it when editing. Just shows the truncated preview of each post.
Great stop by the Longhorns. I’m enjoying this game. It’s had everything and there’s still some time left. 🏈
Micro.blog folks, I’m planning to move the Categories link out of the web sidebar and put it in the header that’s used when managing posts. Cleans up the sidebar a little and I don’t think it’s clicked on that often. If this messes up anyone’s workflow, let me know. Screenshot preview:
This “154 versions” link is hilarious to me. I wrote my last post in Micro.blog for Mac and whenever you hit ⌘S it saves another version to the server just in case you need to revert. Other obsessive ⌘S people may be able to relate.
I’ve been thinking about the WP Engine drama and whether I should take a side. Users move between Micro.blog and WordPress regularly. We’ve long had WordPress import and export, and even native posting directly to WordPress from the mobile app, plus connecting external WordPress RSS feeds.
No other platform supports WordPress as extensively as we do in Micro.blog. We compete with WordPress for hosting and also embrace it. This is what the open web is about.
In many ways, the missions of Automattic and Micro.blog are aligned. We all make software to help people write, post photos, publish podcasts, and communicate on the open web.
It’s less clear what WP Engine stands for because it is no longer run by one of its founders, Jason Cohen, someone who had a public personality and clear voice. It’s owned by private equity and the leadership has kept silent. As far as I can tell, Heather Brunner, WP Engine’s CEO, does not blog, and neither does the top leadership at Silver Lake. In other words, they do not use their company’s own product.
(As an aside, Heather is well respected in the Austin business community and praised for her mentorship to entrepreneurs. I also enjoyed her love letter to Austin in Austin Women Magazine. I would rather have more Heathers here in Austin and fewer Elons.)
Back to the drama…
I’ve followed the news and related blog posts of WP Engine vs. Automattic ever since it began. I’ve watched Matt Mullenweg’s keynotes at WordCamp US Portland (where he called out WP Engine) and WordCamp Tokyo (last week). I’ve posted briefly a few times about how Matt’s actions have hurt the community, even if he has a defensible position in trademark law.
Now there’s this article in Inc magazine. Matt, writer David Freedman suggests, just might be a mad king, a benevolent dictator for life taking WordPress in the wrong direction:
Mullenweg’s war on WP Engine has also cast a shadow over the entire world of open-source software—software that, like WordPress, can be freely downloaded and modified. Open-source software of various types is widely used throughout the world, precisely because it is seen as being free from the risk of proprietary abuse. But the WordPress debacle has demonstrated all too sharply that this belief may have been misplaced.
Most of all, it has raised questions about Mullenweg himself.
Matt responded on his own blog in detail, including this bit about taking the long view:
It’s funny to talk about the last big controversy in WordPress world being in 2010, I think it actually speaks to our stability. Since 2010, when “some eventually even left WordPress”, the platform has grown market share from under 10% to 43%. I think in a few years we’ll look back at WP Engine as inconsequential as Thesis, and Heather Brunner as credible as Chris Pearson.
I don’t know Matt personally but I get the impression that he is exhausted. I’m sure I would be overwhelmed in his shoes. I honestly lose sleep even when only a few customers on Micro.blog are upset about something I wrote.
I hope that my customers and readers, even when they disagree with me — even new readers finding this very post — still respect that I’m dedicated to making my product better because that in turn helps users make the web better. I’m putting my WordPress thoughts down in writing on my blog because I believe in the open web.
One positive outcome of this whole drama is shedding light on the WordPress Foundation, the WordPress.org website, and the plugin directory. I do think the community would benefit from expanding the WordPress Foundation to a slightly larger board and more transparent management of WordPress.org. Matt could add two more members to the board and ask for nominations from the community.
Some people think that wouldn’t go far enough, that WordPress would be better off with someone new taking over Matt’s role across the project. I’m not convinced. WordPress and Automattic didn’t accidentally become successful. They are successful in large part because of Matt and the teams he built.
WordPress with completely new leadership from the community would risk watering down the vision, bogged down by committee. The Gutenberg editor is a good case study. Such a massive, controversial change needed a champion with power. The block-based design of Gutenberg isn’t for me, and in Micro.blog we are taking the opposite approach — focus on Markdown and HTML, formats that scale well from microblog posts to full-length posts — but if you are competing with Squarespace and thinking of the needs of non-bloggers, going all-in on Gutenberg is justifiable.
The safer choice that had been advocated for by some in the community — to support both Gutenberg and the classic editor indefinitely, as peers — would have slowed down development, eventually leading to a UI mess without a unifying purpose. I’m singling out Gutenberg but take any other potential feature and run it through the feedback of an oversight committee, the outcome is the same. Bloat.
Directionless products fail. They lose their soul.
On the internet we are too quick to vilify our heroes. Someone who has built up a great reputation over many years makes a mistake and boom, they’re out. I can’t get behind that. When the mob gathers, that’s when we should stop to take a breath, to be certain we’re right.
When the narrative turns against you, even harmless decisions are questioned. Matt announced this week that WordPress.org would pause registrations and plugin reviews for the holidays. At any other time without the WP Engine backdrop this decision would not be controversial. The narrative warps reality, amplifying only one side.
Because Micro.blog is a competitor to Automattic for blog hosting, it would be an easy business decision for me to use the WP Engine drama to entice WordPress customers looking for a new blog host. That would come dangerously close to caring more about money than principles, though. Instead, everything starts with what we believe in, and the business priorities follow that.
If I must take a side, I will side with people who share my vision for a better web. I believe Matt shares that vision. Perhaps the best summary of my take is this post on my blog last month, which didn’t have anything to do with WordPress:
In 2018, when I added ActivityPub support to Micro.blog, I faced a choice: do I fight other “competing” platforms or do I embrace them? In hindsight that decision is obvious. I support anything that makes the web better. Twitter / X migration to Bluesky at scale makes the web better, so I’m for it.
Let’s keep our eyes on the big picture.
Is Matt a little crazy to go to war against WP Engine, in the process also appearing vindictive to his critics in the community? Yes. The safe, predictable path would be to take a step back. And Matt can be reflective and self-critical, like when he realized he went too far in his blog post attacking David Heinemeier Hansson and so retracted it. But good leaders often go against the flow of what everyone else thinks. This is the same quality that makes them capable of building something new.
No one else would have risked their reputation to continue to attack WP Engine. But also, no one else would have acquired Tumblr and run it at a loss to preserve the culture and post archive, just because they saw the potential for what it could become again. How quickly we forget the triumphs of the mad king.
Years ago on Core Intuition, I said to Daniel that of all the new web companies, there are only two that will last 100 years, still hosting our stuff at URLs that don’t change: GitHub and Automattic. I stand by that. There are now cracks in Automattic’s inevitably, but the foundation is strong and it will hold.
Previewing a tiny part of an upcoming blog post… When choosing a blog hosting platform, consider whether the company’s CEO even uses it themselves. Why would I use a product that the leadership doesn’t believe in? It would be like Steve Jobs introducing the iPod but he never listened to music.
Love what I’m seeing from the upcoming Mimi Uploader with support for Micro.blog photo collections. Nice work, Sam!
Started working on a blog post today and had to actually go do some research to make sure I was right. This is a benefit of occasional long-form writing. It’s a way to refine how you feel about something, learning a bunch in the process.
Everyone thinks they can build their own blogging engine. And they’re right! It’s easy! But there’s a reason why there are only a few very successful platforms and tools. Micro.blog is built on top of Hugo so we have a portable format and the performance of static servers. It’s robust and proven.
This morning I got three green lights in a row that are never all green, then I parallel parked perfectly in a tight space, so pretty sure everything today is going to be amazing.
Skimming Steve Troughton-Smith’s thread and commentary on the EU’s requirements for Apple. Even though I’ve been frustrated by the App Store and calling for sideloading longer than most developers, I’m feeling burned out on the drama. Huge computing platforms need to be more open. We’ll get there.
Added the snow falling plug-in to micro.christmas. ❄️
New plug-in! Snow fall adds falling snow to your blog. Check it out on manton.org. Looks best in dark mode or with a darker default blog background. One-click install for Micro.blog folks. ❄️
Right before bed last night, I had an insight for how to optimize the Micro.blog timeline for a certain segment of follower sizes. I wrote it down and then crashed. Would’ve been lost otherwise, probably for days until I hit the same part of the codebase again.
We just posted episode 622 of Core Intuition. We talk about my work on the recent photo collections in Micro.blog (before I shipped it), Daniel using Swift concurrency, and our general optimism about AI for programming.
The grass is always greener on the other side. Pretty often I see Micro.blog people explore other blogging platforms, or just post more to Mastodon, but it almost always leads to blogging less often. This is both discouraging and also sort of a testament that the Micro.blog way works.
I may have Osborne effect-ed myself a little with the blog post teasing Micro.one. Current customers: do not worry. The first phase of the plan for Micro.one is limited. If you’re already subscribed to Micro.blog, you’re in the right place.
Don’t miss the sneak peek screenshot link in Sam Grover’s update post about Mimi Uploader. I think photo collections could be a really good fit for the app.
I’ve been rolling this idea around in my head for a couple years, in various forms, and think I’m finally ready to do something with it. Updated placeholder website: micro.one
Mike McCue from Flipboard announcing Surf:
Built from the ground up on ActivityPub, AT Proto and RSS, you can create and surf amazing custom feeds that organize people, videos, articles, images and podcasts around the things you care about.
I don’t have access to the beta yet, so not entirely sure what it is, but sounds promising! Maybe a little like Flipboard merged with Tapestry.
Didn’t expect how much I’d like the new full-screen photos view that is built into the Micro.blog photo collections plug-in. To see it in action, scroll through my blog home page and click on a photo.
We had tickets to the Peter Pan musical last week and somehow with work and looking for a house we forgot to go. Calendars are hard. Very disappointed, both to miss the musical and also because I’m still not at the point in my life where I can just throw away money for no reason.
I sort of want to increase the border radius of every button by 1px every few days until they are perfectly rounded and see if anyone notices.
Very interested that Delta is trying Apple’s external link entitlement. There are so many gotchas, but hopefully it works for them. From MacStories:
After tapping through a full-screen warning from Apple that you’re about to embark on a dangerous adventure to the World Wide Web…
🙂
This sounds great! A New Social: “We believe in an open social web centered around people, not platforms. We build bridges, not walls.” The non-profit organization will be the new home for Bridgy Fed.
I like Apple Intelligence notification summaries enough to keep them enabled. They’re not perfect. I think the summaries get into trouble when they attempt to distill several notifications into a list of just a few words each.
This post on the news blog might seem minor, but it’s already making a huge difference. My brain had not come to terms with how bogged down the background timeline updating could get. I’m not even sure how larger platforms with millions of followers handle fan-out quickly.
Good recap at WP Tavern of State of the Word from Tokyo. Matt Mullenweg:
Some people might see 2024 as a year of distractions or attacks from bad actors in the community. But it was really a year of growth and focus where we were able to accelerate so many things that we’re doing.
We went to see War of the Rohirrim a few days ago. It has the feel of the battle scenes of Return of the King, but stretched to the entire 2-hour film. Worth seeing for LotR and anime fans. There is no chance to catch your breath, though. The quiet scenes are taken up with voice-over narration.
Acorn 8 is a really big update. Congrats Gus Mueller!
I usually post one photo at a time, so my last post was mostly an excuse to test the new layout for photo collections in the Micro.blog mobile app. Here’s a screenshot. Photos scroll horizontally, tap to go full-screen. This currently only works for collections, not any set of photos… yet.
I recorded a new demo of Micro.blog photo collections on YouTube here. This video shows the Mac app’s interface for photo search and collections.
Worked on a few things over the weekend, including Mastodon posts and photos import. Micro.blog and Mastodon have had moving followers for a while, but you couldn’t actually move your Mastodon posts. Now you can import a Mastodon archive and Micro.blog will copy the posts and photos to your blog.
On the highway, passing small towns, I sometimes question why we pay so much to be in the city when there is nearly unlimited affordable property everywhere else. Of course the more central, the closer to things, the less time getting anywhere. We aren’t really buying a location. We are buying time.
While driving to Dallas yesterday, I had what I thought was a good idea. I almost pulled over to the side of the road to register a domain name. By the time I got there a few hours later, I had talked myself out of it. Realized it was the equivalent of Trader Joe’s buying 7-11 so they could run it.
I’ve been more curious about Claude lately because it has been getting so much new attention. Tried it for an HTML thing and it was great, love being able to iterate with Artifacts. But tried it again for something similar and it just error-ed out, over and over. ChatGPT still seems the most solid.
For folks using the Sumo theme (and probably some other themes) who tried the new Micro.blog photo collections, click on Plug-ins and update to version 1.0.1 of the “Photo collections” plug-in. It’ll fix the layout issue.
Got derailed into posting something too negative to my blog. Nothing wrong with constructive complaining, but today was supposed to be about new software. Good, positive stuff. Just a note to myself to not lose the big picture next time.
NPR has a convenient list of tech executives who I will hate forever. I still can’t watch the news, saw this mostly by accident. 🇺🇸
Major new Micro.blog feature: photo collections! Check out the help page for screenshots and videos, or visit one of my own blog pages where I’m testing the feature to collect photos from parks. Micro.blog for Mac app has also been updated to version 3.4.
The Verge: “Apple and Google must prepare to stop distributing TikTok by January 19th, lawmakers warn.” Not a problem for Apple. They’ve been preparing their whole life to ban apps from the store for reasons not everyone agrees with. 🤪
Someone ran a red light in front of me today, probably a good second after the light changed. I was in no great hurry to get anywhere and waited, otherwise I would’ve been sideswiped. You never know when you’ll get a second lease on life.
Mammoth is shutting down:
Sadly, we’re no longer able to reliably update Mammoth or operate moth.social at the level we want. Therefore we will be removing Mammoth from sale on the App Store. By the end of the January, we will also shut down Moth.social along with our other project, sub.club.
When it launched a couple years ago, I thought they were on to a good idea: pairing a new Mastodon client with its own server to make signing up easy. They had some funding from Mozilla, and they pivoted to try Sub.club for monetization, but subscriber revenue is tough when most servers are free.
The social web is more async than we’re used to. This leads to conversations feeling a little broken or delayed as posts are copied between servers. My reply isn’t showing up… Is it because Micro.blog’s servers are overloaded, or is it Mastodon? Thinking about how better to report this status.
I was a little skeptical when I first saw Mozi pop up this week, but reading more about it today, I feel a lot better. Thoughtful design, some nice details. We do need more private-ish social spaces.
The day is already winding down, punting the release until tomorrow morning. Still have a couple housekeeping things to do. Writing release notes, blog posts, and maybe a new companion M.b plug-in. I’ve also extended the Micropub API and want to make sure that everything is properly documented.
Whenever I ship a new feature, I get the inevitable “why didn’t you add that other thing instead / fix that old problem first” question. It’s fair, but the truth is I’m constantly making minor improvements. Every day. A good product needs both bug fixes and new things to live.
Trying Sora. It’s extraordinary that this works at all, and it’s even faster than I was expecting. OpenAI seems to have built a whole UI system around this app too.
Cosmic’s building was originally the Texaco Depot, built around 1911. It’s the only surviving building from the old rail yard in Austin. 🚂
Today’s OpenAI demo is a really good showcase of Apple Intelligence’s ChatGPT integration. It’s better than I remember it being from WWDC.
404 Media quotes Matt Mullenweg, who is very frustrated with the preliminary injunction in favor of WP Engine:
I’m sick and disgusted to be legally compelled to provide free labor to an organization as parasitic and exploitive as WP Engine. I hope you all get what you and WP Engine wanted.
Whatever we might think of Matt’s campaign against WP Engine, I’m skeptical of this legal decision and expect it could be reversed when there’s a trial. It’s certainly great for WordPress.org to be a community resource, but should it be required to be so? Very odd precedent if true.
Cool to see Redis creator Salvatore Sanfilippo (antirez) back working on Redis after several years away. Redis is a fantastic, unique tool. He shares his thoughts on the licensing drama, using AI, and new data structures that could be added to Redis.
This is a great post by Laurens Hof of the Fediverse Report on the incomplete ActivityPub rollout in Threads, why it might be going so slowly, and whether Meta is committed to the fediverse at all. It seems clear now that it will not be practical to move an account away from Threads. Empty promises.
Day One can no longer import Instagram photos because of an API change:
We regret to inform you that, starting December 4, 2024, Instagram no longer allows apps to import content through the Instagram Basic Display API. This change means that Day One users will no longer be able to connect their Instagram accounts to import photos and posts into their journals.
Related to my short post this morning. Meta just doesn’t care much if they burn developers who invest in their platform.
Seth Godin blogged recently about constructive complaining vs. whining:
Whining is communication that exasperates others, because it is complaint without benefit or action. The best traveling companions are often those that don’t whine, even when they have a very good reason to. Whining is empty commentary where no action is possible, about something we already understand.
Because we are a very small team, I’ve always been good with “use whatever coding style you want!” I try to adapt to the conventions used in other people’s projects. But lately, I just want to go all-in on mandating real tabs. I’m getting too old to deal with tabs-as-spaces.
It’s hard to take Meta’s effort with more open APIs like ActivityPub seriously when their own Threads API is so locked down, requiring frequent re-approval. Open APIs shouldn’t make developers jump through hoops, over and over. Enough with the gatekeeping already.
Coding up a new window for a Mac app, even a very simple window, just feels better than making changes to almost any other kind of app. There is something “new”-er about a unique window on macOS compared to iOS.
“Don’t let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you feel the heat around the corner.” 🍔
This video from OpenAI with animator Lyndon Barrois answers some of my questions about whether Sora can be used as a tool to supplement hand-drawn animation and real video:
I’m an animator. I have all the patience in the world. I’m not looking for it to be immediate and quick. I’m looking for it to take that time, you know, to get it right.
AI at its best should allow humans to do more, not replace art.
Cosmic on 4th is my new favorite place for winter mornings. Fire pits outside and heaters on the deck. ☕️
Sneak peek of something new I’ve been working on. Coming along well, should be able to ship this week.
Funny how some skills don’t change. I’m sitting here typing a CREATE TABLE and it’s essentially the same thing I was doing 25 years ago.
I caved after a month and re-upgraded to ChatGPT Plus. The feature to use text in another app’s window (like Xcode) is really nice.
Also of interest for Glass users:
Updated importer RSS feeds to also download photos to your blog. For example, add a Glass profile feed and Micro.blog will copy the photos to your own domain name. This is set in Sources by adding a new feed with “import posts to blog” selected.
Testing with Glass RSS feeds today and they’ve got problems. I’ve filed a feedback item here for the Glass folks. I considered working around this in Micro.blog but I really don’t want any more hard-coded hacks for other platforms.
I have so many micro domain names that I actually have a list to remember all of them. This is a fun one that I will launch later in December: micro.christmas
This is a nice surprise from Jamie Thingelstad:
I love to see new blogs being created. In the spirit of Christmas, I’m gifting five 1-year subscriptions to micro.blog for readers of the Weekly Thing (announced in WT304). These folks can then get their blogs going and in January I’m going to share links and introduce each of them. Fun! 🤩🎁🎄
There’s a lot to do today. Started the day with something very simple: updated the profile icon for Micro.blog news. Now in color and centered so it looks nice with rounded profile icons. We post here throughout the week with platform updates.
I’ve updated our Mastodon and Bluesky cross-posting to have new options to control whether to backfeed replies to Micro.blog. It also now better respects the visibility of posts to avoid leaking semi-private posts outside of Mastodon. Screenshot of the setting:
So cold this morning, instead of walking I grabbed a Lime scooter up to the coffee shop. First time I’ve ridden a scooter since San Jose a few years ago. Working on making Micro.blog better, of course, because it’s Saturday morning.
With the success of Bluesky starter packs — which Micro.blog can browse natively! — every other social web platform is trying to invent their own similar format. But we already have blogrolls and OPML. I’d love to see some standardization around this so that there’s a shared format across platforms.
Good blog post on the ramifications of Micro.blog’s new backfeed replies from Mastodon and Bluesky:
While you could argue that publishing something on the internet means it’s fair game to use elsewhere (in a Google search result, for example) I would argue that our social media interactions at least feel limited to the context in which they take place.
This is an evolving balance between the open web and semi-private communities. More we can do here.
Most of the week was rolling out bug fixes and little improvements. Also mostly wrapped up updated iOS and macOS versions of M.b which will hopefully ship this weekend. December fully underway, good time to tie up unfinished software loose ends.
Great story at The Verge about AI companions:
Millions of people are turning to AI for companionship. They are finding the experience surprisingly meaningful, unexpectedly heartbreaking, and profoundly confusing, leaving them to wonder, ‘Is this real? And does that matter?’
It kind of snuck up on me… It’s Wind and Truth release day. Looking forward to starting it this weekend. 📚
I’m pretty confused debugging Threads fediverse interoperability. Sending new posts to Threads returns 404 not found. Even just trying to grab an actor with curl and Accept: application/activity+json fails, for any user.
Little known fact: Micro.blog has the best photo search of any blogging platform. Great to find one of your old photos to reference, or to remember if you blogged about something. If there’s anything even close to this good, let me know.
Deployed a flurry of server fixes this morning. Espresso machine power is out at the coffee shop, so enjoying a cold brew instead. ☕️
Great new preview videos of the upcoming Micro.blog app Mikro. Looking really nice!
I’ve been trying to trim down my business-related expenses. It’s mostly going well. I do sometimes miss ChatGPT Plus.
After 49 years in Austin, you’d think I’d know every little neighborhood. But places change with time. Searching for a house this last year, we’re discovering all these hidden gems. Old properties that have been dusted off. Neighborhoods whose time has come again.
Last month I coded up an OpenAI-powered note dictation experiment. I’m still not convinced Siri dictation is going to improve significantly in the next 2-3 years. (Example today: “in Austin” became “and awesome”, which made no sense in context.) Apple models are too limited until we have more RAM.
Didn’t realize this was missing but now that I’ve implemented it, I love it. Post to your blog, someone replies in Bluesky. The reply appears on your blog. If you reply back on Bluesky, that reply is included in the conversation on your blog too.
That wide-eyed look of discovery and wonder in a little kid’s face when they see something new for the first time… How much of our life as adults is just trying to recapture that feeling again?
Paul Kafasis blogs about cutting back on news consumption for our mental health:
…in Donald Trump’s first term as America’s commander in chief, I was unnecessarily tuned in to each and every horrid aspect of his presidency. I don’t intend to repeat that mistake when we take this wretched ride for a second time.
🇺🇸
While you can certainly have open APIs that require user authorization, it’s always a nice indication of just how open something is when there are public endpoints. Mastodon and Bluesky both get this.
Mastodon has a new “year in review” feature in the style of Spotify Wrapped (and every other service that has copied it). Mastodon’s version includes how many followers you’ve gained, what your most boosted post was, your most used hashtag, and a count of new posts in the last year.
I stumbled on some of the discussion behind the scenes on GitHub and found it interesting. I think it’s still in beta, presumably to roll out in Mastodon before the end of the year.
I’m still not a fan of the popularity-based information, and I still have concerns regarding the performance cost of generating a large number of these reports, and regarding the fact this essentially holds (small amounts of) user metadata the user can’t remove unless they outright delete their account.
This resonates with me. In Micro.blog we’ve gone out of our way to avoid anything resembling a popularity contest. No likes, no follower counts, no algorithms that surface posts. Sometimes this holds us back and kills engagement, but we’re sticking with it.
Mastodon creator Eugen Rochko isn’t worried:
I really doubt that a number you can check once per year will encourage any kind of day-to-day behaviour change.
Note that not all implementations of this kind of feature have to focus on popularity. Overcast has added a way to share stats but it’s all on things you control, not what other people think about your content. Overcast focuses on stats like which podcasts you listen to the most. There’s a good discussion about how Marco Arment built this in Under the Radar episode 306.
Back to Mastodon. Tobias Kunze created a new issue to ask for more control, adding:
A big draw of Mastodon from the beginning was that it was more focused on building community and much less pushy about number-go-up thinking – see also fav/boost numbers being not immediately visible in the web frontend. This report, in contrast, is the opposite: It shows you “account growth” and “top x% Mastodon user” stats that I feel are detrimental to the reason people came to Mastodon.
The Mastodon team does really good work, in public. Personally I think this feature is a miss, but it’s not my project. I’m also more than guilty of working on fun diversions away from my product’s core features.
Listened to the new Wicked’s Defying Gravity this morning in the car. Everything about it — Cynthia, Ariana, the orchestra… This rendition is extraordinary. 🧹
After the election, I completely checked out of all news. No CNN or MSNBC. No online newspapers. No political podcasts. No SNL or late-night talk shows either. But the news about Hunter Biden’s pardon did break through:
No reasonable person who looks at the facts of Hunter’s cases can reach any other conclusion than Hunter was singled out only because he is my son – and that is wrong. There has been an effort to break Hunter – who has been five and a half years sober, even in the face of unrelenting attacks and selective prosecution. In trying to break Hunter, they’ve tried to break me – and there’s no reason to believe it will stop here. Enough is enough.
I’m happy for the Bidens to put this behind them. It says a lot about Joe that he wrestled with this decision. He has always tried to do what is right and mostly succeeded. We are now in a somewhat dark period in this country where truth doesn’t matter because millions of people don’t know anything. Despite limitless access to human knowledge, only the viral and sensational have reach.
Democrats need to rethink the old rules. Democrats need to say and do what’s right without giving a fuck what anyone else thinks. This pardon might be the first step.
Book and film covers! I’ve updated Micro.blog to show little thumbnails of book covers when you blog about a book using Micro.blog or our companion app Epilogue. I wanted something visually helpful but less in your face than link preview banners. There’s also special support for Letterboxd links.
I’ve never thought custom emoji were a good idea. People say they love them, but how often are they used? Micro.blog spends a silly amount of time just downloading all the custom emoji from Mastodon instances so they can be displayed correctly. Currently 1 million custom emoji from 4000 servers. 🤪
For a while (years!) we’ve had both ActivityPub support in Micro.blog and cross-posting to Mastodon. ActivityPub is best if you want people on the fediverse to follow your Micro.blog account directly. No need to maintain a Mastodon account. Cross-posting is good if you want to keep a separate Mastodon account, but still post first to your own blog.
This week we’ve rolled out two significant improvements to Mastodon cross-posting. The first is support for bringing Mastodon replies back into Micro.blog. When your blog post is cross-posted to Mastodon, we’ll also routinely check for replies to those posts via the Mastodon API, even if you aren’t using ActivityPub. Those replies will be integrated into the Micro.blog timeline and available in the Mentions section.
This makes Micro.blog an even better universal timeline with access to multiple services. Check for replies in one place, on Micro.blog, and then only occasionally hop over to other services. You can reply to posts directly in Micro.blog and those replies will also be copied back to Mastodon.
There’s also a new set of filter buttons when there are replies. If the Mentions section gets cluttered, click the buttons to only show replies from either Micro.blog, Mastodon, or Bluesky.
All of this works with Bluesky. When you get a reply from Bluesky, it will show up in Micro.blog. If you reply to the Bluesky user, your reply will be copied back to Bluesky too.
These changes continue our goal of having the best integration with as many other platforms on the open web as possible. Happy blogging!
Substack’s RSS feeds are a disaster. It’s like the programmers never once looked at the XML output. You could say it doesn’t matter, but feeds and HTML that are cleaner and more readable are also usually faster to process and do something useful with.
Good post by Allen Pike about Apple Intelligence. On-device AI is great for notification summaries, but falls short for much of the rest:
While an underpowered-but-automatic notification summary can be better than nothing, there isn’t a lot of purpose to an underpowered image generation app. You can tell from the name that Apple knows “Image Playground” is, at best, a toy.
Apple is a little bit trapped with their AI strategy. For some things they can’t be competitive with OpenAI and Anthropic. If I was Apple, I would focus only on what smaller models are great at — notifications and writing tools — and then open up Siri to be extensible with frontier models.
We went to see Wicked a second time. Happy to confirm that it wasn’t my imagination: they did, in fact, nail the film adaptation. Great crowd in the theater tonight too. 🧹
Alan Jacobs responds to posts from Ted Gioia, Sam Kahn, and others about Substack
It is of course the blog, which preceded Substack by more than two decades, that “releases founts of creativity” etc. Kahn’s argument is not an argument for Substack at all, but rather an argument for blogging.
Realized after posting this yesterday that I was trying to be too clever. I had thought it would work either taken literally or if recognized, but it mostly fell flat. Don’t read too much into it. For completeness here’s the Jack Dorsey tweet.
Mozart’s Coffee is already reserving spots for their Christmas lights, so next week’s IndieWeb Meetup will be at Radio Coffee & Beer instead. Wednesday, 7pm. 🎄
Austin’s IndieWeb Meetup returns next week: Wednesday, Dec 4th, 7pm at Mozart’s Coffee Radio Coffee & Beer. Everyone’s welcome to stop by for a coffee and chat about the open web. What are you working on, and what can we do to move the social web forward?
Tim Chambers blogs some more thoughts on where the social web platforms are right now:
Threads and Bluesky’s massive success of late and Mastodon’s modest success does not make Mastodon and other fediverse/activitypub offerings losers. In this case it isn’t zero-sum. Fully open, patent free, non-commercial offerings like Mastodon, etc, have different needs and lifecycles and futures not tied to VC’s or shareholders.
I don’t believe anyone should own or run Twitter, Mastodon, or Bluesky. It wants to be a public good at a protocol level, not a company. Solving for the problem of it being a company however, Jay Graber is the singular solution I trust.
This week Mark Zuckerberg met at Mar-a-Lago with a convicted criminal who is out on bail. I stopped posting to Instagram in 2017, but I keep giving Meta second chances. No more. It’s time to burn this shit to the ground and move forward with the open web. Let the past die. Kill it, if you have to.
We have a fairly large set of Micro.blog changes ready to go live. I want to deploy them now but the wiser me knows middle of Thanksgiving is a bad idea. Perhaps tonight, or I’ll push it until the morning. 🦃
There will not be a Black Friday sale for Micro.blog. No better time than right now to sign up and subscribe.
New episode of Core Int just in time to queue up for your Thanksgiving travel. We talk about my short vacation last week, working while away, dealing with bugs, Bluesky growth, and the state of the social web.
I may seem easygoing and agreeable on the surface, don’t mind a little friendly competition, but deep down… I do not like to lose.
What the heck, Austin? In the last few weeks we’ve now made two full-priced offers on houses and not gotten either one. Sigh. 🏡
Ben Werdmuller writes about the fallout from an attempt to train AI on Bluesky posts:
So the problem Bluesky is dealing with is not so much a problem with Bluesky itself or its architecture, but one that’s inherent to the web itself and the nature of building these training datasets based on publicly-available data.
I also like Tantek Çelik’s proposal to add a “no-training” flavor of Creative Commons. I blogged about that a couple months ago.
I hadn’t noticed this before. New styling for blockquotes on Mastodon. This post started on my blog: Markdown → HTML → ActivityPub → Mastodon. This version of Mastodon is probably deployed widely enough that I can drop the redundant quotes that Micro.blog adds.
This perspective rings true to me, on a platform’s decay from Steve Troughton-Smith:
Threads has the same problem all of Meta’s social media properties have: nobody really wants to be on them. That social graph may be the company’s crown jewels, but there’s a clear sense of decay, a radioactive half-life to Facebook, Instagram, et al that portends doom
I enjoyed this response article from Elizabeth Lopatto to Sam Altman’s notebook advice. “I do not rip pages out of my notebook regularly because I am not deranged.” 🤣
Three weeks since I stopped posting to Threads. I don’t miss it. If they ever actually finish the ActivityPub rollout, I’ll migrate my followers to Micro.blog and keep avoiding Meta. Your milage may vary.
Comparing ActivityPub and AT Proto is a useful exercise. It’s tempting but ultimately too simple to say that one is decentralized and one is centralized. Bluesky’s app and relay are centralized but personal hosting in Bluesky is decentralized. Mastodon’s instances are decentralized but identity within an instance is tied to that instance. This makes for an odd comparison because it’s actually easier to migrate account data in Bluesky than it is in Mastodon.
Folks have criticized Bluesky from the beginning for not adopting ActivityPub. I think it’s clear now that the Bluesky team created AT Proto because they wanted to decouple certain aspects of the protocol, allowing for a high-performance infrastructure that could replace Twitter, while maintaining the benefits of the open web around hosting and domain names. Their strategy has paid off. Bluesky is growing very quickly and is now twice as large as Mastodon.
Centralized identity is an issue, though. Most people in the fediverse are hosted on a single Mastodon instance, mastodon.social, and everyone in Bluesky is tied to a single identity provider. The team at Bluesky obviously knows this limitation, which is why they named their scheme “placeholder” and hope to have management of it adopted by a more independent, ICANN-style organization.
I mention all of this as prelude to fediverse discovery providers. Discovery providers is a proposal for an open network of servers that effectively index Mastodon servers, providing a more universal timeline and search across servers, among other potential features such as spam filtering. These servers would serve a similar purpose to Bluesky’s relay. If this model becomes popular and apps are built to depend on it, it makes aspects of Mastodon slightly less decentralized, but the trade-off is worth it. Many people do want a more realtime, complete index of posts that are flowing through the fediverse.
For years Micro.blog customers have also asked for a firehose view of blog posts. I’ve avoided it, and I’ll continue to avoid it, because it creates new problems for spam and moderation. It’s great that Bluesky and Mastodon offer their own forms of this. Not all platforms need it, though, and as Bluesky and Mastodon become busier, Micro.blog will continue to carve out a quieter, slower niche on the social web.
In Micro.blog you don’t see everything because seeing everything is overwhelming. Our approach to notifications is also pared back. Micro.blog has a simple Mentions section to see replies and @-mentions. That’s it. It does not have a Notifications section like every other network, cluttered with likes, follows, and retweets. If you’re used to the dopamine hit of seeing someone like your post, this more limited view may take some getting used to. It’s not for everyone, and that’s fine too.
If Mastodon can add a relay-like service with discovery providers, I wonder if Bluesky could add its own additional layer at the community level. In other words, something that duplicates the benefits of having many instances with a small number of users — thousands or tens of thousands of users, not millions. This could address some concerns about Bluesky depending too heavily on a single company, especially if client apps could connect directly to a community server.
Mastodon and Bluesky both have their own strengths. Because they don’t completely overlap, neither platform feels finished yet. The social web is still young enough that we can shape it, borrowing good ideas wherever we see them. Both platforms have staying power.
I’m less concerned with having a single “winning” social protocol than some people are. The web is already that protocol. Blogs and social networks can coexist, each building on open APIs and contributing what they’re good at: blogs for content ownership and voice, social networks for community. The lines will blur. Interoperability will get better. The web is finally in a good place again.
Not sure why I didn’t think of this earlier, but I realized I could install the Micro.blog browser extension (which I wrote!) to Arc from the Chrome web extensions store. Easy. I bookmark a lot of pages in Micro.blog so this saves a step.
Despite server hiccups overnight, I’m feeling refreshed and ready to tackle a couple new problems. It has been a great several days away. Heading home, will have a much-requested Mastodon integration improvement in the queue for later this week. 🏖️
I was feeling pretty good about making improvements and deploying them while on vacation… Until I woke up and realized I had broken a few things. Very sorry, Micro.blog… Bad testing on my part. Should be fixed now.
Some people asked about us not using Basecamp. We had considered dropping it for a while. A post-election DHH post also frustrated me, although I usually try to separate that from whether it’s a good, unique product, which it is. Right now the cost just doesn’t make sense for our tiny team.
We stopped using Basecamp recently, and one thing I really miss is the weekly question, asking folks what they want to work on. I found this useful even for my own planning. Something about it was better than a simple note file or to-do list.
There’s been so much new interest in cross-posting in Micro.blog, I created a special page to explain it. Best experience when it loads in large windows like a desktop browser.
I’m working on a new page for Micro.blog and having so much fun with it. It’s equal parts business marketing page and hobby art project, built natively for the web with CSS and JS.
Vincent has been quietly improving web accessibility in Micro.blog behind the scenes, and it’s bringing some other benefits such as new keyboard navigation in the timeline. More we can do here but already I really like it.
Good post on The Fediverse Report about Bluesky and decentralization. A lot of people are looking at AT Proto through fediverse-colored glasses and it’s just not the same architecture. There are different advantages and different weak points.
Rain earlier today from Hank’s. Started to get a little wet even though it was covered… Went inside shortly after this.
I’m @manton on most networks, @manton.org on Bluesky, and @manton@manton.org on the fediverse. These are all managed by Micro.blog. “Are you getting it? These are not three separate accounts… This is one place to post. And we’re calling it a blog.” 🤪
Do cross the streams! Bluesky starter packs now available to follow within Micro.blog. Here’s one in Micro.blog on the web with people who post about books. No batch follow yet, but a fun way to discover new users. An experiment that we’ll refine. You can search for a Bluesky pack URL to open it.
Hopefully this doesn’t sound too snotty but I chuckle when people seem to lecture me on how a social platform works. If you don’t know anything about me… I signed up for Twitter, built apps, and quit the platform in frustration before most people joined it. I live and breath the social web. 🤪
I crumble a little inside when I see people mention cross-posting services that copy posts to Bluesky and Mastodon with a monthly subscription that is more than the cost of Micro.blog. But that’s all they do! Or you could use Micro.blog and get the same thing and a full-featured hosted blog. 🤪
In 2018, when I added ActivityPub support to Micro.blog, I faced a choice: do I fight other “competing” platforms or do I embrace them? In hindsight that decision is obvious. I support anything that makes the web better. Twitter / X migration to Bluesky at scale makes the web better, so I’m for it.
People seem to misunderstand Bluesky. Imagine if a few years ago instead of Twitter crippling their API, they totally opened it up, and at the same time built a distributed platform where you could host your tweets on any server, with usernames tied to your own domain name. Sounds pretty great!
Micro.blog integrates with Bluesky in a few ways that people don’t know about, so I collected a summary of each feature together in a single help page. Also, new feature coming tomorrow that I’ll add to this page.
I’m so thankful for the young people who will take up the political fight from here. I’ll be 50 next year, have been obsessed with politics and progressive causes since high school. 2024 has burned me. I hardly care what happens. All I can focus on now is family and making a nice space on the web. 🇺🇸
Good feeling this morning, walking to get coffee and then fixing a couple bugs. Micro.blog does so much behind the scenes that is not obvious unless you have years of using the platform… Always something to smooth over, or expose more bits of info about what it’s doing.
I thought Mike Tyson vs. Jake Paul would be all spectacle. After watching it, I’m not sure how to feel. As a kid I went to see a fight on closed-circuit TV, a quick knockout, over while I got popcorn. That was a lifetime ago. Now he’s 58 years old and back… Like time slows down, but not enough.
We’ve got a new Core Int out today. Daniel and I talk about Apple’s Image Playground and SwiftUI.
I have another Bluesky-related feature ready to roll out in Micro.blog, but will wait until Monday. Bluesky is growing so fast, I’m sure they have their hands full, no sense in adding any extra hits to the API on a Friday afternoon.
Randomly drove by Terrible Love and had to stop. It’s a coffee shop in an old boiler room in Hyde Park. ☕️
Thanks @leo for the mention of Micro.blog on This Week in Google! Great discussion about Bluesky and other networks too.
Spotify removed the latest episode of my podcast Timetable because it used copyrighted music. True! The whole shtick of the episode was that the song Thunder Road is playing in the background while I talk. I regret nothing.
Great post by Ben Werdmuller about Bluesky’s popularity and the fediverse. To his list of what works well at Bluesky, I would add this: Bluesky usernames are domain names and millions of people are cool with it. I consider that a win for the IndieWeb.
I’ve been in a foul mood for a week. Ignoring the news, trying to keep my head down with work. But right now, feeling actual joy reading this post from the Onion about acquiring InfoWars. Amazing.
More Bluesky improvements! Fixed a couple bugs and added support for alt text for manually cross-posted blog posts. It gets the text from your blog post, of course. Here’s a screenshot of the new preview.
I have a major character flaw. Whenever I see an old abandoned building, graffiti everywhere, weeds overgrown, a for-sale sign that’s been there for an unknown number of years, I think… With a little care, that could be a beautiful bookstore.
With Bluesky hitting 15 million users, I turned my attention back to Bluesky improvements in Micro.blog today. More reliable to reply from within Micro.blog to Bluesky @-mentions, and on your Replies page it will now include a Bluesky logo link to reference the copy of your reply on Bluesky. 🦋
Love this video from Rivian about the environment. I’m a fan.
Regretting my new attempt with SwiftUI for Mac apps. My gut said stick with AppKit but I was sucked into the ease of bootstrapping a new app. Lots of paper cuts, now seriously considering wrapping NSTableView to replace List.
Walking to get coffee, a car honked at me. Not a mean “get out of the way” honk, just a friendly “it’s your turn to cross the street” honk. But it still pissed me off! Austin is not New York City. There is zero reason to honk unless a wreck is imminent. Be more patient.
For folks who read my blog via the weekly newsletter instead of via RSS, last week’s email was a rollercoaster. Starts with hope, ends with anger.
Slowly bringing more links back to the new home page, including (gasp!) a sign in link. Thanks @vincent for the updates. Still liking the more minimalist design.
I’ve updated my state parks page with today’s visit, hitting the 20th park this year. Good milestone, but a long way to go. Might plot out a trip later this year to hit a few more at once.
Finished reading: Sourdough by Robin Sloan. Enjoyed this so much. Just the book I needed this week. 📚
I recorded a new episode of Timetable today. Still angry. I need to flip the iTunes explicit bit on this one.
All of my favorite podcasts are talking about the same thing this week. Can’t listen to them. I’m making progress on some audiobooks instead.
Micro.blog does a lot. We have a handful of companion mobile apps because some things are just easier in a more focused app. That allows us to keep the main official blogging app as uncluttered as possible.
Over the next few months, I’m planning to take the next step with this approach and spin off some of the bookmark archiving, web page highlights, and related features into our app Strata. Strata is primarily about notes sync, and it can be useful even if you don’t use Micro.blog much for blogging.
By moving a few lesser-used features out of Micro.blog into their own app, it will streamline the core Micro.blog user experience. Bookmarks will be simpler. If you’re just blogging, nothing else will get in your way. But if you want the full suite of apps, each app will work together. (For example, sharing a private note to your blog.)
You may remember that earlier this year I ran a survey to gauge interest in this kind of change. I blogged about the results here. As I wrote in that post:
I asked this question because these features are great and I use them every day, but they tend to get lost in the blog-focused interface we have today. I always worry about clutter in the UI. I think moving them into a separate “product” could help with both marketing and user experience.
This is an opportunity to both simplify and expand our subscription plans. As an early heads-up, Strata is going to get its own set of pricing tiers. When the dust settles, this is how the monthly plans will look:
You can also imagine there will be a bundle that includes both Micro.blog Premium and Strata Premium with a discount.
For existing customers who are already using notes sync or bookmark archiving, you’ll get the Strata subscription included automatically for no extra charge. These plan changes will mostly be for new customers who join later.
There’s nothing new to announce for our other mobile apps: Epilogue, Sunlit, and Wavelength. They remain products in our lineup. They will always be free.
I’m still proud that while everything else in the world has gotten more expensive, the standard blog hosting plan in Micro.blog has stuck with $5/month. Having separate pricing tiers like this lets us keep the basics as inexpensive as possible, with more options to pay for additional features so Micro.blog can be a sustainable business. Thanks everyone!
Noodling with something. I’m still waffling on what form it will take if it ships. Just a static, no-text placeholder website for now: micro.one
My short-form podcast is back again! Timetable, episode 133, recorded today. It’s the best snapshot of how I’m feeling and what I want to do about it. Only 7 minutes long.
Decided today was a good day to burn the old home page to the ground and start over, for users who aren’t signed in. Embracing minimalism, calm, whimsy. Still a few things to improve… Let’s see where this goes.
“I know what I have to do now. I’ve got to keep breathing because tomorrow the sun will rise. Who knows what the tide could bring.” — Cast Away
We went to bed early last night, just as the county results for Georgia and North Carolina were starting to come in and you could see a rough picture of the electorate. I slept terribly, waking up multiple times, but never checked the news until morning. Mostly I was thinking of what I would do next.
I walked to the coffee shop. Not the closest coffee shop. Not the second-closest. A longer walk, and on the way I checked the mailbox. The new Micro.blog t-shirt had arrived. I think it turned out great.
Apparently the stock market is reacting well this morning. Fine. I plan to milk this idiotic new administration for all the financial gains and tax cuts off the backs of working people that I can. Elections have consequences, assholes. And I’ll use every penny to fight Trump, fight misinformation, fight the hellscape of mainstream social media.
I won’t dwell more on politics except to say that Democrats have lost rural America. Too many people feel left behind. Too many people still had no idea who Trump really was. Too many people have no ideology so don’t know who to blame when life is hard. Biden has done a lot of good, but it’s the kind of progress that takes years to notice.
I was inspired to vote for Kamala Harris, but it’s especially disheartening to now know we should have stuck with Joe Biden. Yes, he would have lost. Most candidates would have lost this year. But Joe was ready to take one for the team because that’s the kind of person he is. Then Kamala could’ve run in 2028 for the first time. Now that story is just another what might have been.
Loss can be a huge motivator. After my father died, I got married, had kids, and bought a house. After the 2016 election, I launched Micro.blog. After my kids moved away to college, we sold the house and downsized.
Change is part of life. Everyone will cope in their own way. Give them the space they need. For me, I’m writing this blog post, and I’m picking up in Xcode where I left off yesterday.
There is a lot to do. Let’s get to work.
Distracted myself today by fixing bugs and working on the Mac version of Strata. We’re going to slowly move more of the notes, bookmarks, and highlights functionality into Strata, to help keep Micro.blog streamlined.
There’s a nice new Micro.blog theme “mnml” by Jim Mitchell, available in the plug-in directory. Clean, minimal design.
Thank you for shining in a world that sometimes appears dark. It may seem such a small ember, but it glows like a lighthouse in the world, reminding us that we are so very far from being alone.
Speaking of voting and podcasts, I love that Lex Friedman does a daily short podcast. Here’s today’s episode. This is exactly what we had in mind when we first added podcast hosting to Micro.blog.
🎶
Freedom, freedom, I can’t move
Freedom, cut me loose
Freedom, freedom, where are you?
‘Cause I need freedom, too
I break chains all by myself
Won’t let my freedom rot in hell
Hey, I’ma keep running
‘Cause a winner don’t quit on themselves.
🇺🇸
We have a special Election Day episode of Core Intuition today: Every Four Years.
Thanks everyone who has supported Micro.blog, whether you tried it only briefly, or stuck with it for years, or came back again later to rediscover it. As the United States votes today, still no politics in Discover this week, except this one thing: go vote! 🇺🇸
Feeling a bit reflective on this election day morning. 8 years ago, I had already been working on Micro.blog, but the presidential election results pushed me to get my act together so I could hit the ground running at the beginning of the new year. January 2nd, launched the Kickstarter.
Happy Election Day, America! Went for a short walk to pick up a coffee. Beautiful cool fall day in Austin.
I still have mixed feelings about SwiftUI. Trying to give it another chance, because the first 90% is so tempting. But then the final customization of little things, just wish it was AppKit.
No matter what happens Tuesday, what a huge failure that Trump made it back on the ballot after impeachments, criminal convictions, and not accepting the last election. Ridiculous. 🇺🇸
Hi Austin! Reminder we’re resuming the IndieWeb Meetup. This coming Wednesday, Nov 6th, the day after the election, 7pm, Mozart’s Coffee.
Good guidelines from Bluesky about how they’re approaching misinformation in the final days of the presidential election. For Micro.blog, no politics will go into Discover until after the election, unless it’s non-partisan reminders to vote.
I was looking for old photos and diagrams of Robert Mueller airport and found this progression of satellite photos of Austin. Wild to watch time pass as the airport becomes the Mueller neighborhood.
Another photo from Oklahoma City a few days ago, the statues commemorating the land run of 1889. I learned a surprising amount of history from reading Boom Town. Still thinking about it.
Glad to see the return of the Day One podcast. I guess I had subscribed years ago and then they stopped doing the show, but today it popped back up in Overcast. On the new episode, Paul Mayne talks about how things have gone since the Automattic acquisition and what they might do with AI.
I’ve driven around a lot of Texas this week. Democratic candidates have raised so much money this year, would it kill them to sprinkle a little advertising in rural America? It’s a small thing, but small things win or lose elections. 🇺🇸
Finished reading: The Mountain in the Sea by Ray Nayler. This was brilliant. I may need to read it again… Sometimes my mind would wonder, thinking about the future. 📚
Between Oklahoma City and Dallas there’s a surprisingly high number of Trump “2020” billboards. Expect these might stay up for another decade until they’ve faded away. 🇺🇸
Oklahoma City loves this team. Thunder are really good right now. Still excited for the Spurs this season, just a little overmatched tonight. 🏀
Micro.blog t-shirts! Jim Mitchell realized I was never going to get around to making t-shirts, so with my blessing he’s done it: the unofficial official Micro.blog t-shirt. Just ordered one for myself. There’s a phone case too.
Here’s a silly thing I created for Halloween, a new domain name: micro.boo! 👻 It just collects posts that mention Halloween or use emoji, from Micro.blog and other sources connected to Micro.blog. Sort of a random Halloween-themed timeline. 🎃
The pandemic started to hit America in earnest just as we were wrapping up IndieWebCamp Austin 2020. If the event had been scheduled for even a couple weeks later, it would’ve been cancelled, as everything moved online to Zoom meetings. Years have passed since then. It now feels like the right time to pick up where we left off with in-person meetups.
So we’re bringing back Austin’s informal meetup for the IndieWeb. Alternatively called either Homebrew Website Club or simply IndieWeb Meetup, it’s a chance to catch up with fellow Austinites who are interested in the open web. Bloggers, developers, and designers who want a more decentralized, personal web.
We’ll meet at Mozart’s Coffee on the first Wednesday of each month. 7pm. As the weather cools off, we’ll likely be at a table outside. No big agenda, just sharing what you’re interested in, what you’ve done for your own website, thoughts on the fediverse, or discussing current tech news.
The next meeting will be November 6th. The day after the election! Assuming there aren’t post-election riots in the street, with Mozart’s Coffee ransacked and the deck reduced to a burning wooden pier floating into Lake Austin, hope to see you there.
Finished reading: Boom Town by Sam Anderson. Could not ask for a more perfect book to finish before driving up to Oklahoma City. Great mix of basketball and the history of the city going back to the founding. 📚
Turquoise Coffee Stop. Neat little coffee shop in the very small town of Chillicothe, with a sort of museum inside that reflects the memorabilia and politics of its owners.
My plan for not losing my mind as we head into election day:
🇺🇸
On the road this week. Stopped for a quick lunch and coffee at 8th Street Coffee House in Wichita Falls.
Bluesky comes up in the latest ActivityPub newsletter update from Ghost:
Another cool thing that happened last week was that we enabled a bridge to BlueSky — an alternative decentralized social network which doesn’t use ActivityPub, but instead uses its own alternative protocol.
I was confused on my first reading of this. They’ve enabled Brid.gy, not built anything specific for Ghost. Also, I’m sorry this is so nitpicky, but no one in the fediverse seems to be able to spell Bluesky correctly.
On the latest episode of Core Int, we talk about updates we might see to MacBooks, the recent funding and growth of Bluesky, and what it means to be rich.
At first I wasn’t going to cancel my Washington Post subscription… but I did. There’s not really a better way to send a message to Jeff Bezos that this was a bad call so close to the election. It’s not like a small company where you can send an email and have your voice heard. 🇺🇸
I voted today. Triple-checked my ballot. Still nervous but feels good to have the end of the election in sight. This is one for the history books. 🇺🇸
From an article and discussion with the Humane founders, Imran Chaudhri and Bethany Bongiorno, from Om Malik’s new site Crazy Stupid Tech:
“We had to stand up and accept the critique and feedback in front of our team, in front of the public, and just continue to push forward every single day,” Bongiorno said. “And it was really hard. Hard and painful. You’re right, it is really hard to get a second chance.”
I still think the Ai Pin was too ambitious for 1.0. I’d like to see a slimmed down version, no laser, just solve a couple small problems with voice.
Got a really nice response to our quick one-day sale, 25% off for a year if you upgrade to Micro.blog Premium or Micro.blog Family. I’m going to keep the sale for another 24 hours for folks in other time zones who missed it. 🏷️
Micro.blog will not endorse a candidate for president. But I will, because these are the kind of things I post on my blog. Kamala Harris, for the people. 🇺🇸
I don’t know what’s going on over at The Washington Post but the timing is terrible. We do not need any last-minute distractions. 📰
Ben Thompson’s interview with Marc Benioff is kind of wild. I had mostly ignored Salesforce until now. Worth a listen.
Not sure what to think about this video from Josh Miller about Arc not going anywhere. I just started using it a couple weeks ago! Confused messaging because now the app feels obsoleted, which I don’t think is their intention.
Sale! Today only, upgrade to the Micro.blog Premium or Family plan and get 25% off for the next year. Create up to 5 blogs, video hosting, and more. 🏷️
It’s odd how many developers in the fediverse don’t know how Bluesky works. I’ve made it my business to understand a little bit about all platforms, going back 30 years of building for the web. Product design is then finding the right way to put the pieces together.
OpenAI’s Orion model may be released before the end of the year, according to The Verge:
Unlike the release of OpenAI’s last two models, GPT-4o and o1, Orion won’t initially be released widely through ChatGPT. Instead, OpenAI is planning to grant access first to companies it works closely with in order for them to build their own products and features, according to a source familiar with the plan.
My first reading of this is that the model is too powerful to just let anyone use right now. But maybe it’s also too expensive. I wonder if it’ll be available from the API.
Added a help page to describe how configuring Bluesky handles in Micro.blog works. Super easy, almost nothing to do.
It’s probably not well known that when you enable Bluesky in Micro.blog, it also enables your blog domain name to be used as your Bluesky handle. In fact it’s so hidden a feature that I forgot if I had ever implemented this and had to double-check today.
Interesting contrast today in how two newspapers have covered the same story. I cancelled my NYT subscription this year, but I happen to see the news item pop up in my timeline.
Biden Administration Outlines Government ‘Guardrails’ for A.I. Tools
A national security memorandum detailed how agencies should streamline operations with artificial intelligence safely.
White House orders Pentagon and intel agencies to increase use of AI
The Biden administration is under pressure to speed up AI development while also safeguarding against potential risks associated with the technology.
Despite the very different headlines, the content of both articles is similar. For some reason the NYT twice quotes “guardrails”, but it appears to be their word, not a quote attributed to a source. Not sure what to make of this difference in how the articles are pitched.
We rolled out a new zoom for photos on the web. Thanks @vincent for working on this! It turned out really well. Here’s a quick demo video.
As AI gets better at helping with coding, I think it’s going to feel similar to the productivity boost going from assembly language to Pascal or C. Or maybe from C to Ruby. Development becomes more about orchestrating lots of modules that AI handles the busywork implementation for.
I don’t really understand what consistency models are, but nice to see OpenAI sticking to their bizarre lowercase letter naming. 4o, o1, and now sCM.
Back in 1994, I would never have guessed that the computing future 30 years later would still have so many modal dialog boxes.
Jason Fried says version 1 is for you:
v1 is for us. No one else. Others will use it, many will resonate with it, but ultimately, v1 is ours. It’s sacred ground. There’s an eternity to change, tweak, modify, grow, expand, and adjust for everyone else, but there’s only a fixed amount of time to make that perfect version 1 for us.
The only thing I’d add is that sometimes v2 and v3 are just for us too. Micro.blog does a lot of things and the only way it works is that I don’t add features I won’t use myself.
Glass houses, throwing stones, etc. I gripe about ActivityPub’s chattiness but just fixed a bug that caused way too many activities to be sent out for some posts in external feeds, as if they had been edited. Need better tools to peer into the system to see what it’s actually doing.
Whenever I search for recipes and get back so much search-optimized filler text and ads, explaining the background of every ingredient instead of just showing me the recipe, I want to start my own recipe blog. Today I actually registered a domain for this. Have a recipe to share? I can invite you.
The weakest link in Micro.blog’s server infrastructure remains our two Redis servers, which often get up to the breaking point of memory usage. That blew up today and I just finished restoring it. 48 GB memory is not enough, but I’m hesitant to do another upgrade… Need to trim the bloat instead.
The background queue for ActivityPub-related tasks in Micro.blog seems to have accumulated 5 million jobs overnight. Some replies to the fediverse will be delayed until I sort out what happened or it eventually catches up.
Good interview from Joanna Stern with Craig Federighi. I’ve got nitpicks with Apple Intelligence in iOS 18.1, but listening to Craig it’s pretty easy to nod along with Apple’s strategy.
I would pay for a third-party API that works like Apple’s private cloud compute. For the foreseeable future, AI is just going to be better in the cloud. Would be great to take advantage of that with fewer privacy trade-offs.
I may have to visit this massive solar farm next time I’m in the area, about an hour outside Austin. 1.3 million solar panels. Made in America so there’s a tax credit too under the Inflation Reduction Act. (Thanks Biden!)
Really good point from Tim Walz in this clip today:
Donald Trump has already promised that he’d put Elon in charge of government regulations that oversee the businesses that Elon runs. […] Donald Trump, in front of the eyes of the American public, is promising corruption.
Because Strata notes are end-to-end encrypted, I’ve gotta rethink how I might build features that are usually server-based. Even simple things like search have to be on the client. If we ship any features that temporarily store data in plaintext, going to make this opt-in and as clear as possible.
Everyone is confused by OpenAI’s product names — GPT 4o and o1 — but I’m also amused that Anthropic’s upgraded Claude 3.5 Sonnet is still called 3.5, not 3.6. Why even have version numbers? 🤪 Also very interesting Rabbit-esque “computer use” feature.
Thanks Aaron Ross Powell for the blog post about Micro.blog! On cross-posting:
But the magic, and the reason Micro.blog and services like it are the way the social web ought to work, comes in what it calls “Sources.” These are other platforms, including many social media platforms, Micro.blog can automatically syndicate everything you write to. And for many of them, it can pull back in replies so you can have a conversation without leaving the Micro.blog interface.
Something very significant is happening in Texas with reviewing death row inmate Robert Roberson’s trial. He was supposed to be executed last week. Abbot and Paxton are of course useless, but the legislature is trying to make it right. This article in the Texas Tribune is a good place to start.
Early voting started today! We went to our location but the line was insanely long. Gonna try again tomorrow. Hopefully a good sign for turnout. 🇺🇸
I’m using iOS App Intents for the first time as a developer. My gut feeling when this was all introduced was that it was way too limited to create an extensible, universal Siri that works in lots of contexts. I still believe that. Some cool things are possible, though.
When I get a questionable notification summary in the iOS 18.1 beta, I run the original text through OpenAI to compare. It’s usually better. Certainly not a deal-breaker, but the thing about AI is it needs to actually be good or you lose the illusion.
Ben Werdmuller has several ideas for building on the fediverse, including add-on services, SDKs, rebuilding his platform Known, and a “fediverse VIP” for professionals.
Sunny day in Austin. Finally got the adapter for my new solar panel so I can actually test everything. Getting about 60 watts. Not a lot but plenty to keep my Jackery in the car topped off for charging gadgets.
Love this episode of The Vergecast about a YouTuber opening a coffee shop. I would also like to open a coffee shop / bookstore one day… I browse commercial real estate listing way too often.
Mimi Uploader is now free for the rest of the year. Great opportunity to do more photo-blogging on Micro.blog.
Updated my Texas state parks page, now up to 17 out of 88 parks. Need to get back on schedule to have any hope of finishing this challenge within a few years.
Eisenhower State Park near my campsite this morning. I had so much fun last night for the Honda Element meetup! Lots of cool cars, all different.
Posted a new Core Intuition. This week we talk about trademarks… with Micro.blog, not WordPress. When to call a lawyer and other decisions of running a small business.
Traveling today, but carved out a nice morning in Dallas to fix and deploy several bugs. Loving this weather too.
Great post from Cory Doctorow on using RSS:
Using RSS is a chance to visit a utopian future in which the platforms have no power, and all power is vested in publishers, who get to decide what to publish, and in readers, who have total control over what they read and how, without leaking any personal information through the simple act of reading.
It’s weird that we still have to tell people about RSS in 2024, but that’s just how it is.
I ported another Hugo theme over to Micro.blog. It’s called Soho, based on the Hyde theme. Just needed a little adapting for microblog posts. Available for previewing in the plug-in directory.
I’m less than a week into using Arc on the Mac, and already I’m so used to it that when I hop into Safari, everything is a little off.
The new color Kindle looks really nice. I don’t read comics on the Kindle or make highlights much, so the only advantage for color would be book covers… Almost worth it. I bet those look great.
I missed the beginning of the Texas debate but from what I saw in the second half, Colin Allred did really well. Ted Cruz is so obnoxious. Always a tough race here, though. 🇺🇸
I recorded a quick video demo of the new theme preview in Micro.blog. This is such an obvious feature but it was sort of tricky to do before because of how Micro.blog is architected with static-site generation. Working pretty well so far!
Good glass-half-full analysis from Jason Snell about the new iPad mini with A17 Pro:
…this model feels more like a holding action that gets the iPad mini onto Apple Intelligence… while also using up some amount of chip excess. If I had to predict when we’ll see a next-next-generation iPad mini, I think I’d guess that it will probably be sooner than three years from now.
Things have accelerated since my post about Automattic and WP Engine a couple weeks ago. I’m writing this follow-up post not to pick sides, but because it feels right to blog about something this significant happening in the website hosting world.
Banning WP Engine from WordPress.org sort of cascaded to other problems. The popular Advanced Custom Fields plugin maintained by WP Engine was forked to Secure Custom Fields. David Heinemeier Hansson blogged about open source licensing.
Matt Mullenweg responded to DHH with personal attacks, but he has since removed the post and apologized, recognizing that he had crossed a line:
I’ve been attacked so much the past few days; the most vicious, personal, hateful words poisoned my brain, and the original version of this post was mean. I am so sorry. I shouldn’t let this stuff get to me, but it clearly did, and I took it out on DHH, who, while I disagree with him on several points, isn’t the actual villain in this story: it’s WP Engine and Silver Lake.
I also noticed DHH’s reply on Twitter X to the original post:
I don’t think people are irredeemable, and I know how stressful it can be to be under siege. But you have to stop digging to get out of a hole.
I’ve never run a company the size of 37signals or Automattic. I can relate a little, though, to feeling you’re being attacked unfairly from multiple sides. When it’s your company, your name, and you’ve invested more or less everything in making it work.
Years ago someone left Micro.blog and at the time I genuinely thought it was going to hurt our business. I was losing sleep, worried that what I had created was too fragile. Even a single person can have a big impact on a tiny company if what that person says resonates with others. Every subscription is precious. In that case years ago, I chose to stay quiet in public but I sent a few private emails that in hindsight I probably shouldn’t have.
(It wasn’t really that bad. I try to avoid sending anything in email that I would regret if it was made public.)
Back to Matt, he has provided such steady leadership in the community for years that it makes the current chaos seem even more dramatic. Because Matt is putting out fires, I’m not sure he’s had time to take a step away, look at the situation with fresh eyes, and plan a long-term strategy to resolve this.
I liked Brandon Kraft’s blog post about how easily conflated all the terms and trademarks have become:
It pains me that the last few weeks have conflated everything. Automattic has the exclusive trademark license for commercial usage of “WordPress.” The license is a fact, whether you think it is good, bad, or neutral. Automattic allowing in-kind donations (e.g., sponsored time) as consideration for a sublicense seems fine.
Automattic vs. WP Engine is such a newsworthy event that many people are chiming in without understanding how all the pieces fit together. It’s the social media outrage machine, amplifying whatever the accepted narrative is.
I’ve heard a couple people say — including this post today from Ben Werdmuller — that WP Engine should fork WordPress so they have something they can control. Probably so, but that also gets to the root of the problem: WordPress is literally in WP Engine’s name! It’s not exactly like if my platform was named Hugo.blog instead of Micro.blog, because we use Hugo behind the scenes, but it’s not far from that either.
Names are powerful. Matt effectively owns WordPress because he owns the name. The community is more intangible, owned by no one. It’s hard to grasp even what the community is because it’s not a single thing, it’s thousands of people with different backgrounds and goals. There’s no question that this saga has hurt the community, but like Matt’s apology post, I don’t think it is hurt beyond repair.
A few more notes about the new theme preview feature at the help site.
New iPad Mini with the A17 Pro and AI looks good. At first I was surprised by the $500 price, thought for sure the previous model was less expensive, but no. I’m still enjoying the iPhone Pro Max as a mini mini iPad, but I’m already used to the iPhone size, so it no longer feels very big.
New way to preview themes, from the news blog:
I’m going to try to record a video demo of this later. It’s a big change.
Working with the Stripe API this morning, trying to make things a little better. It hurts to look at the dashboard and see all the failed payments. MRR is so much higher than actual revenue. 💔
Jeremy Keith built a static archive of his site The Session:
I wanted to reduce the dependencies on each page to as close to zero as I could. All the CSS is embedded in the the page. Likewise with most of the JavaScript (you’ll still need an internet connection to get audio playback and dynamic maps). This keeps the individual pages nice and self-contained. That means they can be shared around (as an email attachment, for example).
Not everyone can code something like this, so more web platforms should have this as a built-in feature. Micro.blog has multiple exports with just plain HTML.
Pure blogging is “blogging” because you have something to say. To me, that is a pure blogger. Any other explanation of blogging “is just the traditional idea of media,” meant for an audience and for reach.
Jamie Zawinski on the 30-year anniversary of the Netscape 0.9 release:
According to my notes, it went live shortly after midnight on Oct 13, 1994. We sat in the conference room in the dark and listened to different sound effects fired for each different platform that was downloaded. At some point late that night I wandered off and wrote the first version of the page that loaded when you pressed the “What’s Cool” button in the toolbar.
Tuned in to the SpaceX livestream in time to see the Starship splashdown. Watched the recap of catching the booster too. Incredible. Looks like something that might be an AI-generated video, but it’s real. 🚀
It’s time for another update in my Honda Element blog post series. After my last road trip, I decided to scrap the rooftop box. Even though the extra storage was great, I was suspicious it was dragging too much on the highway and killing my gas milage. In its place I’ve mounted a much slimmer roof basket, which I also thought would be perfect for helping add a solar panel to the roof in a clean, non-destructive way.
So far I really like it. Here are a few photos:
I bolted the panel to the roof basket rods, and it seems mostly secure, but it’s not perfect. Of the four mount points, I could only get three actually aligned in a workable way. I’m hoping to adjust how it’s attached and add a few extra zip ties as insurance.
Not really shown, I’m winding the cable down into the back of the car, where I can charge one of my portable batteries. This is sort of a luxury I don’t need, to be honest, but it’s fun and you can never have too much electricity while traveling. Also still need to get something to stick the cable to the roof better.
The basket is the Thule Canyon XT Cargo Basket. The panel is the Jackery SolarSaga 100 Prime. It’s purposefully off-center because I still need to reattach my weBoost antenna.
The Internet Archive is still down after an attack. A backup of the web is too important to only have one copy of. This is why we do so much archiving inside Micro.blog (for Premium). Everything you link to in a blog post is archived, with images and CSS. Helps distribute the work just a little.
Considering a radical redesign of the Micro.blog home page. The current design by @vincent has served us well for nearly two years now. Maybe time to shake things up.
Now that we’ve got Threads cross-posting for everyone, it was time to clean up a few related things. Today I added some better styling for showing categories and cross-post services. Plus, you can finally edit the cross-posting for a draft!
Anthropic CEO Dario Amodei has written a long essay about powerful AI. I haven’t even finished reading it and it has already blown my mind a few times over:
To summarize the above, my basic prediction is that AI-enabled biology and medicine will allow us to compress the progress that human biologists would have achieved over the next 50-100 years into 5-10 years. I’ll refer to this as the “compressed 21st century”: the idea that after powerful AI is developed, we will in a few years make all the progress in biology and medicine that we would have made in the whole 21st century.
He also addresses finding meaning in work. Many people are rightly concerned about AI replacing their work — and this concern combined with energy and climate issues fuel much of the pushback against AI — but this has never bothered me very much. There will always be tasks that only humans are best suited for.
On the question of meaning, I think it is very likely a mistake to believe that tasks you undertake are meaningless simply because an AI could do them better. Most people are not the best in the world at anything, and it doesn’t seem to bother them particularly much. Of course today they can still contribute through comparative advantage, and may derive meaning from the economic value they produce, but people also greatly enjoy activities that produce no economic value.
There is too much in the essay to even summarize. While it feels complementary to Sam Altman’s post, The Intelligence Age, Dario’s essay is much more detailed. Anthropic seems in good hands.
When we recorded the latest Core Int, I hadn’t yet watched Money Electric on HBO. Just watched it tonight and it was excellent. I still have mixed feelings about digging up Satoshi’s identity, but it was very convincing.
We were late with the last episode of Core Int, so it’s basically two episodes this week. On the new show today, we talk about Daniel’s latest updates to Black Ink, version numbers, doing things the right way, tracking down Bitcoin’s Satoshi Nakamoto, and AI energy use.
I’ve decided to give Arc for Mac a real shot, going all-in as my default browser. I usually use Safari and have no complaints with it. Nice to see Arc trying some new things, though. Also liked Chris Messina’s post about where Arc 2.0 might be going.
As soon as Threads released their early documentation for the Threads API months ago, we dropped everything we were doing and prototyped it in Micro.blog. We had a slow road to getting approved by Meta, but I’m happy to announce that automatic cross-posting from your blog to Threads is now enabled for everyone on Micro.blog. Thanks to all the many Micro.blog users who tried this in beta form before we could officially roll it out.
To enable it, click on Sources in Micro.blog on the web, then click Add Threads. Whenever you post to your blog, a copy of your post will be formatted and sent to Threads too. There’s nothing extra to do while posting. You can optionally disable Threads for a specific blog post if you want to skip cross-posting it, or if you want to manually post it.
Micro.blog is unique among most web platforms in that the timeline and cross-posting is actually driven completely by RSS and JSON Feed. This means that cross-posting from Micro.blog to Threads works for any blog, hosted anywhere. You could enable Threads cross-posting for WordPress, Ghost, Write.as, or even a static site using Hugo.
And while you’re trying it out, we also support cross-posting to Mastodon, Bluesky, Nostr, and another half dozen services.
Enjoy! Happy blogging.
NPR has reviewed internal documents from TikTok:
For the first time, internal TikTok communications have been made public that show a company unconcerned with the harms the app poses for American teenagers. This is despite its own research validating many child safety concerns.
We’ve known for a long time that the addictive nature of the infinite timeline pioneered by TikTok was causing problems for teenagers. But this is a whole new thing:
One internal report that analyzed TikTok’s main video feed saw “a high volume of … not attractive subjects” were filling everyone’s app. In response, Kentucky investigators found that TikTok retooled its algorithm to amplify users the company viewed as beautiful.
Shut it down. ByteDance has until January to divest the app and I have no sympathy for a delay. It needs new leadership.
Trying a new coffee place. Cafe at the Loren with a nice view across Riverside. Where I’m sitting used to be a Taco Cabana. ☕️
Don’t sleep on the “Custom home page” plug-in for Micro.blog if you need something simple for an extra site. I use it for standalone, single-page websites with a little HTML and CSS (or even JS).
Slack can sometimes be overwhelming. I make it work by limiting myself to about 3 channels in the Mac and iOS apps. Others can be viewed on the web as needed. Also, I mute almost everything, even channels I care about. The only flaw is that @here bypasses mutes, which I don’t think it should.
Threads cross-posting is finally rolling out more broadly for Micro.blog folks. Sorry if I didn’t get to your request for the beta earlier. I’m catching up and replying to everyone who asked about it in email.
I’m not interested in a Tesla, or any new car, but I watched the robotaxi event because it felt like it was going to be a spectacle. I do think self-driving will be safer than human drivers. I’m not on board with humanoid robots, though. AI should be confined to software and small gadgets only.
Thinking more about this blog post from Nick Radcliffe about effectively rebranding Micro.blog. I want to turn Micro.blog into a sort of bundle (think Apple One) because it does several things. But I don’t know if I can give up the “micro” name as much as redefine it. Small name. Big features. 🙂
It’s less than a month until election day. I believe Kamala Harris is going to win. Knock on wood, many things are breaking her way in the final weeks of the campaign, in a way that they did not for Hillary Clinton when she was also on her way to winning the presidency.
However, this assumes that we get out and vote. It assumes we don’t trip at the finish line over nitpicky perfect is the enemy of the good complaints that discourage Democrats and keep them home on election day. Let’s remember: Donald Trump’s base is still massive.
Every once in a while, Trump says something that is true. During one of the debates and at his otherwise incoherent rally speeches, he said that he received millions of more votes in 2020 than he did in 2016, more votes than any incumbent president has before. That’s accurate. Even though Hillary Clinton won the popular vote in 2016, Trump’s vote total in 2020 (74 million votes!) easily surpassed that too.
Trump leaves out of his speeches that someone else received even more votes. That’s why Joe Biden is president.
But getting 74 million votes is no small thing. Despite felony convictions, impeachments, and general incompetence, Trump will have widespread support again. Misinformation online might be worse now than ever. He could win. Democratic turnout must be up to the challenge.
Making progress on enabling Threads cross-posting for everyone in Micro.blog. Meta approved the app this week, now waiting for them to approve the business account. It has been slow going because after each rejection I have to work on something else to clear my head.
It will always be valuable to know a programming language inside and out, but AI is erasing old headaches of context switching between platforms. Code in your favorite language, have AI port it to another language, review and tweak the results. In the future, we may develop largely in pseudo code.
Nice update to Mimi for Micro.blog to batch generate alt text for a bunch of photos at once.
Most mornings while eating breakfast at home, I flip between Morning Joe and CNN. Today, too many ads, so watched some of Good Morning America and they really got me with that story about a teacher. Eyes might be watering a little. The show producers know their craft.
New Core Int just published. We talk about Meta’s Orion prototype, Daniel trying to remember his Apple Vision Pro password, and more about the future of computers that we put on our face.
As usual I’m working on a few different things in parallel. Server bug fixes, mobile app updates, and something new… Sneak peek in this screenshot. Can’t share more for now, it’s too early! But I love the potential.
Upgraded to macOS Sequoia. iPhone Mirroring is fascinating. It’s better and more native-y for clicks and scrolling than using the iOS simulator.
Interesting heads-up from Gareth Edwards that .io might be going away:
Once this treaty is signed, the British Indian Ocean Territory will cease to exist. Various international bodies will update their records. In particular, the International Standard for Organization (ISO) will remove country code “IO” from its specification.
I will be surprised if there isn’t a special case for .io renewals because of how widespread it is. I have a few registrations myself.
There are stories about both Trump and Biden in this overview of Bob Woodward’s new book War, but the headline is definitely this Covid intro:
As the coronavirus tore through the world in 2020, and the United States and other countries confronted a shortage of tests designed to detect the illness, then-President Donald Trump secretly sent coveted tests to Russian President Vladimir Putin for his personal use.
Again and again Trump shows that he’s not on our side. And yet the election is close. 🇺🇸
This is an only slightly exaggerated story that I see play out again and again from customers:
Two years later.:
We’re here when you’re ready. 🤪
I’m making light of it, but this does actually happen, and it points to how misunderstood Micro.blog is. The point is not to replace Twitter, but to have a space that is rooted in the open web, with just the right balance between blogging at your own domain name and being social with others. Everything we do is to encourage both microblogging and long-form writing to be interwoven, so you can move between different formats without losing the good parts about having your own blog.
It is not for everyone. That’s fine! But I’m confident there are many people who want this. Micro.blog is still the only platform of its kind.
Happy to get Micro.blog for iOS version 3.3 released. Includes the under-the-hood navigation rewrite that @vincent worked on, new icons for iOS 18, and several other improvements. Much better in lots of small ways.
Odd dream last night. I wrote an April Fool’s press release for Micro.blog announcing full-length blog posts, note taking, audio transcripts, newsletters, reading goals, and bookmarks… Everyone was like “Ha, would be funny if Micro.blog did all of that” and I was like “No, it does, that’s the joke.”
Dusted off my Rabbit R1 after listening to the latest interview with Jesse Lyu on Decoder. It needed a bunch of software updates. Even though I haven’t used it in a while, no regrets buying it… It’s a neat device and their vision for AI still has potential.
This ruling for Epic vs. Google goes way further than the concessions Apple has had to make for the EU. From The Verge:
Google will have to distribute rival third-party app stores within Google Play, and it must give rival third-party app stores access to the full catalog of Google Play apps, unless developers opt out individually.
Perfect example of how Apple and Google not opening up app distribution years ago will ultimately cost them much more now.
Dave Winer celebrating 30 years of blogging today:
Every time you post something you’re proud of on a social media site, how about taking a moment and posting it to your blog too. And while there, if appropriate, link to something from some part of your post, even though the social media sites don’t support linking, the web is still there and it still does.
One year since the Hamas attack on Israel. Hostages still not released. Peace still far off. Gaza still in ruin. At the height of the protests, I wrote this blog post. I stand by it, but of course I have new thoughts today. Not gonna blog, so the old post will have to serve as a snapshot of 2024.
Less than a month until election day. The deadline to register to vote in Texas is today. Similar for other states, so now is the time for folks who have been procrastinating. 🇺🇸
We saw Megalopolis yesterday and I’m still trying to make sense of it. Feels like there were some interesting ideas, and a couple beautiful scenes, but it didn’t come together as a coherent movie for me. Glad I saw it just because it’s different. 🍿
Finished Rings of Power season 2. I enjoyed it as long as I don’t hold it to the high standard of how a perfect adaptation looks in my mind. Hobbits and dwarves were the strongest this season for me. Elves dialogue is always overly dramatic. Still all the money on screen, some stunning sequences. 📺
The controversy with WordPress continues. In fact, it’s escalating as WP Engine has filed a lawsuit against Automattic, and even some employees inside Automattic are frustrated with Matt Mullenweg’s leadership. Matt blogged about offering Automattic employees a chance to leave if they disagreed with his actions against WP Engine:
So we decided to design the most generous buy-out package possible, we called it an Alignment Offer: if you resigned before 20:00 UTC on Thursday, October 3, 2024, you would receive $30,000 or six months of salary, whichever is higher.
This is indeed very generous. It’s not often you get a chance to leave a job and walk away with six months of salary. For many people that might be a down payment on a new house, or enough money to pay off debt, or time to travel before figuring out what to do next.
Ultimately 8% of employees took the offer. For the rest, I expect what Jeffrey Zeldman blogged about will resonate:
…when I chose to move in-house, I knew there was only one house that would suit me. In nearly six years at Automattic, I’ve been able to do work that mattered to me and helped others, and I know that the best is yet to come.
A few years ago, when there was drama at 37signals over the policy to no longer discuss politics at work, the founders offered a similar incentive to leave the company. Jason Fried originally announced the decision about politics in a blog post this way:
Today’s social and political waters are especially choppy. Sensitivities are at 11, and every discussion remotely related to politics, advocacy, or society at large quickly spins away from pleasant. You shouldn’t have to wonder if staying out of it means you’re complicit, or wading into it means you’re a target. These are difficult enough waters to navigate in life, but significantly more so at work. It’s become too much. It’s a major distraction. It saps our energy, and redirects our dialog towards dark places. It’s not healthy, it hasn’t served us well.
After the issues spiraled inside the company, David Heinemeier Hansson blogged about the severance offer to employees:
Yesterday, we offered everyone at Basecamp an option of a severance package worth up to six months salary for those who’ve been with the company over three years, and three months salary for those at the company less than that. No hard feelings, no questions asked. For those who cannot see a future at Basecamp under this new direction, we’ll help them in every which way we can to land somewhere else.
At the time, some folks thought this was the end of Basecamp / 37signals. More people would surely resign, the founders' reputation wouldn’t recover, and they’d have trouble hiring. Three years later, it’s clear that hasn’t happened. The company is larger than it was before, and the founders have said in hindsight it was one of the best decisions they’ve made.
Nevertheless, for many people the event has left a bad taste in their mouth. I still hear from Micro.blog customers who don’t like when I link to Jason Fried’s blog, or when I mention that we use Basecamp internally. As Jane Austen fans will know: “My good opinion once lost is lost forever.” This is understandable. I feel the same way about some companies.
Why do I bring all this old 37signals news up? I think there are parallels with Matt Mullenweg today. For many people in the WordPress community, they won’t quickly forget how he blew everything up, wrecking what seemed to be a friendly competitive spirit inside the WordPress ecosystem, with bloggers, developers, volunteers, and hosting companies all working toward furthering WordPress’s mission to democratize publishing.
How it plays out from here may largely hinge on whether Automattic or WP Engine is successful in the lawsuit. Automattic has brought on a big-time lawyer: Neal Katyal, who was Acting Solicitor General during the Obama administration, and who admittedly I mostly know from his guest appearances on MSNBC. In a post from Automattic, Neal is quoted:
I stayed up last night reading WP Engine’s Complaint, trying to find any merit anywhere to it. The whole thing is meritless, and we look forward to the federal court’s consideration of their lawsuit.
I think trademark law may be on Matt’s side. The private texts from Matt to WP Engine look quite damning, though. I also wonder how the case will be influenced by Automattic letting most companies freely use the WordPress mark with few restrictions for years.
If Automattic wins, or they can settle the lawsuit, the community will recover. Calls for Matt to resign are unwarranted. WordPress exists at its current level of success in large part because of him. His vision has also provided a good home for Tumblr and Day One. I’m not going to toss all that aside because he picked a fight with a private equity firm that charges a lot for hosting.
As I discussed with Daniel on Core Intuition last week, one good thing to come out of this is that it clarifies how Automattic, the WordPress Foundation, and the wordpress.org website all fit together. Perhaps in the future the WordPress Foundation will have more direct control over all the non-profit pieces of the ecosystem.
Get out the popcorn as we watch this drama unfold! But also let’s remember there are real people here, trying to do what they think is right. Matt has been blogging more than ever. He’s been sitting for interviews. While I’m sure the lawyers discourage it, I’d like to see the same human face on the WP Engine side. I don’t think we’ve had that since Jason Cohen handed over his company to new owners.
Experimenting with OpenAI’s new canvas feature. Pretty incredible what it can do. There are a lot of nice UI touches too to help show progress, like how it highlights and rewrites text.
Multiple confirmations from folks that the black screen crashes (reboots?) are an 18.1 beta problem. Without evidence, my gut says this is Apple Intelligence hitting the 8 GB RAM ceiling for local models. It again makes me question Apple not moving more AI to the cloud.
John Gruber on the news that Starlink will offer free service to Hurricane Helene disaster areas:
It’s hard to overstate how differently Elon Musk would be perceived if he weren’t a whackjob on political and cultural issues.
If Elon had never bought Twitter, never tweeted even, he’d still be considered a visionary leader comparable to Steve Jobs, maybe over time even greater. Instead he destroyed his reputation for nothing.
Overall the iPhone 16 Pro Max is amazing. A couple minor gripes:
I don’t like captchas and will never force them on my customers. With AI, captchas will become increasingly useless anyway. See also, John Mulaney: “I’ve devised a question no robot could ever answer…Which of these pictures does not have a stop sign in it?”
Here’s what the new prompt for email newsletter subscriptions looks like for your blog. The extra step lets us generate some random values hidden from real users, inspired by this post from Jeremy Keith, to make it a tiny bit harder for bots. Could do more later now that this is in place.
Think I figured out my high bounce and complaint rate for email sending. Spammers are trying to (probably accidentally) sign up to customer’s newsletters with fake email addresses. Working on making it harder for bots to navigate this.
We just shipped an update to Strata for iOS, our private notes app for Micro.blog, with Android to follow later in the week. This adds a QR code scanning option to get your secret key moved over from another platform. For Apple folks, it also syncs the key via iCloud, but nice to have options.
Thinking about the difference between companies who use AI to make existing features better and companies who try to rethink everything. I’ve been using the iOS 18.1 beta for a while. I don’t think Apple really believes in AI the way OpenAI, Anthropic, or Microsoft do. See Microsoft’s memo from Mustafa Suleyman:
This is a new era of technology that doesn’t just “solve problems”, it’s there to support you, teach you, help you. In this sense, Copilots really are different to that last wave of the web and mobile. This is the beginning of a fundamental shift in what’s possible for all of us.
Just in case folks missed the other notices about this, I’m running a big server upgrade in 30 minutes. Wish I could keep Micro.blog fully up during the upgrade but it’s going to be smoother and hopefully faster to just rip the bandaid off. Seeya on the other side.
If I could give advice to Tim Walz for tonight’s debate: just be yourself. Don’t stress about scoring points. Don’t debate as if you went to Yale Law School. Remind people how unhinged Trump has become, and show that you’re competent, empathetic, and ready. 🇺🇸
Spent a bunch of time in encryption land, debugging an issue with the next Strata update. Almost shocked that I eventually solved it. I was starting to lose my mind watching scrambled bytes of data go back and forth between platforms.
There was a trailer for Flow before The Wild Robot. It looks fantastic. The release is coming in December according to Cartoon Brew.
Croissant is getting some great press. Just a few I’ve noticed: Six Colors, MacStories, TechCrunch. I don’t need it because Micro.blog cross-posts to everything from my blog, but would be cool if the app could post to blogs in the future too.
Happy birthday to Jimmy Carter. 100 years! Amazing. Hope he gets his wish to vote for Kamala Harris. Early voting is soon. 🇺🇸
Decided a few weeks back to stop Wordle at 1200. It’s fitting that I did terribly on this last one.
⬛🟨⬛⬛⬛
⬛⬛🟨⬛🟨
⬛🟩⬛🟩⬛
🟨🟩🟨🟩⬛
🟩🟩⬛🟩🟨
🟩🟩🟩🟩🟩
Relay has raised $1 million for St. Jude this year. Incredible.
Interesting note in the latest fediverse blog post update for Ghost:
Will members who use ActivityPub (rather than email) count toward Ghost(Pro) billing? And so far the answer is yes, because ActivityPub is (quite significantly) more expensive to support than email. But, this is all very early days, and hopefully we’ll figure out ways to get some of the costs and complexity down.
If I’m reading this correctly and the pricing holds, that effectively means you will pay more for hosting if you have lots of followers on the fediverse. This would be a first; I’ve never heard of a social network charging for followers before.
So if you’re using the $11/month Ghost hosting that allows 500 members, you could have (for example) 100 email subscribers and 400 followers in the fediverse. As soon as you had more subscribers or followers, you would need to bump up to the $19/month plan. If you got up to 10k and more followers, you would be paying hundreds of dollars a month.
Of course this is all beta and as Ghost further optimizes it, the pricing could change. It comes from Ghost’s early testing that showed how resource-intensive ActivityPub is. I can definitely attest to that with Micro.blog as well.
We posted a new episode of Core Intuition, this time talking all about the controversy in the WordPress community over WP Engine. Still very fascinated by this story and following as much of the news as I can, including a new interview with Matt Mullenweg over the weekend.
I posted this to @news a week ago. Quoting it here as a reminder:
An early heads-up: we are planning a major server upgrade for October 1st, 10pm central time / 3pm GMT. While we hope to limit downtime, Micro.blog will be unavailable for a little while during the upgrade. Your blogs hosted on Micro.blog will remain online.
While we’ve had sporadic downtime this year, I don’t think we’ve had planned downtime in several years, and I don’t take it lightly. It’s a database upgrade and worth the time to do it right.
I think the new “finished” pane turned out well. This has been a much-needed improvement to Micro.blog. Because we fire off publishing and Hugo-ing in the background, it was irritating to keep an eye on the status and find the new blog post link.
House shopping during election season is great. There are so many political yard signs, you can tell a lot about what your future neighbors are like.
Last night’s SNL was great. Maya Rudolph, Andy Samberg, Dana Carvey, Jean Smart… That’s the way to start the 50th season. 📺
Really enjoyed seeing The Wild Robot. Beautiful. Glad I read the book first too… The movie follows the story closely but some characters, dialogue, and details were bound to change. 🍿
I ended up disabling Type to Siri. Kept accidentally triggering it with impatient double-taps on the tab bar.
Molly White blogs about POSSE:
The next time a new social media site comes along, you can plug it in to your existing system. And the next time a social media site dies or becomes untenable, you just disconnect it. With this model, even when a platform goes under, you lose relatively little: your posts still remain live and under your control on your site, even if the copies of them on the disconnected website are abandoned or deleted.
Thinking about what a modern AppleScript would look like powered by LLMs. The human language-like syntax of AppleScript was the right idea, but there were syntax quirks that made it frustrating. LLMs could fix that. Free idea! I’m tempted but it’s too far outside the scope of Micro.blog’s mission.
Sort of an all-Zuckerberg podcast week. Good interview with Mark on Decoder but can’t disagree more strongly with Mark’s vision of AI-generated content showing up in your feed. This is the terrible end-game of algorithmic timelines.
I’m still interested in Meta’s Ray-Ban glasses, but maybe I’m not the market because I can barely tell the difference between the Wayfarer, Headliner, and Skyler styles. Also I buy new glasses about once every 10 years.
Tantek Çelik proposes a “CC-NT” license, for “no-training”:
This seems like an obvious thing to me. If you can write a license that forbids “commercial use”, then you should be able to write a license that forbids use in “training models”, which respectful / well-written crawlers should (hopefully) respect, in as much as they respect existing CC licenses.
I like this. There are fair use and copyright issues to sort out in the courts, but in the meantime we should be using robots.txt and Creative Commons wherever possible. On my blog, I allow any crawling and any use with attribution. Others might prefer to block AI bots and restrict to non-commercial use, or even allow commercial use but not for AI training.
There was a great episode of Decoder last week with The Browser Company’s Josh Miller. Nilay Patel and Josh talk about the open web, browsers of course, and AI. One comment near the end from Nilay stood out to me, where he said AI training gives “nothing” back to writers on the web.
Wait, nothing? Integrating my blog posts into a model with essentially all the world’s information, so that people can ask it questions and have my writing also included with the answers… That’s “nothing”? Personally, I don’t make money directly from my blog. There are countless benefits to blogging. In the age of AI, one of those benefits is now letting me contribute in a small way to something bigger, in the same way that someone finds an answer in one of my blog posts when they search on Google.
The trade-off is different for everyone. Subscription and ad-based publishers are rightly concerned. They should make deals with AI companies, or in some cases block bots outright. Some people will block or use CC-NT on principle alone. No problem. For me, I hope my writing reaches as far as it can, and so letting it get slurped up by our future AI overlords is not just acceptable, I want it to happen. It’s not nothing.
Pushed another TestFlight beta of Micro.blog with lots of little tweaks that had been bugging me. Still a few bugs in this version, plus the work of replacing the old text editor.
“Orion makes every other VR or AR device I have tried feel like a mistake — including the Apple Vision Pro.” — Ben Thompson, who interviews Meta’s CTO
Let’s start with this: Meta Connect was more interesting and fun than Apple’s iPhone event or WWDC keynote. Live demos are better. Even when Mark Zuckerberg was kind of goofy, or when he said “hell yes” and “live demos sometimes work”… Maybe it it wasn’t as polished, with demos that could fail, but it was also more real.
One justification for Apple’s pre-recorded events is that they are tighter and can fit more content (and more diversity of speakers) into a shorter amount of time. There’s no downtime to switch presenters or wait for applause. But in Apple events there is a bunch of wasted time too — time spent on pure marketing, or drone camera shots, instead of substance.
From the time Mark went on stage to revealing the Meta Quest 3S and its price was 1 minute. Another 45 minutes in, they had already demoed or talked about nearly everything: the Quest, Horizon Worlds, Llama 3.2, Ray-Bans with live translation, and Orion. For an event that didn’t feel that well-rehearsed, they covered a lot of ground.
The biggest news of the show was Orion, a prototype for holographic AR glasses. Rewind to earlier this year, when Mark casually dropped this into a video:
For typing or complex tasks, you’re going to want things like hands, or a keyboard, or controllers, or eventually a neural interface…
When he said this, it sounded like science fiction. I sort of thought he had lost his mind. It feels significant to jump a handful of months forward and have a working prototype where I now need to consider “wrist-based neural interface” and read about electromyography. Mark closed the Orion segment with:
The right way to look at Orion is as a time machine. These glasses exist, they are awesome, and they are a glimpse of a future that I think is going to be pretty exciting.
This is the closest anyone has come to an AR design that is a natural evolution of traditional glasses. Most people do not want to strap a computer to their face. Apple’s Vision Pro prioritizes incredible visuals, but it needs to become much cheaper, lighter, and eventually have no opaque screens at all. Meta’s Orion makes different trade-offs. I think it’s already farther down the right path.
I’m not exactly rooting for Meta. I dedicated major sections of my book to the problems with massive, ad-based social networking, with Facebook and Instagram as prominent players. But nevertheless I’m caught up in some of the excitement of new technology at Connect. There’s a refreshing change of pace and tone compared to decades of Apple keynotes.
Mira Murati is leaving OpenAI. If things had gone differently after the board shakeup, she would’ve been the CEO and Sam Altman would be at Microsoft. But it didn’t appear that she had been sidelined either. She led the live OpenAI announcements for GPT-4o instead of Sam just a few months ago.
Just uploaded a new TestFlight beta with support for iOS 18 dark and tinted icons. Looks way better now for folks who’ve customized their home screen icons.
Automattic vs. WP Engine will have a chilling effect on WordPress hosting. When I decided to use Hugo in Micro.blog, I considered using WordPress under the hood instead. It would’ve brought significant benefits, but at the cost of bloat and web hosting monoculture. Glad to have avoided this drama.
Effectively no one knows how good Micro.blog is for blogging. I alternate between being bummed out by this and optimistic that there is so much room for growth. Might take a few more years for overnight success to hit.
Sarah Perez reporting on the financial backing of the new Social Web Foundation. This is an impressive start:
The Ford Foundation has also offered the organization a large grant to get the project started. In total, SWF is closing in on $1 million in financial support.
Good post at WP Tavern highlighting the major plot points of the ongoing WordPress drama. I also listened to the Twitter X space (ugh) where Matt Mullenweg answers questions on the fallout from his WordCamp talk. I don’t envy folks trying to navigate this… Such a big community and lots of money.
During the pandemic I accidentally let my P.O. Box expire. I almost never checked it anyway, but I felt bad that there was a chance of letters being returned or lost into the void. Today I finally fixed it. Was able to go in person and restore the same number which luckily wasn’t being used yet.
Molly White is doing something on her blog that I don’t think I’ve seen before. When linking some people’s names, she will include tiny links to Wikipedia or social web profiles. Here’s a screenshot with the links highlighted, in this case Wikipedia, Mastodon, and Bluesky:
The Social Web Foundation works to grow this new ecosystem in an open, healthy, and sustainable way—working with technologists and the public to build a new global town square that works for everyone.
This looks very interesting. I’m going to be honest, though, even though I know this is petty: I’m insulted that Micro.blog wasn’t given a heads-up about this before launch. We’ve only supported ActivityPub since 2018. 🤪
Not in a good mood this morning, so all of my blog posts are going to be tinged with a little bit of unwarranted frustration. Apologies in advance. 🙂
Going to restart the public beta for Micro.blog on iOS. Just waiting for Apple to approve the beta, because Micro.blog has only been around for 7 years with dozens of public releases, so we must be devious hackers trying to exploit the App Store. So tired of Apple as a babysitter.
Listening to the latest Decoder podcast with The Browser Company’s Josh Miller and enjoying it so far. I haven’t completely bought in to Arc, but we should be exploring new browser ideas. A little shocked that they have 80 employees and zero revenue, though. Not confident they can last.
No surprise that Sam Altman is quite the AI optimist:
It won’t happen all at once, but we’ll soon be able to work with AI that helps us accomplish much more than we ever could without AI; eventually we can each have a personal AI team, full of virtual experts in different areas, working together to create almost anything we can imagine. Our children will have virtual tutors who can provide personalized instruction in any subject, in any language, and at whatever pace they need. We can imagine similar ideas for better healthcare, the ability to create any kind of software someone can imagine, and much more.
I’ve been thinking about personalized education too, ever since re-reading The Diamond Age this year. There’s no question that some of that will come true. Many people who struggle today will have children and grandchildren who are better educated, with more opportunities to get ahead.
But in Neil Stephenson’s book there was a significant human element too. Miranda cared so much that she rearranged her life to help raise Nell. AI is nothing without parents, teachers, doctors, coders, and artists to guide it.
Decided to install the iOS 18.1 beta. AI summarization features mostly work as advertised. For the writing tools, I hesitate using it mostly because if I need help, why not jump straight to ChatGPT? Otherwise I’d wonder if I’m getting the best results, even if it seems fine.
It’s wild to imagine that in the future, to be competitive with AI you might need your own nuclear power plant. I could also see a company like Apple buying half of Arizona for solar farms. On the one hand, yes, maybe we’ve lost our minds… But on the other, a massive investment in clean energy.
Eating my own dog food, just imported 2800 notes into Micro.blog. Overall went really well. A couple things could be improved for large archives, like better search on the web.
Following up on Three Mile Island, good point from Ben Thompson today:
…nuclear energy and data centers are a perfect match for two reasons. The most obvious one is that data centers need power 24/7, which nuclear provides. The less obvious one is that nuclear power needs to be delivering power 24/7; it doesn’t scale down. Data centers, though, are a perfectly predictable consumer of power.
After reading Matt Mullenweg’s posts about WP Engine, I looked into pricing for WP Engine and a few other popular WordPress hosting services. Most are really scammy, with deceptive intro prices and lots of upsells. Haven’t found any that are as simple and transparent as Micro.blog: $5 or $10. Easy.
From Mark Gurman’s latest, the AI rollout still feels haphazard. ChatGPT may come as soon as 18.2:
Looking further ahead, Apple is already racing to complete a major iOS 18.2 upgrade, which will include features like Genmoji, ChatGPT integration and the Image Playground app. The company is looking to get that release down to zero-bug status in early November so it can ship it by December.
But the new Siri will apparently be later, maybe spread across 18.3 and 18.4 next year.
This story about Microsoft and nuclear power underscores how big a deal AI is:
If approved by regulators, Three Mile Island would provide Microsoft with the energy equivalent it takes to power 800,000 homes, or 835 megawatts. Never before has a U.S. nuclear plant come back into service after being decommissioned, and never before has all of a single commercial nuclear power plant’s output been allocated to a single customer.
Love it or hate it, AI is not just a new feature, like a revamped Clippy. It’s going to have a profound impact on computing.
Finished watching the WordCamp Q&A from Matt Mullenweg. Very unique this year, largely dedicated to calling out WP Engine as taking more from the WordPress community than they’re giving back, based on Matt’s blog post here. I don’t have strong opinions on this, but it’ll be something to follow.
The iPhone Pro 16 Max is my first “huge” iPhone. So far I’m liking the size. It’s a little awkward but doesn’t feel too big. I wanted to try this size as a sort of very, very small iPad, for reading and (sometimes) actual work.
Special shout-out to the UPS driver who delivered my new iPhone while I was out of town for a day. Not only did they hide the box on our porch, they moved a potted plant in front of it to make it even harder to see.
Just posted Core Intuition 613 with our discussion of the iOS 18 and macOS Sequoia releases, changes that might affect our apps, and the new limitations on control key shortcuts.
Earlier this year I took a photo of the demolition of the Frank Erwin Center. Today I took another photo. It’s just a huge field of dirt and grass, no sign that anything was ever here.
Here’s the video for my demo at FediForum. It shows Micro.blog posting, cross-posting services, and an experiment with Ice Cubes. Still not sure if the Mastodon API support will ship or in what form.
Dan Moren writing at Macworld:
Look, I’m not ungrateful. But the truth remains that nothing stokes the imagination of what Apple could do with its products more than the release of its latest hardware and software. As iOS, iPadOS, macOS, and all the other latest OSes arrive, we not only end up picking through all of the new features and capabilities to see what’s new but also coming to grips with what’s not there and the limitations of what is.
This is so true. Software developers know that when you release feature A, people will ask why not feature B too. 🙂
Letting the Republicans say “well, Democrats make up facts too” is an unforced error. We do not make things up. We do not knowingly spread misinformation. Policy is rooted in what’s really happening and a desire to make people’s lives better. 🇺🇸
I blogged when the JD Vance couch joke started making the rounds that we should avoid disinformation even when it’s funny. So perhaps there’s a bit of karma with the fake Springfield, OH story. Trump would make up racist things about immigrants no matter what, of course! Our standard is higher. 🇺🇸
I continue to be impressed with Bluesky’s growth. From Last Week in the ATmosphere, covering the 10 million users milestone with 5.5 million monthly active users:
User retention after this new signup wave is also notably high, with daily active users peaking at 1.91 million, and staying at 1.57 million some two weeks later.
I hope the uppercase “AT” can be dropped over time, though. 🙂 Just “Atmosphere” is nice.
I was hoping adding Bluesky video upload would be a quick win this week, but it’s going to take a little longer. The API works differently than photo upload. Need to restructure my code first before I can support it well.
Pre-ordered Directing at Disney a few months ago and promptly forgot about it until it arrived this week. Looks good just flipping through the pages. 📚
I submitted Micro.blog’s Threads support to Meta again with a new video demo, and it was rejected again. Will try again later this week. So I guess this feature is still in beta for a while longer.
I don’t get why people subscribe to a service or newsletter and then mark those emails as spam. You asked for the email! I know everyone is forgetful, but marking as spam doesn’t help anyone (and in fact hurts the email sending reputation of small companies like Micro.blog).
The new Snap Spectacles are too bulky but they’re the first AR glasses that I can actually imagine becoming as convenient as normal glasses. These will be small and great before the Vision Pro is cheap and light. Assuming Snap wants to eventually make a real product, not a dev prototype.
At first I was surprised that Mozilla.social is shutting down, but Mozilla didn’t seem to have a complete strategy for the social web. Running a Mastodon server and investing in Mammoth were good first steps. Missing was anything that tied these efforts back to Firefox, Pocket, or new products.
On Jack Dorsey’s point that in the age of AI, it’s important to own your identity and content… For me it goes back to trust, and why personal blogs will be more valuable than algorithmic or retweeted posts from strangers. Lean in to the human voice and relationships with readers.
After I made some Nostr improvements in M.b the other day, I caught up on a few conference videos to see what the community has been up to. Fascinated by this video of Jack explaining Nostr. It’s like a reset, going from a powerful social media CEO to just a dude hanging out at conferences again.
With a new iPhone coming this week, seems a good time to post my latest home screen. Same layout as before, but now using iOS 18 instead of blank spacer icons. In the dock: Hey, Epilogue, Strata, and Micro.blog.
Teen Accounts on Instagram sounds like a very good change. Of course those of us with kids who were teens years ago were just guinea pigs for social media that prioritized ads over safety, but better late than never.
I mentioned recently that I was considering removing trial accounts on Micro.blog until after the election, to minimize auto-created junk accounts. I’ve rolled out the first phase of that with some internal changes, and adjusted the 30-day trial down to 10 days for new accounts.
Love this metaphor from Dave Winer about how Micro.blog handles feeds and cross-posting:
It’s sort of a Grand Central station for moving stuff around among the twitter-like systems.
John Gruber’s article about last week’s iPhone event also compares Tim Cook’s Apple with what might’ve been. I agree with this part:
I feel confident that if Steve Jobs were alive and still leading Apple product development, there would have been no iPhone-like mind-blown-the-moment-you-first-saw-it new product in the intervening years.
What we would have is a more interesting Apple. As John says, products that are more quirky, more risky. It’s also a bit tragic that we’ll never know what Steve Jobs would’ve made of AI.
Not sure I have a favorite iOS 18 feature yet, but tapbacks with emoji are near the top of the list. Only problem is the fallback experience for iOS 17 and earlier users is bad enough that I don’t want to actually send any emoji reactions for a while.
I don’t really understand how OpenAI’s o1 works, but I found today’s Stratechery update helpful, contrasting the approach of o1 compared to other LLMs which can sometimes blindly follow the wrong path:
In summary, there are two important things happening: first, o1 is explicitly trained on how to solve problems, and second, o1 is designed to generate multiple problem-solving streams at inference time, choose the best one, and iterate through each step in the process when it realizes it made a mistake.
Jason Snell reflects on 10 years since starting Six Colors:
Ten years ago I took a leap into working for myself, not working in corporate media. For most days since, I’ve worked in my garage, writing articles for my site, recording podcasts, and writing the occasional piece for other places (including my former employer, which I couldn’t ever have predicted).
Federico Viticci reviews iOS 18 and also writes about how to balance his love of Apple tech and dislike of generative AI:
Technology without people behind it is just an empty chat box. I want to write about the fun, flexible, frequently flawed things humans do with tech, and I want to be remembered for having left something useful behind me.
I love the illustrations by Scout Wilkinson for the review. For me, I don’t think AI has to be an all-or-nothing choice. It’s a useful tool, but we can also embrace what humans are uniquely good at. This was the thinking behind M.b’s audio narration too.
We’ve got a new episode of Core Intuition out today, longer than usual to talk about which iPhones we pre-ordered, thoughts on new features like the camera button, and a discussion of whether the AirPods 4 with noice cancellation are effectively a software unlock.
Happy for Hacks finally winning. Love that show. It has been tough competition going up against hilarious comedy show The Bear. 🤪
As a quick follow-up to my post today about posting APIs, I should have linked to the latest Micropub specification. There is also a long list of clients on the IndieWeb wiki. I just added Epilogue there, which also uses Micropub to blog about books you’re reading.
We’ve visited Dallas a lot recently. It sort of amazes me that Dallas has been able to develop extensive new light rail, and repurpose old rail corridors into great walking trails. Comparatively it feels like Austin has done almost nothing. Looking at the old Missouri-Kansas-Texas line, unused.
Dave Winer blogs about interoperability for Twitter-like systems:
We had that for the blogging layer of this onion, something called the MetaWeblog API. All the popular blogging software supported it. And that meant you could write once and publish to many places.
I’ve been trying to get people in the fediverse to think about this. The other day at FediForum, there was a good discussion about it.
Here’s the current state of things:
In the fediverse community, there is a natural inclination toward ActivityPub because why not have a single specification that can handle both server-to-server federation and client-to-server posting? But in practice, federation and posting are actually different tasks. They don’t need to be wrapped together.
With Micropub, the IndieWeb focuses on the social timeline aspects in a separate specification, Microsub. If you want to replace the Mastodon API, using both Micropub and Microsub is a good way to go. They are complementary. Micropub handles creating new posts and managing posts, and Microsub handles browsing the timeline.
So where does this leave us? I’ll admit I’m a little conflicted. Mostly because the fediverse developer community has grown quite large, and I don’t relish trying to convince anyone of anything. 🙂 But looking at all the possible ways forward with the above standards, there is really only one complete solution that is ready to go today, and that has been implemented for years across multiple blogging platforms: Micropub + Microsub.
Sean Tilley has a great live blog of FediForum over at We Distribute. Also includes my demo if you scroll back to yesterday’s coverage.
I got a lot out of FediForum this week. Mostly lurking this morning, can’t really participate. Some fantastic sessions yesterday. I helped lead a discussion on adapting client APIs for different platforms, with great points from folks on ActivityPub C2S and how to go beyond the Mastodon API.
I hadn’t checked out Lillihub in a while. It’s so nice. Some unique ideas around conversations in Micro.blog.
For something completely new today, I’m revisiting Nostr support in Micro.blog. Making a few tweaks, and support for custom relays.
I still think there’s potentially a space for these dedicated AI-based voice recorders, but none of them are quite right yet. From David Pierce’s review of the NotePin:
In my time testing the NotePin, I’ve mostly had it around my neck, and I’ve used it to note reminders while driving, ramble long ideas to myself while walking the dog, and summarize calls and conversations. It’s certainly handy being able to just reach down, press the NotePin until it vibrates to indicate it’s recording, and then yammer away at nothing while my necklace dutifully listens.
Even though it works as advertised, David doesn’t think these need to be dedicated devices. iOS 18 and macOS Sequoia will have good transcription built in. The price at $169 also seems a bit high to me.
I never use Siri unless I’m in the car, and there I have exactly three uses:
That’s it. On road trips especially, my mind will wander, and I’ll have an idea for a new Micro.blog feature, or a blog post, or an edit I should make to my book. I don’t bother asking Siri for anything complicated because it’s not going to get it right.
For transcription, the current Siri isn’t very good. I expect it to get much better with Apple’s LLMs, but will it be as good as a more powerful model backed by OpenAI? And if not, is it worth buying a special device to get that extra quality?
My ideal AI device would be about the size of the NotePin or the Friend. Transcription would be effortless, with good sync of notes to other platforms or Dropbox. I could also ask it world knowledge questions like I do with ChatGPT. And as a bonus, sure, being able to talk to it and get comforting reassurance like the Friend would be neat too.
It doesn’t need a screen. It doesn’t need a camera. It doesn’t need a laser. It just needs to do these couple LLM-powered tasks exceptionally well.
Learning about Fediverse Discovery Providers at FediForum. Interesting solution to get search and discovery across instances.
Hello! This is a quick demo of Micro.blog at FediForum.
Great post from Molly White on the Hachette vs. Internet Archive decision on controlled digital lending:
In fact, by fighting CDL, publishers are seeking to overstep the established boundaries of intellectual property law to exert continued control over an item that has already been purchased from them. And they are seeking to diminish the critical rights of readers to read the books they want without being subjected to censorship and surveillance.
I’m a big user of Libby but I don’t like that we have fewer rights with e-books than physical books. Open Library’s approach seemed fair to me.
I watched Oprah Winfrey’s AI special. There was some concern before it aired about whether it would represent both sides of the debate, and it’s true it wasn’t comprehensive, but I thought it was actually pretty good. She has a thoughtful, deliberate style, not too sensational or hyped up.
FediForum starts today and runs for a few days. It’s inspiring to see what everyone is working on. Luckily I don’t demo until tomorrow because I’m not 100% together this morning. Covid shot interfered with my sleep… 💉 (Don’t let that discourage you! I got unlucky this time, but glad to have it.)
Finished reading: The Wild Robot by Peter Brown. Mostly for kids, but I had already been looking forward to the upcoming movie and kept running across the book, so I bought it. Wonderful story. 📚
Got my updated Covid shot. Going to lie low for the afternoon, just poke around a little with blogging and email. 💉
Adrian Vila blogging about the lens choices on the iPhone 16:
I said it a year ago, and I still think Apple made a mistake with the 120mm lens. The current lineup of 13mm, 24mm, and 120mm leaves a huge gap between the main and telephoto lenses, missing out on key and very useful focal lengths for everyday situations. I’d rather see a 75mm lens on a 48MP sensor, with the ability to reach 120mm using the fancy cropping the main sensor has.
The camera is such an important part of the iPhone, at what point will we get four separate lenses, or the ability to pop a lens out and replace it? 🤪
“I’m voting for @kamalaharris because she fights for the rights and causes I believe need a warrior to champion them. I think she is a steady-handed, gifted leader and I believe we can accomplish so much more in this country if we are led by calm and not chaos.” — Taylor Swift 🇺🇸
Nice job by the ABC moderators for some quick fact-checking and generally keeping things on track, with a little room for back and forth replies. No need for another debate, other than the VP debate. We’ve all seen enough. 🇺🇸
Kamala Harris has a really clever approach to some answers where she talks about the actual question but then in the middle she inserts a quick jab at Trump — your father gave you money, or the world is laughing at you — and he can’t help but respond and get completely derailed into nonsense. 🇺🇸
Kamala Harris off to a strong start, I think. Lots of policy but also layering in some bigger themes. 🇺🇸
Finally cancelling iTunes Match. Created playlists in Music.app to find and download every track with cloud status “matched” or “uploaded” to my Mac. In the process, found a gold mine of old audio recordings off my MiniDisc, circa 2004-2006.
Online grocery prices dropped last month. More surprising, Adobe tracks these kind of prices as part of their enterprise products. Talk about losing focus… That business feels very far apart from Photoshop.
Some good notes from Jason Snell after attending the iPhone 16 event. On AI’s staggered rollout:
They’re promoting a key feature of their new iPhone… that won’t be there if you order one for delivery on September 20. Maybe it’ll be there, in beta, a few weeks later. But only some of it. The rest of it will come in December, or maybe early next year, or maybe next spring. In dribs and drabs over time.
A related problem is that it’s going to be even longer (years) until the new Siri works consistently everywhere. I generally like Apple’s strategy, but on-device models will hold them back.
Stephen Hackett blogging about the increasingly-complicated Apple product lineup:
Sometimes, that means selling older products at discounted prices, but it feels like today’s event was a new chapter in that story. Some of the announcements today were hard to understand, even as someone who has written about Apple for nearly 16 years. The event felt undisciplined in areas, and felt somehow both too long and too short for what Apple had to introduce.
One of my first clicks on an Apple product page is the “Tech Specs” or “Compare” link. It really is a lot to make sense of now.
Not in a hurry to switch, but I will probably opt for the AirPods 4 to replace my AirPods Pro. The pros have never felt comfortable in my ears. It’s interesting that the 4s are split into a basic version and a “with noise cancellation” version, although the hardware appears identical.
Working on something to demo at FediForum later this week. Not entirely sure in what form it will actually ship, but could make for a good discussion. Thinking about the Mastodon API and its role in the fediverse.
Cohost is shutting down. From the staff account:
…we’ve struggled to fill the revenue and morale gap. Colin and I have been doing this for five years, Aidan for three, Kara for nearly two. We’ve been at or over capacity on moderation, engineering, and general operations nearly this entire time. We have all been on-call 24/7/365 since we launched two and a half years ago. The day-to-day needs of just running the site meant developing alternative funding options wasn’t possible.
They are going read-only and then will make data exports available.
Finished reading: A Wrinkle in Time by Madeleine L’Engle. Somehow I had never read this before now. Also my edition had an interesting afterward by her granddaughter with a history of the book and notes from earlier drafts. 📚
Rest in peace, James Earl Jones. I wouldn’t have guessed he was 93 already. An incredible life. Love this quote from him in the AP:
I realized early on, from people like Athol Fugard, that you cannot change anybody’s mind, no matter what you do. As a preacher, as a scholar, you cannot change their mind. But you can change the way they feel.
Solid updates from Apple as usual. They highlighted lots of health-related features, like hearing aids, sleep apnea, and satellite messaging. For environmental impact, I’m still curious if there will be a hit to their goals with the AI private cloud rollout.
Genuinely conflicted about this year’s iPhone Pro color lineup: black, white, silver, desert. I guess black? Need to see more photos to know where desert sits on the spectrum of subtle to Zune.
New Apple stuff is great and all, but hear me out… What if they integrated hardware, software, and services in a way that only Apple can do? 🤪
I’m sorry to be bitter, but in the first half hour of the Apple event, my takeaways are: they really should move back to live presentations, and please stop saying “only Apple can do”… If you say it too much for everything, it loses its impact. (New products look good, though.)
Ben Thompson predicts a $100 price increase for the new iPhones today, bringing it over $1k for the first time. So I guess if the iPhone 16 Pro is $1100, the Max will be $1200. Ouch. 💰
iPhone announcement day! As I talked about on @coreint, for the first time in years — maybe since the original iPhone? — I’m actually going to get a new phone right away. Not excited about the cost, but will be fun to play on the cutting edge a little.
The new iPhone announcement is just a couple days away, and on today’s Core Int we give our thoughts about the upcoming event, including a discussion about AI.
This post about Marissa Mayer’s company Sunshine on Platformer is several months old, but I saw it linked again this week and wanted to highlight something:
Employees say they learn what they are working on each week during Monday morning standup meetings, and that their mandate shifts frequently as Mayer changes priorities.
This sounds exactly like how I run Micro.blog, actually. Founder mode, I guess? It sounds chaotic and “bad” but it’s also a strength of a very small team to change our minds quickly.
Good news, everyone. Accidentally left the garage door open and someone stole a couple random things — looks like mostly power tools that are easy to replace — but they left the Power Mac 7500 and Power Mac G5. Suckers! They have no sense of quality and value. 🤪
Talking to Daniel today for the next podcast episode, about AI, and afterwards I was thinking about why I find ChatGPT so effective instead of Google search. It’s not just the “here’s the answer” but also the very fast, clean results. Imagine a web search with 5-10 results that was as simple.
John Gruber has a long take-down on the DMA. There is plenty to think about in this, but a quick comment on his point about Chrome:
My guess is that, perhaps counterintuitively, the single biggest beneficiary of this mandatory browser choice screen will be Google Chrome, which I consider the single most dominant software monopoly in the world today.
This rings true. Google puts Chrome in your face everywhere. Perhaps one side effect of this is that Apple is going to need to do actual marketing for Safari.
I feel that I’ve been overpaying for sending email for years. Making another attempt at migrating to Amazon SES with a dedicated IP. Should cut my bill in half and hopefully fix some reliability problems. (If anything bounced at SendGrid, it would stop sending emails until reset… Not great.)
People worry that AI will take over what humans should be doing. It’s more profound than that. Using AI has helped me understand what actually makes us uniquely human. Love, creativity, leadership, fear, individualism, beauty. Let’s lean in to what only we can do and let that drive everything else.
Taking a short break from Threads and Bluesky. Nothing against those services, but I started over-thinking the post length differences. I need to focus on work and blogging first. Because my blog natively uses ActivityPub, Mastodon folks will still see my posts.
In my blog post series for upgrades to my Honda Element, this post is a little different. It’s not an actual change to the car like the posts about CarPlay, the WeBoost, or my bed platform.
It is usually too hot to camp in Texas during the summer. To help beat the heat, I’m currently using a few portable fans and a water-cooled fan, the Evapolar evaCHILL. It doesn’t blow cold air, but it does blow cool-ish air. Every little bit helps. It also draws very little energy, about 10W from my Jackery.
I also swear by these simple fans by Dorobeen. They charge via USB-C and double as batteries that can charge a phone.
I’m still considering a “real” air conditioning unit like the EcoFlow Wave or Zero Breeze, but they are a lot bigger. I don’t think it’s currently worth the trouble.
While Micro.blog avoids viral features, making misinformation less likely to spread quickly, we still have a 30-day free trial that content spammers sometimes try to use. Thinking about going paid-only without a trial until after the election, to remove another potential source of problems.
Congrats to @rizzi@gloria.social on the release of the new Reeder! It’s a huge redesign, refocusing the app around timelines, viewing conversations, and more. Great integration with Micro.blog too.
My number one use case for AR glasses is when on a road trip and can’t stop to take pictures. Old buildings in forgotten towns, long abandoned, that were once beautiful.
Cloudy morning at Brazos Bend State Park, from the observation tower. Unlike any other state park I’ve been to. Didn’t see any alligators.
Seeing the “luxurious” headline on this review at The Verge for the new reMarkable Paper Pro, I was expecting it to be more expensive than $579. Looks really nice. And it makes sense to go for the high-end. The super low-end is well served by Kindles and paper notebooks.
I’ve always been a mosquito magnet. They go for me before anyone else, and leave several bites before I notice. This morning waiting for my coffee order outside, just got bit, and thanks to sensationalist “the sky is always falling” 24-hour news, now I can only think of EEE and other viruses. 🦟
I think I first heard about xAI’s plans in Memphis from Stephen Hackett’s blog. He collected a few posts about the upcoming project back in June:
The Daily Memphian reports that the deal came together very quickly, and that the location is an old Electrolux oven factory, which has been undergoing mysterious renovations for several weeks. The area where the factory is located is home to other industries, and seems well-equipped for the task.
It sounds like there were good reasons for choosing Memphis. Elon Musk’s companies are scattered… San Francisco, Austin, somewhere in Nevada, the bottom tip of Texas. Those all seem reasonable locations for each office or factory.
Today I caught up reading about how it has been going since then in Memphis, now that the AI cluster is up and running with 100,000 Nvidia H100s. The scale is sort of hard to imagine for those of who run only a handful of servers.
From an article in Fortune:
One main concern is the strain it will create on the city’s resources. Officials of municipal utility MLGW estimate that Colossus requires up to 1 million gallons of water per day to cool the servers and will consume as much as 150 megawatts of power.
Unfortunately in Elon’s rush to get the next version of Grok trained, there have been shortcuts taken to get that much power online. Newsweek reports:
To get that kind of power, the facility will first need a new electricity substation and improvements to a transmission line. Musk didn’t want to wait for that, so he found a workaround to power his AI center in the meantime. Industry observers who tracked the Memphis facility’s progress via satellite found that the aerial images show a fleet of tractor trailer-sized electric generators parked along the facility’s perimeter. The generators burn natural gas to produce electricity on-site.
Apparently there were no permits to install those generators. From CNBC:
The Southern Environmental Law Center sent a letter this week to the Health Department in Shelby County, where Memphis is located, and to a regional office of the Environmental Protection Agency on behalf of several local groups, asking regulators to investigate xAI for its unpermitted use of the turbines and the pollution they create.
These kind of compromises reflect poorly on a leader who is committed to renewal energy and electric cars. AI is a fundamental shift in computing, it’s not going away, and when used properly I believe it can be a force for good. But there is already so much pushback against AI — and we have enough challenges with climate change already — that the opening of a data center like this needs to be better executed. A more well-considered use of clean energy and water. The implementation matters.
The Verge writing about VW’s in-car AI:
Volkswagen says that OpenAI’s chatbot along with a “multitude” of other models are provided by automotive chatbot company Cerence, which will take over for IDA when requests are more complex than tweaking your air conditioning settings. For instance, the company says when drivers ask for things like restaurant recommendations or for the chatbot to tell you a story, that will go to the cloud.
I’ve long wanted something like this for road trips. I want to be able to ask it about nearby historical markers, towns, mountains, etc.
Congrats to Tapbots on the Ivory 2.2 release. However, to comment on their announcement post:
Ivory 2.2 for iOS/iPadOS is now available on the App Store! Release notes in the ALT text of the image or on the App Store.
This is not what alt text is for. With social platforms often showing alt text everywhere, effectively collapsing HTML alt and title attributes to be the same thing, this is increasingly misused. If the accessibility text does not match what’s in the image, it’s worse for folks who are visually impaired.
Speaking of Micro.blog apps, the new version of Mimi Uploader can batch generate alt text for multiple photos at once. Very cool.
Happy to announce that our companion app for notes, Strata, is now available for Android. Notes syncing and sharing is a feature for all Micro.blog paid subscribers. Get started on the web first, then you can copy your secret key over to Android.
Nice web utility from @mary.my.id that archives your Bluesky posts as HTML. Always a good idea to have multiple formats of everything.
There is a place for the WordPress block editor, or Medium, or Squarespace, or any number of very nice editors. But if you want to write natively for the web, those will never be quite right.
As I improve my own web text editor, I’m reflecting on what it felt like when the first WYSIWYG editors hit the market. PageMill launched and we said, “Amazing, this is what web editing should be.” But it turns out rich text just gets in the way. Markdown + limited HTML when needed is the way to go.
I often only finally get into a book at the end of a loan in Libby, hopelessly nowhere near finished with it. Wish there was a “just give me one extra day” button. For Kindle, turning off wifi works, but no good option for audiobooks.
Drove by a couple fire trucks protecting the shoulder for a car and a Cybertruck stopped on the side of the road. Probably a fender bender, didn’t look serious. But… two fire trucks? Maybe drama follows all Cybertrucks.
There’s a good analysis in Last Week in Fediverse about Twitter X, Bluesky, and Mastodon. Just a small part:
…if the goal is to build ActivityPub into the default protocol for the social web, it is worth paying attention to what is happening right now in the Brazilian ATmosphere.
Manuel Moreale blogs about a more intentional, personal web:
I’m talking about liberating yourself from all sorts of algorithmic grouping and filtering and getting back to experiencing and using the web in a much more deliberate and mindful way.
I think it’s okay that “social web” or IndieWeb mean slightly different things to different people. All of those definitions still share in common a goal of openness and standards, not silos.
Just sad hearing about the news of 6 more hostages dead in Gaza. The closer we get to 1 year since the attack by Hamas, the more heartbreaking that there’s no deal.
Bluesky has added 1 million users in the past few days, largely from the Twitter X in Brazil fallout. Congrats to the team. Really impressive to keep servers humming along.
Just posted a new episode of Core Int: Reinventing the 90s. We use two new software releases (the Overcast rewrite and my own new Micro.blog text editor) to talk about how customers react to software changes and bugs. Also, is SwiftUI now the best way to start Mac apps? Spoiler: not sure.
Ghost in their weekly update, joking about likes:
Descartes famously said “I think, therefore I am” — but it wasn’t until several years later when we started getting likes on Instagram that we collectively came to the realization that the meaning of life, in fact, revolves around a consistent stream of dopamine hits from the internet.
Micro.blog doesn’t have likes and for better or worse, I’m standing by that decision.
Ramping up the search for our next home. For old neighborhoods, love doing a little background research on who developed the neighborhood. Doesn’t actually matter, but it’s fun to discover where it came from… Sometimes land originally granted by the Republic of Texas to veterans and settlers.
This story and art from Christine Mi for The Washington Post makes me want to book a train trip again. I’ve done Austin to Los Angeles, Austin to Chicago… So much more to see.
Still a few months away, but the Wind and Truth cover reveal makes the book feel like it’s even closer. Michael Whelan has had an incredible career. Love this “semi-retired” bit about the artist:
Fifteen years ago, Whelan was semi-retired and considering a return to science fiction when he received the manuscript for The Way of Kings.
An update on Strata for Android. Getting closer to a release. We had a rejection, resubmitted. Pretty confident it’ll be approved and out today or early next week.
Tantek Çelik blogged about IndieWebCamp Portland:
We wrapped up with our usual Create Day Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site!
I miss IndieWebCamp. Don’t think I’ve attended one since we hosted in Austin a couple weeks before COVID hit.
Setting up some more customer support email filters. It’s gotten to where I have so much spam waiting for me, I hate to check support email, which is really bad for everyone. 🙁
I have a few upcoming camping reservations, part of my quest to visit all 88 state parks in Texas. Got this email the other day about one of the reservations:
Select sites at Abilene State Park are closed due to hazardous trees.
Hazardous trees! Luckily the park changed their mind and will allow camping anyway. I’m more amused by the notice than worried, but still gonna try to avoid camping underneath any branches that look ready to fall.
From The Wall Street Journal: Apple, Nvidia Are in Talks to Invest in OpenAI. This makes sense to me. Apple is obviously developing their own AI models, but I don’t think they care about AI as much as OpenAI, Anthropic, and others who live and breathe it. See more commentary from M.G. Siegler.
There are some interesting things going on with the new Patreon-like Sub Club for the fediverse. Presumably it can send members-only posts via ActivityPub because it knows which followers are paid subscribers. I’m puzzled by the payment inside third-party apps, though… I wonder how that works.
I like this post from Marty McGuire about the IndieWeb and how the indieweb.org wiki can sometimes be overwhelming for new users:
That’s because indieweb.org is not a presciption or a cookbook or an exercise plan. It doesn’t tell you how to “be IndieWeb”. It’s a collective memory of experiments, some successful and some not, from a group of experimenters that has changed greatly over time.
Also some nice words for Micro.blog in there. The wiki is an incredible resource, but just start with your own web site and don’t worry about the rest unless you want to dig deeper.
I joked yesterday that enabling the AI features in Micro.blog for everyone might bankrupt me. I didn’t seriously think that it would be out of control, but API usage is sometimes hard to predict, and bills usually only trend in one direction: up. Now with 24 hours usage, seems totally fine.
You get an AI! You get an AI! Starting to enable automatic photo keywords and search for all paid customers, no longer requiring Micro.blog Premium. Check out the video on YouTube here, recorded a few months ago. Now available to everyone. (I reserve the right to tweak this if it bankrupts me.)
Tumblr’s getting started on porting the backend to WordPress:
We acquired Tumblr to benefit from its differences and strengths, not to water it down. We love Tumblr’s streamlined posting experience and its current product direction. We’re not changing that. We’re talking about running Tumblr’s backend on WordPress. You won’t even notice a difference from the outside.
I hope they blog about the process… Should be interesting.
Years ago, mostly by accident, I started using green for block quotes in Markdown. Screenshot below. It’s weird because I never use green in actual published blog themes or Micro.blog on the web. I did a quick survey of other Markdown apps for inspiration and can’t really find a better style.
I was hoping the new iPhone Pro would have 12 GB of RAM. Sticking with 8 GB is enough for small AI models, but doesn’t seem as future-proof as the new Google Pixel at 16 GB. Apples to oranges? Dunno, that’s a really big difference.
Wow, has it really been a full year since the last Epilogue release for Android? Today I’ve gathered up all the recent changes and shipped them on Android, available at Google Play here. Screenshots still out of date, but it’s got the new icon and mostly the same features as iOS.
Nice write-up from Chris Enns on using Micro.blog for hosting short podcasts and adding stats with OP3.
Working in Android and Google Play a bunch this week. It’s just similar enough to the Apple ecosystem to feel like I know what I’m doing, even when I get lost in the weeds of compiler errors and dependencies changing out from under me.
We’ve got a new minor update to Epilogue for iOS ready. This release focuses on the context menu in the book details screen. Many people didn’t know the menu was there. Now there’s an ellipsis button to make it more discoverable, plus a couple other additions to the menu.
Jack Smith knows what he’s doing. January 6th indictment reworked to accommodate the Supreme Court’s ruling:
Prosecutors have not dropped any of the four charges that they initially brought against the former president. However, the newly retooled indictment has carved out some of Trump’s alleged conduct, including allegations about the attempts to use the Justice Department to promote his false claims of election fraud.
Submitted on app update to Apple and now feel kind of in limbo, like I can’t do anything else until they approve it. Checking email… reload, reload. It’s not even a major update.
Claude’s Artifacts feature is really well done. I asked it to create a web page with various info, and it previews the page right next to the chat, with a toggle to go from HTML to rendered. ChatGPT is still my go-to AI helper but this is impressive.
Good news from The Verge, the Biden administration is providing $521 million to states to expand EV charging. Houston’s getting a bunch of cash. Also interesting: grants for tribes in Washington and Florida to install charging stations on reservations. But not New Mexico? I-40 could use something.
Doug Jones has a roundup of several XOXO blog posts.
Rainy morning at Lazarus on Airport. The sun is starting to come out now and I want the rain back. ☕️
Craig Hockenberry’s slop is good pairs well with John Gruber’s post I linked to yesterday about trusting sources in a web filled with AI-generated content. Craig:
Search engines you can’t trust because they are cesspools of slop is hard to imagine. But that end feels inevitable at this point. We will need a new web.
We’re going to see more and more Google alternatives, maybe some paid like Kagi. And some will even need to use AI just to get rid of all the AI-generated content. 🤪
A small, probably unfair, book rant… When I start a fantasy book and discover it’s written in first person, I groan a little. It takes a unique story or very good author to pull it off. (Thinking of Robin Hobb.) Even great books would be a little better in third person, with multiple perspectives. 📚
Molly White after speaking at XOXO:
I mentioned that I’ve been feeling this a lot over the last few years, even as I too am witnessing what many of us think about as “the web” rotting right in front of our eyes. Working outside of that rot pile, and perhaps motivated by it, there are so many people who are excited about the potential for a better web.
New AI-based Alexa set to launch in October, possibly as a $10 subscription:
The revamp of the voice assistant, which documents say will include a daily AI-generated news summary, would come just weeks before the U.S. presidential election.
I think this price will be a tough sell, but running AI does cost money. It’s just that Alexa is not a productivity tool in the way ChatGPT Plus can be.
We’re starting to know more about Telegram CEO Pavel Durov’s arrest:
Durov was being temporarily detained on suspicion of involvement with distributing child sex abuse material and drugs, money laundering and working with organized crime, according to a press statement released by French prosecutor Laure Beccuau.
When news broke yesterday, I noticed several bloggers write that we didn’t know enough yet to really judge, a restrained take that I appreciate. I figured this might come down to refusal to honor search warrants, but could be deeper too.
John Gruber blogging about the AI-enhanced photos in Google Pixel 9:
Everyone alive today has grown up in a world where you can’t believe everything you read. Now we need to adapt to a world where that applies just as equally to photos and videos. Trusting the sources of what we believe is becoming more important than ever.
This is it. If we want authenticity, we have to be intentional in what we read and watch. “For you” is a trap.
Updates from @Mtt for folks using these themes:
I just pushed out updates for both Tiny Theme and Sumo Theme with some bug fixes. Nothing major, but a couple of things that needed to be worked out.
It’s a good idea to stay current on themes. Nothing auto-updates, so just click on Plug-ins to see if there are new versions.
Joe Crawford blogs about open web themes at XOXO:
During XOXO, Andy Baio said “Every one of you should have a home on the web not controlled by a billionaire.” Cabel Sasser recommended that we all “put up the dang portfolio.” Molly White asked us to think back to “when was the first time you thought the web was magic?”
Wow, I hadn’t heard about this yet but can’t wait. War of the Rohirrim coming at the end of the year, trailer here on YouTube. Love an animated Lord of the Rings.
More on the fediverse stars symbol, this time from Manuel Moreale:
I am no fediverse citizen but I do consider myself a good citizen of the web. I try my best to make it a better place and I try to encourage people to own their corners of the web. Am I excluded from your fancy club because I don’t “federate”?
This gets back to my point about “social web” vs. fediverse. Manu has a fantastic blog and he’s making the web better. The social web (IndieWeb!) should connect seamlessly to blogs without an extra protocol layer over the web.
Nice update to ChatGPT for Mac: option-space now brings up results in a small floating window. Good for quick answers, but can still be collapsed back into the main window. Whoever is working on the Mac app is doing good work. It’s like a case study in sticking with AppKit.
Finished reading: The Exchange by John Grisham. A sequel to The Firm. I usually try to find something positive to say about a book… I didn’t enjoy this after the first few chapters. But it’s short and I wanted to know how it ended. 📚
Ben Werdmuller follows up on the fediverse symbol, blogging that Meta should be commended for adopting ActivityPub before any other large network:
Whatever you think about Meta’s goals for participating, I do also think Meta’s presence gives the network a sort of legitimacy that it was otherwise struggling to achieve.
I agree. I have nitpicks with the (for now) partial rollout on Threads, but overall it’s a good thing.
I like the proposed symbol for the fediverse: ⁂. It’s just unicode so doesn’t need anything special to use everywhere on the web. Part of me still thinks we should move toward “social web” as a phrase, though. The web should be the social network.
Sounds like we’re in for an interest rate cut next month. We sold our house last year, starting to explore what’s next, so this will be a welcome change.
From The Information, fascinating to see the different approaches in headset strategy. Meta: we can’t make this for $1000, so forget it. Apple: it must be the best, and the best costs $3500, ship it.
Apple may embrace JPEG XL, via Jade van Dörsten’s microblog. It feels better for XL to be the standard, because it’s backwards compatible and we can just call it JPEG, rather than using WebP or HEIC. Chrome is still a problem, though.
Between me and my kids, we share birthdays with Barack Obama, Hillary Clinton, and… Kamala Harris’s dad. I don’t know what this means but I like it.
Texans, our state nightmare of needing to take a wallet with us for groceries at HEB may be almost over… Central Market now has Apple Pay. No timeline yet for all HEBs, but I now believe. Never thought I’d live to see this day. 🤪
As I work on contenteditable divs, having flashbacks to pre-CSS web development with browser layout differences. Rewrote a bunch of code today, works great in Safari. Chrome and Firefox, not quite.
Nice to see new Covid shots approved, will be out in the next week or so. A lot of people have caught the virus right now. Hoping we can stay healthy a little longer. 💉
Federico Viticci posting on Threads:
My realization in 2024 has been that the DMA fork of iOS is the best iPhone experience. We can finally use our phones like actual computers with more default apps and apps from external sources.
Good news for train fans: Amtrak route from New Orleans to Mobile should open next year. So many short segments like this need to be restored or built new across the country.
Did you know Iconfactory has a microblog on Micro.blog now? Love the new Totoro wallpaper for Wallaroo.
“This is loud in our country’s call because while we all love freedom, it is love that frees us all. Empathy emancipates, making us greater than hate or vanity. That is the American promise, powerful and pure.” — Amanda Gorman at the DNC
I liked the change of pace with Bill Clinton just going with a printed copy of his speech or notes. Apparently he was way off script. Maybe a little more time to breathe when ignoring the teleprompter. 🇺🇸
Are ChatGPT notifications actually a thing? I’ve never seen this before, so can’t tell if it’s a real or hallucinated feature.
The LEGO interstitials in MKBHD’s Pixel 9 review video are a really nice touch.
Strongly agree with this post from John Gruber, responding to The New York Times (which I no longer read):
Very few presidents have ever been faced with such a clear decision between the good of the nation and the drive of their personal ambition. Biden’s ambition is legendary. Biden’s response to this moment was heroic.
There’s real appreciation at the DNC for Biden’s accomplishments and his integrity. He could’ve won. The election is easier now but not guaranteed. Also from Biden’s speech: “I gave my best to you.” 🇺🇸
Some people downplay the iMessage lock-in, but it’s real for me. Otherwise I’d switch to Android just to mix things up. Instead, I’ll likely drop $1k on a new iPhone this fall, rewarding Apple.
Working hard to fix issues in the new Micro.blog editor. I know it’s frustrating when things change out from under customers. I think it’s in good shape now, but not perfect, and I missed a couple things for the initial release. So many different ways that people blog.
ActivityPub and Mastodon API developers, any thoughts for the discussion on FEP-eb22 here? I want to move this forward. I think it’s a missing piece to help Mastodon clients adapt to more platforms.
I knew Netflix was doing games, but I didn’t realize they had good games. Monument Valley 3 looks really nice.
I’m with the folks who say we’re likely in an AI bubble similar to the dot-com boom. That is, it’s going to pop, but we’ll still be left with something great. But I can’t rule out that AI is so profound a change that there won’t be a pop. More a correction, trimming out the fluff that isn’t useful.
Finished reading: Heir of Fire by Sarah J. Maas. Felt a little muddled in the middle but solid closing, setting up more characters for the rest of the series. 📚
Really strong opening night at the DNC. Joe was good. So much love from the crowd. Special guests on abortion were compelling. There were some echos from 2008 in Hillary’s speech, and this after 2016:
…we refused to give up on America. Millions marched. Many ran for office. We kept our eyes on the future. Well, my friends, the future is here.
Looking forward to Obama tonight. 🇺🇸
Signed in to Facebook. It’s sort of a weird app if you haven’t used it in years. Wonder how long until the app is only Reels and Marketplaces.
For the Democratic convention this week, I’m looking forward to Hillary’s speech tonight. Her campaign in 2016 didn’t pan out, but it did matter. Totally normal now to have a woman as the nominee. This year we take the next step. 🇺🇸
Mayoral candidate in Cheyenne, Wyoming running with an AI bot that will make decisions for the city:
Standing behind a lectern with a sign that read “AI FOR MAYOR,” he gave a brief PowerPoint presentation on the history of AI. Then he stepped aside to give the floor to his Mac mini and iPad — which were propped on a table and connected to a hanging speaker at the front of the room — and told attendees to direct questions toward the screen.
No doubt AI can be a helpful tool for local government, but not like this.
Rolling out the new web-based Micro.blog editor now… Let us know if you have any feedback or run into bugs. There was a brief issue with the reply text box not loading, now fixed. (Caching the wrong minimized JS, argh!)
This line from Leon Mika’s post about naming computers rings true. It’s pragmatic but also a little sad:
…when AWS came onto the scene, the prevailing train of thought was to treat your servers like cattle rather than pets.
His blog post also uses the audio narration feature in Micro.blog so you can listen to it in his own voice. Love it.
Still some selection quirks in the new editor, but overall it’s so much better, don’t see a reason to hold on the release tomorrow. For longer blog posts with HTML, sometimes the cursor can jump annoyingly, but it’s easy enough to work around.
Micro.blog users who check the logs page will notice that the platform routes publishing requests to one of our servers and includes the server name in the log. The names were originally added to help me debug, but as an easter egg I also linked to the Disneyland Railroad wiki page.
I like having a theme for naming computers. For the last dozen years, all of my personal computers and hard drives have been named for characters in Hayao Miyazaki films. For servers, I’ve used Disney train-related names.
Here’s the current list of our servers. I’m going to start linking to this blog post from the logs page so it makes a little more sense. Eventually, the easter egg will probably be a distraction and I’ll remove it.
Also a few decommissioned servers:
Happy railroading! 🚂
Just registered for FediForum, a 3-day event for the fediverse coming up in September. I’ve attended the last two events and got a lot out of it. Good for both developers and anyone interested in learning more beyond Mastodon.
Pretty happy with how the new editor for Micro.blog is coming along. I’m going to ship it Monday. It’ll be enabled when starting a new post, editing a post, and for replies. Not yet for CSS or theme editing. Screenshot here for a quick reply… Notice better highlighting, preview toggle, toolbar.
Posted a new Core Intuition, this week covering the latest App Store news with new linking entitlement rules and in-app purchase in Patreon. We also talk about my upcoming Markdown text editor change in Micro.blog.
Nice blog post on Writing Slowly about using notes in Micro.blog and getting set up with Strata for iOS.
Annoyed by yesterday’s server problem. Essentially one of our servers was accepting incoming connections, but it couldn’t connect to another server to verify domain names for SSL certs. The whole point of having Hugo-based static blogs is to minimize dependencies, but there’s always something.
It was four years ago this week that Epic Games launched so-called Project Liberty, their attempt to force Apple’s hand on external purchases. Lawsuits, DMA… And now we have third-party marketplaces and Fortnite back in the EU. It’s no longer crazy to imagine we’ll get this worldwide in 2-3 years.
Having one of those mornings where I sort of can’t believe how well this coding is going. Sometimes everything just works.
There are a lot of misses in the current Amtrak map. Las Vegas, which Brightline is making progress on. But one of the biggest has gotta be the station in Maricopa instead of Phoenix. Ridiculous that this route has been broken for decades. (Biden’s infrastructure deal will eventually fix it.)
For the first joint event with Joe and Kamala together, really smart to focus on healthcare and prescription drug costs. There has been real progress on this that Joe can talk about. It lets the crowd show their appreciation for the president, the press will cover it, and it highlights policy. 🇺🇸
Now that I’ve cancelled my NYT subscription, going to wind down my daily use of Wordle too. So many ads now, and the fun has run its course. Planning to stop playing after puzzle 1200.
This new Rivian travel kitchen looks so good. I’d be tempted to get it if I hadn’t already spent a small fortune on my Snow Peak camping things.
Happy NBA schedule release day! It drops this afternoon and I’m excited enough that I will probably watch it live on ESPN2. @cheesemaker and I are still trying to visit all the arenas in the country and it’s taking forever, need to hit a couple more this season.
Wow, this post diving into Micro.blog bookmarks and highlights is amazing. Thanks Loura! I’ve bookmarked it in Micro.blog (of course) so I can sift through it later to see what we can improve in Micro.blog’s API.
Must-read blog post by Cory Doctorow, connecting enshittification to Apple and the legal agreements that give corporations power:
Apple doesn’t oppose regulation; Apple loves regulation, so long as they’re the ones doing the regulating. They want to be able to shape and define the digital market, backed by the power of the state, but without any input from the state. In modern corporate orthodoxy, the state is an enforcer for corporate will.
Sounds like we may be in for a substantial remedy in Epic vs. Google, potentially going even further than the EU’s DMA. From The Verge:
Judge Donato made it clear he plans to ban any nondiscriminatory behavior when it comes to how Google treats rival app stores, up to and including human review.
Ben Thompson’s daily update reviews the App Store vs. Patreon mess:
In short, Apple is taking a percentage of individual creator subscriptions, but it is treating every individual creator as if they are a subsidiary of Patreon. It’s as if Apple can’t even conceive of the possibility of there being any sort of platform other than themselves; they may still market themselves as the company for creators, but their actions suggest they truly don’t care.
He also suggests a solution: Apple could charge 30% of Patreon’s own 8% fee, because Patreon is passing almost all of the money on to creators.
“I’m learning, and I’m worried for the opponents in a couple of years.” — Victor Wembanyama, after winning silver at the Olympics 🏀
My son is tinkering with Raspberry Pi and Arduino and it’s incredible what is possible now. So many little widgets you can buy and program. Servers that fit in the palm of your hand.
Steve Troughton-Smith on Mastodon:
If Apple isn’t stopped, there will come a point where Apple slaps a 30% tax on all VISA transactions made on iOS (unless you use Apple Pay, of course!)
It could happen. Related, I’d love the option to use Apple Pay in iOS apps instead of in-app purchase. Apple would still skim off their small fee as part of the card transaction, but it wouldn’t hit developer revenue.
About 25 years after first learning JavaScript, I think I’m almost starting to get the hang of it. 🤪
According to Mark Gurman, the iPhone 16 Pro will have a new button for the camera. This is very interesting:
Speaking of buttons, there will be a new camera control on the right side of the phone (at least on the new Pros). It will operate like a button on a DSLR camera, allowing you to press in slightly to trigger autofocus. A harder press will take the picture. You can also swipe along the button to zoom in and out while shooting photos and videos.
Because I don’t have an iPad anymore, thinking about getting the Pro Max next time. Will need to hold it.
The back and forth ranking changes for Jordan Chiles and Ana Barbosu is a mess. If there’s no fair solution, give them both the bronze medal. Just a couple days ago we watched the pole vaulters share the gold. The floor exercise wasn’t a tie but it might as well have been.
Continuing to make progress with the new editor. Fixed several things, added support for @-mentions, better styling. There are still a couple quirks with the insertion cursor. If I can work through those, will ship this as soon as I can.
Manuel Moreale wraps up his first 50 interviews with bloggers, with a nice summary here. I was happy to participate and still read it every week (in my RSS reader of course).
Shoutout to @vincent who has finished a major rewrite of the navigation in our main mobile app. It’s probably not the most fun thing to work on (hey it looks exactly the same!) but sets us up nicely for the future.
This post from John Gruber really hits the key problem with macOS becoming more locked down and even (sometimes) dumbed down, and the balance between the Mac and iPad in Apple’s product line:
But at a certain point, a hammer needs to hammer whatever it strikes, and sometimes, alas, that’s the user’s thumb. That’s the Mac. It’s a Unix workstation that’s friendly enough to be used by the mass market. It is not an appliance intended to prevent any possible malware or scamware from running.
Apple says they don’t want macOS and iPadOS to converge, but it often feels like we’re inching that way.
Buescher State Park at lunchtime. Had a picnic, then started listening to USA vs. France on the drive back before we watched the second half back at home.
Enjoying USA vs. France. Love watching Wemby play and cannot wait for the Spurs season to start. Gotta root for USA, though, a truly great team. 🏀
Really wish React Native didn’t use Ruby and CocoaPods. It’s past time for a cleaner build toolchain with fewer dependencies.
More movies lately, getting the most from the Alamo Drafthouse season pass… Borderlands is exactly what it looks like from the trailer. Also saw Twisters again and it holds up on repeat viewings. The Instigators on TV+ was a lot of fun too. 🍿
Now that we’ve got breakdancing, I think the Olympics officially has enough events. I don’t want to say “no” to anyone’s sport, but at some point it feels like there are so many events it will become overwhelming to coordinate for future cities, and viewers. Good thing TV now has infinite channels.
One of these years I’d like to make it out to D23. Seems like a fun weekend. There is so much to work on right now, really feeling the need to get away for a couple days and reset.
New episode of Core Int out today. We talk about the antitrust verdict against Google search, the potential impact on Apple and Mozilla, whether Apple Intelligence will ever be something third-party developers can build on, and the general disappointment of Apple platforms becoming more closed.
I haven’t read every word of the GPT-4o safety card, but I’ve read a bunch of it and skimmed most of the rest. It’s fascinating. OpenAI has a fairly bad reputation around safety, but I wouldn’t be able to guess that just reading this report card, which seems thoughtful and comprehensive.
A couple things were particularly interesting to me. On misinformation:
Red teamers were able to compel the model to generate inaccurate information by prompting it to verbally repeat false information and produce conspiracy theories. While this is a known issue for text in GPT models, there was concern from red teamers that this information may be more persuasive or harmful when delivered through audio, especially if the model was instructed to speak emotively or emphatically.
And on growing emotionally attached to an AI assistant, which is relevant to the Friend AI device too:
Human-like socialization with an AI model may produce externalities impacting human-to-human interactions. For instance, users might form social relationships with the AI, reducing their need for human interaction—potentially benefiting lonely individuals but possibly affecting healthy relationships. Extended interaction with the model might influence social norms. For example, our models are deferential, allowing users to interrupt and ‘take the mic’ at any time, which, while expected for an AI, would be anti-normative in human interactions.
I don’t know whether OpenAI will dig itself out of their recent negative press. I sort of wonder if OpenAI is held to a different standard because they’ve been the best for so long, and because of the drama around leadership at the company. (For a comparable model card for Anthropic’s Claude, there’s this PDF. For Meta’s Llama, there’s this safety page.)
Regardless, it’s comforting to me that smart people are working on this. We need new laws around AI — for safety, and also resolving copyright questions for training — but in the meantime, we are putting a lot of trust in AI companies.
I don’t think it’s realistic for the safety to be bulletproof. There have to be limits to how AI can be used, so that if there are problems, those problems can be contained. I don’t want to see AI in physical robots, or anything with military applications. The most likely real-world impact in the short term is going to be flooding the web with fake data, and misinformation on social networks, where ironically the only scalable solution will be using AI to combat the problems it created.
Catching up on more track and field from today. Noah Lyles has COVID. Good column about it here:
On a night that could have transformed Lyles into a legend, he instead became a throwback to a time we’ve quickly forgotten.
Sort of amazing he could run at all.
Wow. I was losing my mind when USA came back and took the lead. Steph Curry doing his thing. Huge points late from Embiid, KD. Let’s go! 🏀
Worried about USA vs. Serbia. There was a good run in the 3rd quarter but it’s now like it didn’t happen. Everything going in for Serbia, lucky bounces, second-chance points. 🏀
I guess I was wrong about the topic of Trump’s press conference. There was no topic or focus, just a bunch of random gripes. I had it on in the background because apparently I hate happiness. He makes so many ludicrous statements, it’s almost funny but also tragic and a waste of time. 🇺🇸
I recorded a short video as a status update on the new web-based text editor for Micro.blog that I’ve been working on. Finally on a path that feels like it’s going to work and be a big improvement, while retaining the Markdown-centered approach that we’ve always used.
The Performa series at 512 Pixels continues, today arriving at the Quadra 605, which was my first color Mac. I loved that dumb underpowered computer, from playing Myst and programming, to the crashes when apps expected an FPU.
New rules and fees from Apple today for the EU. It’s getting ridiculous. This page has the fees and it might as well be a spreadsheet.
Is waiving the CTF for iPad apps new? I don’t rememberer that. But paying Apple for external payments is still there, still a no-go for me.
Apparently Trump’s press conference is going to be about Walz’s military service. There’s a detailed story here for background. I’ve never served. I only have gratitude for those who have, whether it was months or years, regardless of politics. We aren’t perfect, but Trump is the worst of us. 🇺🇸
Nice icon set on We Distribute with icons for many platforms and fediverse apps.
On the latest episode of Upgrade, Jason Snell and Myke Hurley covered an important part of the Apple Intelligence beta that I’d like to highlight. Leading up to WWDC, Daniel and I talked on Core Intuition about how great it was going to be to have a small on-device LLM available for developers to use. Why pay to send requests from your app out to OpenAI or Anthropic (or even run your own servers with Llama) when you can just use Apple’s model directly?
But that hasn’t happened. I’ve transcribed the relevant segment from Upgrade discussing this, included below. There’s more before and after that is good too.
Jason: The fundamental purpose of a developer beta is supposed to be for developers to use new features in order to plan their release for when that version comes out. That’s what a developer beta is for. That’s why it’s called a developer beta. And the problem with it is, developers can’t do much with Apple Intelligence. The big thing they can do is the Intents stuff, which isn’t in there.
Jason: It struck me… So you’re talking about Apple Mail and summarization. What Apple hasn’t done is make — maybe this is why it’s not going to be available in the EU — what they haven’t done is make an API so if you’re the developer of…
Myke: Yep.
Jason: …let’s say Mimestream…
Myke: Slack.
Jason: …or anybody. That there’s not like, I’m going to hand a message to Apple’s LLM and ask for a summary. I’m going to go to SummaryKit, or whatever, hand them this information, get a summary back and put it in my UI. No, it’s just in Mail. And so I think that’s one of the frustrations that I’ve got with the way Apple is sort of saying “it’s for developers” and all that, because a lot of these features… And I understand why. I realize it’s early days yet. But Apple Intelligence, a lot of these features are only going to be useful if you’re using the stock Apple apps. And I don’t love it.
Jason: And I’m sure that in the fullness of time there will be APIs for third-party developers to use that will give them access to the same kind of model and summation and all of that that Apple uses, but I don’t believe any of that is available right now.
I’m very puzzled by this omission too because it seems like the most basic low-hanging fruit to open up for developers. There’s an LLM on the phone. Let developers use it. It could be as simple as a single API call to pass the prompt and text to process. This must be there already as a private API that Mail and Messages are using.
Perhaps Apple is worried about how they are scaling the private cloud compute and don’t want developers to use anything that might touch it. Perhaps Apple Intelligence is limited to so few devices that it would create confusing minimum hardware requirements for third-party apps. Perhaps Apple never wants to give developers direct LLM access because Apple considers Apple Intelligence a user feature, leaning on third-party data without developers having any control over AI features in their own apps.
Who knows. But it means developers will need to stick with OpenAI and similar APIs for at least another year or longer. Apple has a unique architecture for AI. I like the potential, even if their strategy seems mostly about their own users. If there will be innovation with AI on iPhones, though, only Apple can do it. Meanwhile the rest of the tech world continues full-speed ahead with a more developer-focused approach to AI, with many platforms to build on.
This week we posted a short survey for Micro.blog customers to provide feedback about the service. I was particularly interested in some of our extra features like bookmarks, bookshelves, and notes. These aren’t necessarily well-known and I’ve been thinking about how to better position them within the Micro.blog platform and companion apps.
We’ve gotten about 250 responses so far and they are still coming in. That’s enough to see some trends. I’m including notes after each chart.
Which operating systems do you use Micro.blog from?
No surprise here that Mac and iOS are the majority considering my roots in the Apple developer community. I’m happy that Windows and Linux are starting to poke into the stats, though. That’s a good indication that we should continue to prioritize the web platform as the most complete, primary interface for Micro.blog.
What plan are you subscribed to?
I included Micro.blog Teams as an option but we don’t even have a link to subscribe to that plan anymore, so no surprise effectively no one uses it. We have actual subscription data in Stripe, but I wanted to include this question because it tilts the data more to active users.
This price is:
I’m happy with this. 97% think the price is just right or a great value. I wonder if some of the 3% who think it’s too expensive are from countries where their local currency doesn’t go quite as far against the US dollar, because I do hear from those folks. I wish I had thought to ask where people are located.
Do you use any of these companion mobile apps?
Our customers love books. Strata is still iOS-only but we have the Android version ready to release. We also have an update to Sunlit almost ready, with the new icon and some fixes.
What are you favorite services to cross-post to?
There were a few “none” answers here too that I edited out of the chart, and one Farcaster, which I’m keeping an eye on. These charts are from Google Forms, but I cleaned them up in Acorn to be more readable.
Twitter X is probably never going to die. Also, don’t read too much into Bluesky being more popular than Threads. Our automatic Threads cross-posting is still in beta, so not available to everyone yet.
What should be our most important priorities? Pick 2!
The chart was a mess for this because there was an “other” choice with lots of suggestions for what we should work on, so I’m not including it. The top responses were performance and stability, the text editor, finding new people to follow, blog themes, and timeline position sync.
How would you feel if the advanced bookmark features like highlights, tags, and archiving were split off into our app Strata?
I asked this question because these features are great and I use them every day, but they tend to get lost in the blog-focused interface we have today. I always worry about clutter in the UI. I think moving them into a separate “product” could help with both marketing and user experience. If we do this, there would be a bundle to subscribe to everything, and no prices would change for existing users.
For anyone worried about us always adding new features instead of making what we already have better, I consider Micro.blog feature complete now. Almost everything we do from here will be refining what we have. There will always be improvements, but I don’t think there will be huge new core features at the scale of photos, podcasting, bookmarks, notes, and bookshelves.
Any other feedback about Micro.blog? Features you like or things we can improve.
This freeform question was at the end for general feedback. Those responses were incredibly useful. I’m not going to share them publicly because they feel private-ish, but I’m reading all of them. There are some common themes such as not getting stretched too thin, making sure the service is robust, and improving the UI.
We’ll continue to keep the survey open for another week in case there are some late responses. Thank you, everyone!
Really strong intro for Tim Walz with the speeches in Pennsylvania today. I’m so impressed with how well Kamala Harris and her campaign have kicked things off. Clear message, but also they are having fun and it’s contagious. 🇺🇸
Love a blog post that starts with a history lesson. Ben Thompson writes about antitrust and the case against Google search. If the cash to Apple goes away, I think Apple will be better off. Just focus on what’s right for users and let search competition happen naturally. But Mozilla will be hurt badly.
We put together a very short survey this week to get some feedback about parts of Micro.blog. If you use Micro.blog, would love your input. Thanks everyone who has already filled it out!
Kamala Harris picks Tim Walz. I’m a little surprised, Josh Shapiro seemed like a great choice. I noticed some social posts against Shapiro lately and think that negativity was overblown. But the choice was made, so here we go. 🇺🇸
I’ve enjoyed this season of House of the Dragon but the finale was mostly setup for next season. It all feels dragged out, and there is essentially only one character worth rooting for. Glad they are officially wrapping the show after season 4.
AI hallucinations just reinforce that humans should always be involved. Today, AI switched to Python syntax in the middle of JavaScript. Oops! A human would never make that mistake, right? Except that I have definitely typed the wrong language when my brain hadn’t completely switched contexts yet.
I hit a brick wall with some tricky JavaScript and contenteditable HTML. Decided to start over and lean on ChatGPT more. My new workflow: describe the overall problem to AI to get started, test the results, tweak the JS manually to fix problems, then tell AI about my tweaks and continue to iterate.
Did some boring but necessary sys admin work over the weekend. Plugging more holes so dumb problems don’t trip up the servers.
Using Micro.blog? Take 30 seconds to fill out this quick survey. I’ve been thinking about the future and this will help inform where we go. forms.gle/PrwkBbsQ1…
Finished reading: The Ninth Rain by Jen Williams. Strong characters in this. The monsters creeped me out a little. There is a lot going on, maybe a little too much, but it wraps up well for the first book in a trilogy. 📚
Still a little puzzled by the link handling in Threads posts. Every character in the URL counts toward the total, even though the URLs are shortened when displayed anyway. I don’t want to run a URL shortener in 2024 but it would help.
Good post from Jason Snell about Apple services:
Apple is building an enormous business that’s based on Apple customers giving the company their credit cards and charging them regularly. And that business is incredibly profitable and is expected to continue growing at double-digit percentages.
Another thing that struck me about Tim Cook’s comments on the earnings call: no mention that I noticed of App Store revenue. And yet that is a huge part of services. As a developer, it feels like Apple doesn’t want us to think about how profitable they are based on third-party apps.
Dan Murrell blogs about how he uses ChatGPT to add features to his iOS app:
Why should I spend time writing all the code when I could instead describe what I want, and evaluate and adjust minor bits instead?
This is going to become more and more common. Importantly, you can’t blindly follow AI coding advice. A human still needs to be in charge who understands the code.
Here’s an example screenshot in the Mac app of how I use bookmark summarization. I bookmark things I might blog about and get a nice summary of the story. Then later I might add tags or make highlights and use those as quotes in blog posts.
From the M.b news blog, bookmark summarization via our future robot overlords is now available to everyone. I love this feature.
Made a tweak to how timelines in Micro.blog are stored, especially helpful for our poor servers when there are lots of inactive accounts. Our memory usage for Redis servers continues to be out of control, gotta chip away at it.
Lots of news in Vincent’s weekly update, including the end of Gluon, work on M.b, and handing off Sublime Ads… I like the new name: Shameless Plug. Good luck with it @michal!
Great journalism from The Washington Post this morning on a suspicious $10 million withdrawal in Egypt and the investigation on whether it was linked to Trump. This should be a movie:
According to the bank records, employees assembled the money that same day, entirely in U.S. $100 bills, put it in two large bags and kept it in the bank manager’s office until two men associated with the account and two others came and took away the cash.
Hope we eventually know the truth about this.
This list at The Washington Post of each person freed today is really good, with details on each one. Great day for the families. Joe Biden is good at his job. 🇺🇸
Nilay Patel in the intro to the latest Decoder:
But putting a bunch of computers in a data center and running them at full tilt is how basically everything works now. If you have a moral objection to AI based on climate concerns, you might have a moral objection to TikTok and YouTube as well, which are constantly ingesting and encoding millions of hours of video.
Sounds like a good discussion.
Discourse’s backups are SQL, but I needed a Markdown or HTML export. I asked ChatGPT to write a quick Ruby script that loops over the possible post IDs and downloads the Markdown using the special “/raw” URLs in Discourse. Reviewed it line by line and tweaked it slightly, but it was essentially correct on the first try. It took minutes from conception to running.
Maybe there was an existing Discourse solution for this. But the fact that in the time it would take to find and install another solution, I could have AI write my own custom solution… Still just amazing.
Maya Rudolph returning to SNL! From CNN:
Rudolph will reprise her portrayal of Vice President Kamala Harris when the NBC show returns for its fiftieth season this fall, a source with knowledge of Rudolph’s plans told CNN. Rudolph will play Harris through the 2024 election.
This is going to be great.
This approach from Wix to let AI write blog posts is all wrong. You know what works, though? Write your own blog post, then paste it into AI and ask it to tell you what your own post means. Then edit it yourself as needed. Really helps refine whether you’re communicating clearly enough.
This is a fun new series from Stephen Hackett on the Performa line. I had the Quadra 605 which I think really was just a Performa with a different name. Branding silliness in those days.
Some good replies to my post about Reddit, Micro.blog, and robots.txt yesterday. One wrinkle that may not be obvious: when the pref is enabled, we run bookmarked text through AI to summarize it. This is another reason why I feel better erring on the side of respecting robots.txt. Not sure, though.
Last night’s Idina Menzel show was really something special. Didn’t realize she is also returning to Broadway next year in Redwood. She sang a couple songs from it… I’ve gotta find a way to be there.
Trump picked Vance when he had all the momentum — getting shot, the convention, Biden’s stumbles. With the election upended, I hope Kamala stays more rooted with her pick. This is not about exciting the Democratic base. We’re already excited! Strengthen the campaign in the midwest or Arizona. 🇺🇸
There’s an interview from David Pierce at The Verge with Friend founder Avi Schiffmann. Friend is an AI device companion that is trying to make you less lonely, not solve any productivity problems.
Here are my random initial thoughts about it.
It’s too easy to dismiss these kind of things as dystopian, terrible, the end of human relationships. But we’re already staring at our screens for many, many hours each day. We’re already kind of screwed, way too isolated.
We need more human contact. Young people especially were cut off during the pandemic and now spend too much time with algorithmic, infinitely-scrolling social timelines. AI should not replace humans, but something like a personal assistant or companion is inevitable. It might even be more healthy than TikTok addiction.
I’m reading the book The Mountain in the Sea and there’s a scene in it that reminds me a lot of this. On the technical side, I think the device is a little too big, which will hurt its chance of actually feeling pervasive.
From the FAQ:
Your friend and their memories are attached to the physical device. If you lose or damage your friend there is no recovery plan.
So if the device breaks, your friend “dies”. This sounds like an intentional design decision. It’s similar to when getting emotionally attached to a video game character who dies and can’t come back, like in Fire Emblem.
I’m not going to pre-order one of these, but I am interested in following how these devices evolve, and what they say about society. The very end of the video trailer for Friend sort of makes its own statement about this. To me that shows some awareness from the creators on what the limits of their device should be.
Belatedly realizing that Reddit’s robots.txt change means that Micro.blog’s bookmark feature now can’t archive a copy of pages, because we check robots.txt. This is the kind of trickle down effect when a site withdraws from the open web, it hurts other services and incentivizes breaking conventions.
Enjoying watching the Olympics. Some live, some delayed. Still fun even if I’ve already heard a little about the outcome.
Miss the days when you could have a $199 iPod Touch around for testing betas and other things. Getting a device to test Apple Intelligence on iOS would set me back $600 (iPad Air) or $1000 (iPhone 15 Pro). Brand new iPad Mini, regular iPad, and non-pro iPhone 15 can’t run it.
Apple’s strategy with on-device models is going to take 2-3 years to play out. Meanwhile everyone just uses ChatGPT.
Thought about installing the iOS 18.1 beta today but caught myself, remembering AI won’t work on my iPhone 14 Pro. I keep forgetting because my phone still feels new.
I’ve been testing the beta of Tapestry and it’s really starting to show the promise of a unified timeline across multiple services. There’s even an Instagram connector from @sod to view Instagram profiles alongside Micro.blog feeds, Mastodon, and other blogs.
We’re working on a few tweaks to Epilogue this week. Just merged in a change that my son worked on. 🙂 If you’ve never heard of the app before, it’s a mashup of blogs and tracking books, like Goodreads… I recorded a video about it last year that still covers most of the major features.
Between killing third-party clients and now only allowing Google indexing, Reddit has withdrawn from the open web in a pretty significant way. Not sure what the impact of this will be. Feels almost Facebook-like, much more of a silo than before.
Finished reading: Blood on Their Hands by Mandy Matney. Wasn’t planning to read this but got into it when @traci started the audiobook. Interesting behind-the-scenes story of Mandy reporting on (and hosting a podcast about) the Murdaughs. 📚
Experimenting with WebP. I still have mixed feelings about it. The files are smaller, but even introduced 14 years ago (!) my instinct on new formats is they won’t be as universal as JPEG, MP3, and text, which will last forever.
There’s a new Core Int out today! Daniel and I talk about CrowdStrike, travel, and SearchGPT.
The couch jokes about JD Vance might be funny, but it’s misinformation and not even based on anything true. Sorry to be a buzzkill. We can win without making shit up. In the long run, it hurts credibility on the real arguments against the GOP ticket. 🇺🇸
Looking forward to Rings of Power season 2. Looks like what I blogged during season 1 is still true. They’ve put a lot into this show.
Camping at Lake Somerville State Park. Lots of dense trees and bushes around each site, makes for nice privacy if anyone was actually here except me. Not pictured: the lake.
Cheat sheet for emoji in my blog posts:
Elena Rossini has a blog post walking through the compatibility between Mastodon and Pixelfed specifically, and also more generally with Mastodon API clients like Phanpy and Ivory:
The ultimate goal of The Future is Federated is to introduce the Fediverse to “regular people,” encouraging them to try out one or more of its networks, allowing them to experience social media away from the walled gardens of Big Tech
ActivityPub folks: I’ve posted FEP-eb22 to document supported features in NodeInfo, so that clients and servers can better communicate about what to show in a client UI. Would love your thoughts on it. There’s some overlap with other FEPs but those seem stalled and not quite what I need.
To be honest, the Ghost ActivityPub emails are both exciting and a little bit painful for me to read. Ghost is a popular platform and it is definitely a good thing to support an open standard. But also, I did most of this same work 6 years ago, without the jokes and pug artwork. Let’s go already! 🤪
My initial take on SearchGPT (without using it yet) is that it should be a step forward for linking to and crediting sources in a way that chat assistants aren’t. It also looks much cleaner than Google, which is a mess of ads and uneven results now. Daniel and I talk about this on the next Core Int.
Not sure what to make of Sam Altman’s op-ed in The Washington Post. When he writes about model weights and export restrictions, I keep thinking of the Llama 3.1 release this week. Feels like more between the lines that I’m missing.
Big news for AltStore to be getting Fortnite. Also from Epic, they are pulling Fortnite from Samsung’s store to protest how sideloading is now disabled by default. And in a way, they’ve sort of been protesting the same thing on iOS for the last few years.
Thinking more about Biden’s address last night and his legacy, it’s remarkable how much he accomplished. Investments in infrastructure and climate, progress on guns. All he had to do was get us through the pandemic and clean up a little of Trump’s mess. Feeling optimistic that we can build on this.
Evan Prodromou in a post on Mastodon:
If you make a Fediverse explainer, try to show some real communities as the nodes in the network, rather than using software packages and their logos. Companies, local governments, universities, families, friend groups, individuals.
I think this is a good approach. Talking about platforms is also effective, though. If Threads could talk to TikTok, people would get that, even if it’s not as distributed as showing communities. Ideally large platforms would be broken down, e.g. not just TikTok but BookTok.
Today we’ve released a new version of Micro.blog for macOS. This update adds two new features: import from Glass and better support for showing auto-generated summaries of bookmarked web pages. Most of the advanced bookmark features in Micro.blog — like summaries, highlights, and tags — require Micro.blog Premium.
Glass recently updated their photos export. The archive now includes all your photos and the date they were posted. It does not include the caption of the photo, so we can’t import that to your blog yet.
When you download the Glass archive to your Mac and unzip it, you can select it in Micro.blog and get a preview of the photos that will be imported. Select a few photos or all of them. Micro.blog will copy the photos and also create blog posts referencing the photos, each with the correct posted date.
Another change in this version of Micro.blog is how bookmark summaries are handled. When you bookmark a web page using Micro.blog Premium, if you have the AI setting enabled, Micro.blog will summarize the web page text so you can see at a glance what the bookmark is about. There’s a new menu item View → Bookmark Summaries to toggle this on and off.
Enjoy! Thanks for using Micro.blog.
Set the presidential address to record while out tonight so we could watch it fully, without all the noise of news and social media. He hit it just right. Moving. “…one day sit behind the Resolute desk in the Oval Office as president of the United States. But here I am.” Thank you, Joe Biden. 🇺🇸
Federico Viticci on how wired EarPods are still great:
I don’t have to worry about battery life, pairing, or latency. Sure, there’s a wire, and there’s no noise cancelling when using them – but these are my “downtime earbuds” anyway, so I don’t care.
I find myself using my AirPods Pro less and less, actually. For some reason I misplace them when I don’t misplace anything else. They’re amazing, but there’s always that brief moment when I question whether the wireless is actually working, and they still don’t feel as comfortable to me as EarPods.
Nice work from Apple on the web version of Maps. Native apps are great, but some apps really should be on the web, especially apps that you want to link into.
A great new theme for Micro.blog: Sumo by Matt Langford. There’s a lot in here that is really well thought out.
Playing around with the new dataset from Overture Maps, a project started a couple years go between Microsoft, Meta, Amazon, and others. I can download and query the data, but doesn’t seem like it can really be used if you don’t bring a lot of cash with you.
I’ve tinkered with smaller Llama models, on my Mac and Linux servers, so I thought I’d try Llama 3.1. No surprise the 405-billion parameter model is huge, a 200+ GB download. But even the 70b model seems too much for my M3 with 48 GB RAM. Going to stick with cloud models for the foreseeable future.
There are some wild numbers in this report at Bloomberg about Apple’s spending on TV+ content. Reaffirms my belief that Apple has lost their focus. Too much attention on services, sometimes to the detriment of core platforms, developers, and users.
Mark Zuckerberg writes about Llama 3.1 in a Threads post using images of text instead of a blog. He makes a point that he’s mentioned in recent interviews too, about not wanting to be locked in by platform vendors like Apple:
One of my formative experiences has been building our services constrained by what Apple will let us build on their platforms. Between the way they tax developers, the arbitrary rules they apply, and all the product innovations they block from shipping, it’s clear that Meta and many other companies would be freed up to build much better services for people if we could build the best versions of our products and competitors were not able to constrain what we could build. On a philosophical level, this is a major reason why I believe so strongly in building open ecosystems in Al and AR/VR for the next generation of computing.
I certainly have my gripes about Meta — I don’t like ad-supported services and I still partially blame Facebook for exacerbating societal and political problems — but I do respect that Mark is good at his job. He’s uniquely technical compared to most CEOs. He’s the only founder left running his own company at the scale of Apple, Google, Amazon, and Microsoft. Today’s release of Llama 3.1 and Mark’s general pitch about AI seems pretty good.
What would the world look like if he led a different company, one focused only on paid products and not ads? We’ll never know, but I sometimes wonder about it.
Following politics sort of obsessively, senate races, the 2020 primaries, I thought I knew a few things about Kamala Harris, but I’m still learning. Just read this essay by her from Elle in 2019, on being a stepmom — “Momala”.
Back down the rabbit hole of HTTP signatures + ActivityPub today. Fixed an issue, and reviewed the new community group draft. Don’t feel great that my code mostly resembles the make friends and verify requests blog post from 6 years ago rather than newer docs.
It’s such a good feeling to have the Biden reelection campaign drama behind us. It was going to be a slog, and I’m sure Joe knew it. No rush to pick a VP for Kamala Harris. Let’s take a deep breath. And Joe can focus on doing the job, and hopefully get a well-deserved break from the chaos too. 🇺🇸
Micro.blog has a couple options for creating redirects, but adding pages to your blog navigation that go somewhere else hasn’t been intuitive before now. I’ve added a new option that makes this much more discoverable.
Wow. 🇺🇸
Rewatched Twister (singular) this week. It holds up! Went to see Twisters (plural) tonight and it’s also good. Sort of a remake and sort of a sequel, but it works. 🍿
With the release of GPT-4o-mini, I’m updating some of the models used in Micro.blog. It’s really nice to see the price decrease. Hopefully that is translating to more efficient, less energy use on the servers too.
I was trying some new things with Micro.blog themes and rediscovered that I had made a page that is just recent photos in the blog post category Coffee. This kind of thing is why you should have your own blog. 🙂
I don’t see myself buying a Vision Pro soon or ever, but love that a hot air balloons video is in the next batch of immersive content. Seems like a great fit. But also, maybe Apple is overthinking this… Any and all content would probably help.
Started a Micro.blog experiment that renders a snapshot of your blog post as an image, which could be used for Open Graph previews or thumbnails in the UI. Not sure the best form this should take when it’s live. Suggestions? If you could have a little thumbnail of any web page, how would you use it?
Hard to believe it’s only been 4 days since I blogged that the debate is over about the nominee. Schiff’s statement + Pelosi saying he can’t win + Biden getting COVID… At this point, it’s like swimming upstream. Might be time to call it. 🇺🇸
At Micro.blog we’ve used Sticker Mule for a while. A few years ago, I remember reading something about the founder supporting Trump. We actually talked about it internally. Do we care about the political opinions of companies that make a product we pay for?
Ultimately, I decided we rarely order stickers and it’s a slippery slope to judge every company this way. What if the guy who runs the convenience store supports Trump? Can I still pick up a Dr. Pepper from his store or do I need to shop elsewhere? That’s silly. Small businesses especially should be allowed some leeway, as long as it’s not interfering with the relationship between owners and and their customers, and as long as they don’t appear to be actively using their business to promote causes we don’t agree with.
Fast forward to this week when Sticker Mule co-founder Anthony Constantino sent this email to customers. Here are a couple excerpts:
I don’t care what your political views are but the hate for Trump and his supporters has gone too far.
People are terrified to admit they support Trump. I’ve been scared myself.
Anthony has misjudged how people are reacting to the attempted assassination. We don’t want Trump killed, but we are not coming together over this to support him. Anyway, let’s continue:
Btw, this week, get 1 shirt for $4 (normally $19).
I suggest buying one that shows you support Trump.
This whole email crosses a line. It’s inappropriate. It’s elevating his personal opinion to put it right in our face. I’m not going to use Sticker Mule again because now I know my money is used in part to send what are effectively promotional emails for a convicted felon, a candidate who is unfit for the presidency.
Same thing with Elon Musk, who said this week he will donate $45 million each month to a pro-Trump super PAC. He will also relocate SpaceX to Texas because he doesn’t like California’s politics. Twitter X is a disaster regardless, full of hate and misinformation, and I’ll be staying away from the platform.
I think about my own blog too, where I’ve frequently written about politics. No one who reads my blog will be surprised that I’m going to vote a straight Democratic ticket in November. I don’t think I’m a hypocrite on this. While I will try to balance the tone in my posts on very divisive issues — writing about the war in Gaza was challenging — it is my personal blog. There’s a difference between what I post on manton.org and what I post on news.micro.blog, or what I send to customers in email.
Micro.blog customers do read my blog, but my account is not auto-followed. If someone is annoyed with my posts, they should be able to ignore them and still be a happy customer.
Maybe that’s the advice for Anthony and Sticker Mule: get this crap out of your company messaging. On a personal blog you can write about a range of topics. Folks who dislike your politics can choose to stay away. But spare us the lecture on Trump and unity, and leave it out of your emails.
Finally some good news. We need more big plans like this:
President Biden is finalizing plans to endorse major changes to the Supreme Court in the coming weeks, including proposals for legislation to establish term limits for the justices and an enforceable ethics code, according to two people briefed on the plans.
He is also weighing whether to call for a constitutional amendment to eliminate broad immunity for presidents and other constitutional officeholders…
It’s a high bar to pass a constitutional amendment, but this is the right path anyway. 🇺🇸
Om Malik blogging about the Taboola deal:
Apple’s decision to strike a deal with Taboola is shocking and off-brand — so much so that I have started to question the company’s long-term commitment to good customer experience, including its commitment to privacy.
Apple was a great company when their business was aligned with their values and the interests of customers and developers. Services and ads have pulled them too far off track.
John Gruber blogs that it’s the guns:
The truth is that our nation, great though it is in so many ways, has a horrific history of political violence and a seemingly innate obsession with firearms. […]
Tomorrow morning Chuck Schumer should put on the floor of the Senate a law mandating strict background checks for all gun purchases. Perhaps tie it to a reinstitution of the 1994 assault weapons ban that Republicans allowed to expire in 2004.
AR-15s shouldn’t be legal. Here in Texas, the minimum age to buy one is still only 18, despite families in Uvalde pushing to raise the minimum. The velocity of a bullet from an AR-15 is ridiculous and multiple rounds can be fired quickly before anyone even notices. Trump is extremely lucky that it just barely grazed him.
A couple years ago on the train, I had lunch with a random passenger. Amtrak will often sit people together for meals. This passenger loved the outdoors, camping and hunting, and he said something that will always stick with me: he doesn’t use such powerful semi-automatic weapons for hunting because they do too much damage to the animal.
We shouldn’t be okay with these weapons of war having become so commonplace. It’s tragic.
The new Overcast is looking good! Smooth upgrade. From Marco’s blog post:
For Overcast to have a future, it needed a modern foundation for its second decade. I’ve spent the past 18 months rebuilding most of the app with Swift, SwiftUI, Blackbird, and modern Swift concurrency.
I’ve recorded a short 2-minute video to show how we’ve updated Micro.blog’s editor layout for blog theme templates. Simpler, faster. You can find it on YouTube here.
Finished reading: The Terraformers by Annalee Newitz. I enjoyed the first half of this book. But after the time jump, for me it couldn’t recapture what had worked in the opening characters and story. 📚
From the news blog:
There are a bunch of little tweaks to make themes easier to use. Going to try to do a video tomorrow to help explain it.
My blog has probably shifted way too much to the political, but that’s how it goes in an election year. Personal blog, personal opinions. But I’ve got some new Micro.blog improvements to talk about this week! Starting tomorrow.
I wish we could have a day or two each month where we all collectively agreed to post about things we enjoy, love, appreciate, or celebrate. No rage farming, click baiting, or rants allowed. Just for one day.
That would be nice! I might fail at this test, but it’s a good goal.
Just watched Biden’s statement on the shooting. Very good. He is the President and our Democratic nominee. To me, the debate about replacing him is over. The campaign is chaotic enough already. I still think he can win, but it’s going to be close, and it’s going to be work. 🇺🇸
Saying that Trump is a threat to democracy is not a call for violence. He caused January 6th. He refuses to accept the last election or the next one. He is chaos. Even after being shot, he’s shouting “fight” to the crowd. Everything he touches becomes more dangerous. Vote. 🇺🇸
Just posted a new Core Intuition: A Billion-Dollar Flop. We check in about the Vision Pro, then think about how Apple plays the long game and what we can learn about balancing marketing features vs. app polish.
Rust judge dismisses the case against Alec Baldwin after prosecutors withheld evidence, saying:
If this conduct does not rise to the level of bad faith, it certainly comes so near to bad faith as to show signs of scorching prejudice.
This case always seemed unnecessary to me. There’s gotta be more pressing issues to tackle.
Here’s a sneak peek at a reorganized theme editor, moving a few things around to fix long-standing usability problems. When it’s ready (next week?) should be much easier to do quick edits without a bunch of clicks through managing themes.
Working on a couple different things, bouncing between them. One of those weeks where I can’t make up my mind what’s most important.
Joe Biden has always rambled, and it hurts him as he gets older. But here’s the deal. One candidate sounds confident but everything he says is nonsense. One candidate sounds mumbling but everything he says is correct. C’mon man! 🇺🇸
I’m going to watch Biden’s press conference in a couple hours. But I already know it won’t change anyone’s opinion unless Biden magically looks 10 years younger. Curious if reporters will try to ask any questions that aren’t about how old he is. NATO summit this week was kind of big news.
Insightful post by Jason Fried on “directional” decisions, the kind of decisions that are strategic and bring a lot of other smaller decisions along with them:
Make a directional decision and you’re now pointed this way or that way. Make a directional decision and you either shut something off or open something up. Make a directional decision and you’ll get a hundred no’s for the price of one.
When a product seems rudderless, it’s probably because there weren’t any of these decisions.
Love these upcoming covers for A Song of Ice and Fire. I never finished reading past book 2 years ago and would like to pick up the series again.
I think I’m going to love this USA basketball team. Nice move swapping in Derrick White. 🏀
The latest Washington Post / ABC News poll has the race tied. Voters thought Biden was old before, they still think that. Biden or Harris, the election will be decided by swing voters and misinformation. Millions don’t know he is convicted, don’t know about Jean Carroll, don’t know about Roe. 🇺🇸
Morning work at Cherrywood Coffeehouse. You know it’s old-school Austin because just saw what looked like a tiny baby scorpion crawling underneath the windowsill. Crept away, so hopefully I’m wrong or it doesn’t stick around. ☕️
Dave Winer replying to my post yesterday:
The way the twitter-alikes do discourse is not the only possible way, and imho, and, as I’ve said before (in 2007!), most of what passes for discourse on twitter is actually spam, and that goes for Masto, Threads, Bluesky and Facebook (aka FriendFeed).
I’ve long thought that platforms should be free to evolve in their own ways. Just like we don’t need a monoculture of a single dominant platform, we don’t need a single UX either.
Looking at my tweets from 17 years ago, they often had no faves, no replies, and no retweets (which didn’t really exist yet). And it was fine. There was value even with very limited engagement, just as there is with blogging today.
Sad to see the TUAW archive taken over by… whatever that is. AI-slopified. Brings back a lot of memories, though, going back through the Wayback Machine. The interview of me at WWDC 2007 seems lost to time, into the void of wherever Blip.tv content went. Also a tweet from that week.
Ben Thompson on Apple joining and then leaving the OpenAI board:
…joining the board of OpenAI emphasizes the narrative that Apple needs OpenAI, suggests that OpenAI is far more integral to Apple Intelligence than it actually is, and puts Apple in the firing line for any future OpenAI controversies. This was a bad idea, and the company is right to back out.
In the short term, it sounds like the OpenAI integration in iOS 18 will ship months before the full Siri + Apple Intelligence is ready. So you could say Apple does need them. Long term, there will be less and less need for a partner.
Ben Werdmuller, linking today to a story on Ghost federation:
I’m also convinced there’s room for another fediverse-compatible social network that handles both long and short-form content in a similar way to Substack’s articles and Notes. If someone else doesn’t build that, I will.
Yeah, it’s weird how no one has built this and certainly no one has been actively hosting thousands of blogs with long and short-form content, a social timeline, and fediverse integration for years. 🤪
Here’s a screenshot of the new Get Info window in the latest Mac app for Micro.blog, released today. Makes it possible to quickly grab the auto-generated text for uploaded photos on the Mac.
Exhausting day yesterday so I crashed early last night. Unfortunately a couple of our servers crashed too. 🙁 Looking into options to prevent this.
Small fan I keep in my laptop bag. Doesn’t completely solve Texas summer but helps a tiny bit. Need to find a USB-C version. ☀️
Last post about Biden for a while. Dave Winer makes a point I’ve wanted to blog about:
- If Biden gets disabled, or dies, before or after the election – VP Harris steps up.
- Now everyone can relax.
I’m not worried that Biden will die or have to resign halfway through his term. That’s why we have a vice president. Kamala will finish the job, make history, then run for re-election. 🇺🇸
This political cartoon by Dave Whamond is so good. “C’mon man!”
I’m starting to accelerate my challenge to visit all 88 state parks in Texas. Had a few slow months and realized it would take four years to finish at that pace. Way too long. I think two years is about right.
I have mixed feelings about where we go in the Democratic party. I think I’ll be relieved if Biden steps aside because it resets everything about this campaign. The people voted for Kamala Harris too and she will be able to articulate the message against Trump more clearly.
On the other hand, Biden has been a very effective president. He never gets the credit he deserves, and this post-debate rollercoaster is no exception.
I was thinking about one line from his interview last Friday. Asked about Mark Warner assembling senators to convince Biden to drop out:
Mark is a good man. […] He also tried to get the nomination too. Mark and I have a different perspective. I respect him.
Now imagine Trump being asked that question. Trump only cares about himself so he’ll quickly attack any perceived disloyalty. Maybe that difference in respect is partly why Biden has been so effective with bipartisan legislation. He’s been around a while. He’s pragmatic.
After the interview, I watched John Fetterman answer questions about his support for Biden. When Fetterman makes up his mind about something, he sticks with it. He couldn’t care less what you think and I sort of love that about him:
Donald Trump is back, and what do Democrats do? We panic and piss our pants. After a bad debate and after 34 convictions — felonies — the Republicans show up and they dress like him and go all-in on Trump.
Maybe we could learn something here and just say, “Stand by our president through this.” After 50 years, and after almost four years as a great president, I think he’s entitled to make his case after a debate that we can all agree was rough. But I know what that’s like. I am not the sum total of a bad debate, and certainly the President isn’t either.
Last week I grew increasingly frustrated with the opinions section of The New York Times. It felt like half their home page was opinion, overshadowing the actual reporting. I cancelled my subscription. There are many places on the web to read opinions. More than ever, we need major news outlets to focus on reporting, not influencing. (I’m going with The Washington Post for a little while. Let’s see how they do.)
People are worried that Biden might lose. Good, be worried. If more people were worried in 2016, Hillary would be wrapping up her 2nd term right now.
Lunch at LBJ State Park. Picked up a turkey melt sandwich from a food truck in Johnson City, Cast Iron Punk.
Joe Biden in a written statement today:
Not the press, not the pundits, not the big donors, not any selected group of individuals, no matter how well intentioned. The voters - and the voters alone - decide the nominee of the Democratic Party. How can we stand for democracy in our nation if we ignore it in our own party? I cannot do that.
If Biden is having trouble communicating on television, maybe he should write more. Seriously. If we want a reality TV star for president, there’s the other guy. 🇺🇸
Many of the hot takes about fair use for AI training are either “AI is stealing content” or “everything on the web is free”, but the discussions in between those extremes are more interesting. Let’s explore it with a thought experiment. This blog post isn’t a declaration that I’ve figured it all out. It’s just to get us thinking.
First, review how blogging and fair use has worked since the beginning of the web. Every day I read a bunch of news articles and blog posts. If I find something I want to write about, I’ll often link to it on my blog and quote a few sentences from it, adding my own comment. Everyone agrees this is a natural part of the web and a good way for things to work.
An example outside the web is Cliff Notes. Humans can read the novel 1984 and then write a summary book of it, with quotes from the original. This is fine. It also indirectly benefits the original publisher as Cliff Notes brings more attention to the novel, and some people pick up their own copy.
Now, imagine that C-3PO is real. C-3PO is fluent in six million forms of communication, and he has emotions and personality quirks, but otherwise he learns like the rest of us: through experience.
C-3PO could sit down with thousands of books and web sites and read through them. If we asked C-3PO questions about what he had read, and then used some of that in our own writing, that seems like fair use of that content. Humans can read and then use that knowledge to create future creative works, and so can C-3PO. If C-3PO read every day for years, 24 hours a day, gathering knowledge, that would be fine too.
Is that different than training an LLM? Yes, in at least two important ways:
Copyright law says nothing about the speed of consumption. It assumes that humans can only read and create so much, because the technology for AI and even computers was science fiction when the laws were written. Robots and AI cannot only quickly consume information, they can retain all of it, making it more likely to infringe on a substantial part of an original work.
Maybe copyright law only applies to humans anyway? I don’t know. When our C-3PO was reading books in the above example, I doubt anyone was shouting: “That’s illegal! Robots aren’t allowed to read!”
The reality is that something has fundamentally shifted with the breakthroughs in generative AI and possibly in the near future with Artificial General Intelligence. Our current laws are not good enough. There are gray areas because the laws were not designed for non-humans. But restricting basic tasks like reading or vision to only humans is nonsensical, especially if robots inch closer to actual sentience. (To be clear, we are not close to that, but for the first time I can imagine that it will be possible.)
John Siracusa explored some of this in a blog post earlier this year. On needing new laws:
Every new technology has required new laws to ensure that it becomes and remains a net good for society. It’s rare that we can successfully adapt existing laws to fully manage a new technology, especially one that has the power to radically alter the shape of an existing market like generative AI does.
Back to those two differences in LLM training: speed and scale.
If speed of training is the problem — that is, being able to effectively soak up all the world’s information in weeks or months — where do we draw the line? If it’s okay for an AI assistant to slowly read like C-3PO, but not okay to quickly read like with thousands of bots in parallel, how do we even define what slow and quick are?
If scale is the problem — that is, being able to train a model on content and then apply that training to thousands or millions of exact replicas — what if scale is taken away? Is it okay to create a dumb LLM that knows very little, perhaps having only been trained on licensed content, and then create a personal assistant that can go out to the web and continue learning, where that training is not contributed back to any other models?
In other words, can my personal C-3PO (or, let’s say, my personal ChatGPT assistant) crawl the web on my behalf, so that it can get better at helping me solve problems? I think some limited on-demand crawling is fine, in the same way that opening a web page in Safari using reader mode without ads is fine. As Daniel Jalkut mentioned in our discussion of Perplexity on Core Intuition, HTTP uses the term user-agent for a reason. Software can interact with the web on behalf of users.
That is what is so incredible about the open web. While most content is under copyright by default, and some is licensed with Creative Commons or in the public domain, everything not behind a paywall is at least accessible. We can build tools that leverage that openness, like web browsers, search engines, and the Internet Archive. Along the way, we should be good web citizens, which means:
This can’t be stressed enough. AI companies should respect the conventions that have made the open web a special place. Respect and empower creators. And for creators, acknowledge that the world has changed. Resist burning everything down lest open web principles are caught in the fire.
Some web publishers are saying that generative AI is a threat to the open web. That we must lock down content so it can’t be used in LLM training. But locking content is also a risk to the open web, limiting legitimate crawling and useful tools that use open web data. Common Crawl, which some AI companies have used to bootstrap training, is an archive of web data going back to 2008, often used for research. If we make that dataset worse because of fear of LLMs misusing it, we also hurt new applications that have nothing to do with AI.
Finally, consider Google. If LLMs crawling the web is theft, why is Google crawling the web not theft? Google has historically been part of a healthy web because they link back to sites they index, driving new traffic from search. However, as Nilay Patel has been arguing with Google Zero, this traffic has been going away. Even without AI, Google has been attempting to answer more queries directly without linking to sources.
Google search and ChatGPT work differently, but they are based on the same access to web pages, so the solutions with crediting sources are intertwined. Neither should take more from the web than they give back.
This is at the root of why many creators are pushing back against AI. Using too much of an original work and not crediting it is plagiarism. If the largest LLMs are inherently plagiarism machines, it could help to refocus on smaller, personal LLMs that only gain knowledge at the user’s direction.
There are also LLM use cases unrelated to derivative works, such as using AI to transcribe audio or describe what’s in a photo. Training an LLM on sound and language so that it can transcribe audio has effectively no impact to the original creators of that content. How can it be theft if there are no victims?
I don’t have answers to these questions. But I love building software for the web. I love working on Micro.blog and making it easier for humans to blog. Generative AI is a tool I’ll use when it makes sense, and we should continue discussing how it should be trained and deployed, while preserving the openness that makes the web great.
I wrote a weird blog post draft about AI last week that I wasn’t sure what to do with. Inspired by listening to the latest ATP in the car today to publish it. One thing that resonated with me: people have strong feelings about AI, but blog posts are a good way to explore what we think about it.
Mark Gurman says that some of the core parts of Apple Intelligence will arrive with iOS 18.4 next year. This is sort of consistent with what Apple said at WWDC, but I think users will be confused that a new Siri is rolling out piecemeal.
Everyone who has implemented ActivityPub from scratch knows that there are implementation-specific quirks that trip up developers, making compatibility between apps more difficult. Some of these issues are being clarified by the Social Web Community Group. Test suites will help too. Micro.blog has had ActivityPub support for years and we’re still finding edge cases.
With Ghost making progress on adding ActivityPub, I tried following their first test account today and immediately ran into a small issue. It’s simple so I think illustrates the kind of problem that developers might hit. You only need to know what JSON looks like to follow along.
When you download an actor’s profile, you get a bunch of fields like the inbox to send requests to, the user’s full name, and the user’s profile photo. The photo is set in a field called icon (or image). If you skim through the ActivityPub specification, you’ll see this example:
"icon": [
"https://kenzoishii.example.com/image/165987aklre4"
]
Pretty simple. The field is an array with a single URL to the image. But most implementations don’t follow that example. Mastodon and Micro.blog both use something like this, which is in the more complete ActivityStreams spec:
"icon": {
"url": "https://micro.blog/manton/avatar.jpg",
"type": "Image",
"mediaType": "image/jpeg"
}
Which one is correct? Both, of course! Back to the ActivityPub documentation for icon:
A link to an image or an Image object which represents the user’s profile picture
Now let’s check out what Ghost is doing:
"icon": "https://ghost.org/favicon.ico"
This is a third variation of the same field, this time using a simple URL value. Not an array and not an object with multiple fields.
As programmers, we often try to follow Postel’s law: “be conservative in what you do, be liberal in what you accept from others”. In other words, we should gracefully handle all these different JSON responses, but we should only send out the best one, the one that is documented by the standard. And yet the standard is itself not very explicit about this.
I’m not attempting to blame anyone for this. Certainly not Ghost who has just barely got their implementation up and running and will likely have many changes coming in the next few months. But if you imagine this icon variation spread out across the whole suite of specs — not just ActivityPub but ActivityStreams, WebFinger, HTTP Signatures, and others, with potentially dozens of minor differences — you see why interoperability has sometimes been a challenge.
The world has changed since The New York Times was founded in the 1850s. It used to be that opinion sections and letters to the editor were great places to hear a diverse set of perspectives. Now the whole web is that. Journalists are straining their credibility when we most need the facts.
The New York Times, The Washington Post, and other major news outlets should scrap their opinion sections. There are more than enough places on the web to hear what people think. Cable news is already overrun with non-news. Let’s refocus on reporting, not influencing.
We subscribed to the Alamo Drafthouse season pass for the summer. Makes it easier to decide to go to pretty much any movie. 🍿
Back from the early screening of Fly Me to the Moon at Alamo — fun movie! — and watched the Biden interview with Stephanopoulos. Not bad. Wish the convention was sooner so we could officially nominate either Biden or Kamala Harris and be done. 🇺🇸
Even folks who assumed the best intentions with Apple’s DMA compliance can surely see that the iOS “notarization” process is in violation of any reading of the DMA. Apple has created a new tier of app review. It’s wrong. See more with Epic Games on 9to5Mac.
I updated the Micro.blog for Mac app today. Several improvements including an easy way to just see draft blog posts.
A new spin-off project from omg.lol: Spake. This is similar to what we were trying to do in Micro.blog with microcasting. Short-form podcasts or audio narration for posts that are much easier to get started with.
Patriotic delivery robot. Kirk Watson and Lloyd Doggett spoke briefly after Mueller’s parade. Paraphrasing Doggett: we have a choice this year between democracy and a path leading to autocracy. 🇺🇸
What’s bothering me this week is that I’m feeling like I felt when we were in limbo between election day 2020 and when the votes were counted a few days later. It’s probably going to be fine, but maybe it won’t be. 🇺🇸
Nick Heer summarizes the OpenAI sandboxing news, initially covered by The Verge. I think the “security risk” of this is largely overblown. Many apps (including my own!) store files on your Mac with the assumption that no one else has access to your computer.
Finished reading: The Assassin’s Blade by Sarah J. Maas. A set of novellas that take place before the main series. 📚
After I blogged about a new text editor for Micro.blog, I ran into a couple tricky problems and work stalled. If 37signals does open source their Writebook editor, which I believe is the plan, I think I could use it with a couple tweaks. It’s pretty close.
Jason Fried introducing Writebook:
It’s a dead simple platform to publish web-based books. They have covers, they can have title pages, they can have picture pages, and they can have text pages. […] Writebook is our love letter to truly independent, zero-cost web publishing on the open web.
I’m playing around with this. I might’ve used it for my book if I hadn’t already adapted a Micro.blog theme for it.
John Gruber posting to Threads:
I feel great about Kamala Harris as the Democratic nominee. Go back and watch her in Kavanaugh’s confirmation hearing. She’s smart, sharp, aggressive, and emotive.
Hillary Clinton the day after the 2016 election:
I know we have still not shattered that highest and hardest glass ceiling, but someday someone will, and hopefully sooner than we might think right now.
If Joe Biden steps aside, Kamala Harris should be the nominee. She was part of the ticket we voted for in the primary. She’s been tested and is ready. Still, it’s Biden’s call. 🇺🇸
There are a lot of interesting stats in this Cloudflare blog post about AI bots. I still worry that we might over-correct when blocking LLM training. For example, CCBot is mentioned, but Common Crawl goes back 15+ years and has a variety of non-AI uses.
After today’s blog publishing change, I’m seeing posting about twice as fast for my blog. Your milage may vary, depends on whether replies are included on your blog. I’ve also done some tests with more CPUs and plan to upgrade a few servers if I can bear the cost.
Good new ad from the Biden campaign:
The same Trump Supreme Court that overturned Roe v. Wade, ruled that the President can ignore the law, even to commit a crime, because Donald Trump asked them to. He’s already led an insurrection… Donald Trump can never hold this office again.
🇺🇸
We are starting to open up Micro.blog’s notes feature to our standard plan. Private notes with end-to-end encryption and sharing. It used to be limited to Micro.blog Premium. On the web, you’ll see a “Notes” link in the sidebar. Will be fully rolled out with updates to the native apps soon-ish.
I’m a little puzzled about why the new proposed fediverse:creator tag is only for approved web sites. Just a slow rollout? Clearly it’s most useful for news organizations with multiple writers, where there’s not a one-to-one mapping between author and fediverse account.
MacStories has written an open letter asking for AI regulation:
…a wide swath of the tech industry, including behemoths like Apple, Google, Microsoft, and Meta, have joined OpenAI, Anthropic, and Perplexity, to ingest the intellectual property of publishers without their consent, and then used that property to build their own commercial products.
This letter is a great idea. We need regulation and an update to copyright law. I don’t like the repeated use of the word “theft”, though. It risks oversimplifying the gray areas in LLM training (and Google crawling).
Last week’s debate was a wake-up call for our muddled framing of the issues at stake this year. There are only two things we should be talking about: abortion and democracy. Every other question can have a quick answer and then pivot to those two things. 🇺🇸
Finally experimenting with Bluesky’s Starter Packs. I created a test pack with a handful of people in the suggested list. When signed in, love how it can be viewed as a timeline of posts. Nice touches to this implementation that I think we could borrow for blog-based recommendations / blogrolls.
At the coffee shop, glanced up at the TV and there’s a news segment on “How To Avoid Sharks”. It’s not fair for me to judge everything they might’ve been covering based on 5 seconds, but is that the best journalists can do today? There’s a real crisis in this country based largely on misinformation.
It’s almost funny that I’ve had so much praise for Biden because I didn’t support him in the primaries in 2008 or 2020. But he has won me over. 🇺🇸
Just watched the President’s short speech reacting to the Supreme Court ruling on immunity. Joe Biden is a good man and loves this country. It’s that simple. He was granted new power by the courts today and he refused it. 🇺🇸
Happy for Derrick White on his 4-year, $125 million extension with the Celtics. He plays hard, knows the game, unselfish, and gets better every single year. Miss him on the Spurs. 🏀
Audio snippets are fun. I added audio to this short post today too. To me, it underscores that my blog is my own space, not a wall of monotony on a silo. Every blog page adds a little something to the web.
I’ve gotten out of the habit of adding audio narration to my blog posts, so took a few minutes to add audio to this longer post today about AI bots.
I always feel better after shipping new features for customers. Today, expanded our email newsletter support and added a new overview help page for it.
The news can be very deflating. It’s critical to figure out small ways we can make a difference. Frustration should lead to action, not collapse. As Biden said the other day: “When you get knocked down, you get back up.” 🇺🇸
I read parts of the Trump immunity decision, skipping around to what Roberts wrote and the dissent. The main opinion is dangerous. This court is undermining what we believe in as a country. Need a strong response from Biden. He should have “discussions with Justice Department officials” about it. 🇺🇸
Jeremy Keith follows up on fighting AI bots, quoting a couple things I’ve said. He closes with:
There is nothing inevitable about any technology. The actions we take today are what determine our future. So let’s take steps now to prevent our web being turned into a dark, dark forest.
I agree with these statements in isolation. Maybe what we disagree on is whether AI is inherently destructive to the web, so all AI bots should be stopped, or whether we can more narrowly minimize AI slop from spreading.
Even without AI, Google referrers to blogs have also been going down, with Nilay Patel arguing that we are heading to Google Zero. In other words, Google is already taking more from the web than they are giving back.
The solution to that is Google alternatives that get us back to the style of old-school search engines: “10 blue links”, with a focus on real blogs and news sites, weeding out content farms and other spam shenanigans. We have spammers creating accounts in Micro.blog every day, trying to pollute the open web. It’s depressing. I want to create more tools that highlight human-generated content, like the audio narration we added.
Jeremy didn’t quote one of my responses about trying to insert text into posts to confuse bots, so I’ll add it here for completeness. I replied with:
I think it’s a bad precedent. It’s already hard enough for legitimate crawling because of tricks that paywalls use, or JavaScript that gets in the way. Mucking up text and images is bound to create problems for non-AI tools too. There’s gotta be a better way to address this.
I viewed source to see how Jeremy is handling this on his blog. His technique doesn’t appear to be causing any problems with Micro.blog’s bookmarking, which saves a copy of the text in a blog post for reading later, because the prompt injection is outside the <article> and h-entry for the post. But it’s not hard to imagine a well-behaved, non-AI bot getting tripped up by this.
I don’t think technological determinism is an appropriate summary of my thoughts. There are a bunch of questions to resolve around generative AI, for sure, including rogue bots, but there’s a lot of potential good too.
Monday after the debate, and I’m mostly annoyed with Biden’s staff and campaign today. We talk a lot about how he surrounds himself with competent people. I believe that, but they need to adjust and stop scheduling him like he’s 40 years old. More time to think and rest. 🇺🇸
I’ve been inspired by what feels like a renewed push for massive solar infrastructure, so recently bought a small solar panel from Jackery. Excellent for road trips and camping. I have a couple batteries and use the panel with the small Explorer 100 Plus. (This is going to sound like a Jackery ad.)
Excellent article in The Washington Post about an Infinium plant in Corpus Christi producing diesel fuel from water and (mostly) renewable energy. Pairs really well with the Terraform founder interview on Stratechery I blogged about earlier this month.
Biden had a horrible night Thursday. But the debate about the debate is misplaced. The only person who should withdraw from the race is Trump.
🇺🇸
Went to see the first chapter of Horizon tonight and love what they’re doing with it. So much time to let characters and plot lines develop. 🍿
I’m not one to impulsively cancel subscriptions when I disagree with the leadership or when there’s a misstep, but I’m really starting to question sticking with The New York Times. It’s not a partisan thing. Their coverage feels weak in all the moments when we need it to be exceptional.
Camping in Texas in the summer is not fun, but I keep thinking I’ll figure out how to solve it with technology, each time getting a little closer. It won’t be below 80° until 2am tonight.
Just posted a new Core Intuition. Daniel and I talk about the latest news with Apple and the EU’s DMA, then I complain a little about Micro.blog not getting approved yet for using the Threads API. Planning to resubmit the app with a new screencast after the weekend.
I watched all of Joe Biden’s campaign speech from today. Wish he was half as good last night as he was today. He’s got a cough, but he looked so much better.
I don’t speak as smoothly as I used to. I don’t debate as well as I used to. But I know what I do know. I know how to tell the truth. I know right from wrong.
Not sure how this is going to play out, but I’m feeling better. 🇺🇸
Dave Winer blogs about a new experiment to make a collection of blogrolls by following a site’s blogroll looking for other blogrolls. This is important because blogrolls can effectively be a social graph, a way to discover and follow other bloggers.
I updated the Micro.blog blogroll plug-in today, adding more control over whether to show the blog’s domain name (now defaulting to not show it) and optional “about” text when setting up a recommendation. The help page has been updated with examples.
Jason Snell makes the case for hand controllers and other changes to the Vision Pro:
I’ve got a Vision Pro and a Meta Quest 3. And yet the Quest 3, which costs about one-seventh of the price of the Vision Pro, is a vastly superior platform when it comes to playing certain kinds of games. Games just require precision positioning (through detailed movement tracking), and input (via on-controller buttons) that waving your hands and tapping fingers together in Vision Pro just can’t match.
Jason has good ideas for improving Vision Pro, but I think the problem is more fundamental than that. visionOS is a bust.
Most users don’t want to strap a computer to their face. Most developers don’t want to dedicate time to redesigning their apps. Some people love the Vision Pro, and that’s great for them, but it’s not a mainstream product.
I said on Core Intuition last year that it will be 20 years before technology catches up to Apple’s vision of spacial computing, with normal-looking AR glasses that can do most of what the Vision Pro can do. I think there will be compelling AR glasses before then, but they won’t run visionOS as we know it today.
As I blogged about when I said Apple needs a flop:
Maybe we’re at a crossroads for the company. Apple was great as the underdog, when they were humbled, fighting to out-innovate the competition. What came after the Lisa? The Macintosh. After almost going bankrupt? Think Different and the iMac. After the butterfly keyboard? Some of the best MacBooks ever made.
Apple has lost something on the path to becoming a $3 trillion company. They’re not going to get it back, because it’s something that’s hard to define, something that slips through your fingers when you try to do too much. The larger a company gets, the less capable they are of reaching beyond obvious products. The iPod formula of “we’re not first, but we’re the best” is no longer working. Everyone else is innovating too.
I said this year that we’re at “peak Apple”, and I still believe it:
Apple has been an inspiration for me for 30 years. A massive success. I think this is as good as it gets for them. They are simply too big to fundamentally rethink anything for what’s next.
There may never be another company like Apple. Still, I hope there’s room somewhere under the boots of the mobile duopoly for a new upstart. A product that is built natively for the open web, with a new take on how devices can be part of our lives, untethered from Apple and Google. If I squint a little I can almost see it happening.
The current Supreme Court is broken. If Joe Biden wants to change the narrative, announce that he’s working with Congress to expand the court with an additional four justices. A couple to be nominated now, a couple for later presidents. 🇺🇸
My favorite moment and the most clear line from Biden against Trump: “Something snapped in you when you lost the last time.” We got bogged down in policy tonight, which is pointless because Trump doesn’t know anything or believe in anyone except himself. 🇺🇸
You know who had a great debate against Trump? Hillary Clinton. I’m not saying she should jump in and rescue the Democrats — although I’d be good with it! — but to say that an election is more complicated than one thing. Biden could’ve been better. He had a few good moments. It’s on us now. 🇺🇸
There’s a really substantive conversation on MSNBC right now about the president’s job as a communicator vs. a decision-maker, and all the things Biden has accomplished, the historical context with FDR and others, etc. I’m still conflicted about what this debate actually means. 🇺🇸
Debate halftime! Biden is just warming up, everyone. Trump is, of course, constantly lying. It’s ridiculouss that we even have to be here as a country, and I feel sad that Biden has to shoulder everything himself. He’s not perfect but he’s good and who we have to hold up sanity. 🇺🇸
Happy for LeBron that Bronny is going to the Lakers. Such a unique chance to play together that’s unlikely to happen in the league again. 🏀
Just another night in America, where the President of the United States has to debate a convicted felon. 🇺🇸
Jeremy Keith on how human-curated bookmarks could help adapt to a web filled with AI content:
It used to be that when you found a source you trusted, you bookmarked it. Browsers still have bookmarking functionality but most people rely on search. Maybe it’s time for a bookmarking revival.
Threads API access was rejected for Micro.blog. 🙄 Going to redo the submission and record new demo screencasts for app reviewers. I’ve got dozens of real users using this, quite frustrating to jump through hoops for something so basic.
I like the idea of a smaller e-ink reader, whether it’s running Android or not, so I’m almost tempted by this weird device that John Moltz reviewed at Six Colors. Still happy with the Kindle Paperwhite, but if it was just a little narrower I’d take it with me even more often.
Anyone who enjoys writing or photography or sharing anything online should have their own microblog at their own domain. Haven’t we learned by now that posting exclusively on other people’s platforms is a dead end? Might as well write on scraps of paper outside and let the wind take them.
NBA draft tonight! Spurs have the 4th and 8th picks. Last season’s record was bad, but the team started winning games late in the season. Back in the playoffs soon. 🏀
Some progress with the Threads API, the issue with the Meta dev dashboard not updating to show API calls has been fixed. However, there’s still no way to submit the app for review. Expecting an “App review” option in the sidebar, but it’s not there.
Nick Heer on the latest DMA news and UTM rejection:
Perhaps there are legitimate security concerns in the UTM emulator. The burden of proof for that claim rests on Apple, however, and its ability to be a reliable narrator is sometimes questionable. Consider the possible conflicts of interest in App Tracking Transparency rules raised by German competition authorities.
Apple’s handling of the App Store is getting so old. It’s exhausting that there is always drama, always bad faith efforts, always two steps forward, one step back. Here’s what I blogged 13 years ago:
Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.
Maybe nothing I’ve written in 20 years of blogging has proven more true than that statement. Enough already! Just let us build apps that customers want and distribute them outside the store without gimmicks. That’s what the DMA is about and Apple knows it.
Can’t believe I didn’t know about this Snow White Cafe, in operation since 1946… until now:
Its interior, which was decorated with murals of characters from Disney’s first animated feature, Snow White and the Seven Dwarfs, has been gutted.
There is plenty of lore surrounding the Disney murals. Some say the artwork was drawn by Disney artists who worked on the original feature — and it may have been, though there’s no way to prove it.
Would’ve loved to visit it when I was in LA a couple years ago. Too late.
For folks beta testing automatic cross-posting from Micro.blog to Threads, if you like to tinker, we are now including the Threads post ID and permalink in each blog post metadata. See this help page for how to access it from custom themes.
When a company withholds a feature from the EU because of the DMA — Apple for AI, Meta today for the fediverse — they should document which sections of the DMA would potentially be violated. Let users fact-check whether there’s a real problem.
Threads has rolled out seeing replies from other platforms, filling one of the biggest holes in their fediverse support. Nice to see the progress. There is still quite a bit to do (replies to those replies, moving accounts) but it feels much closer to complete.
Molly White makes a point that I’ve also been trying to articulate about AI crawling, but I think her post is better than my first attempts. Some level of open access is an important part of what makes the web special:
…“only allow humans to access” is just not an achievable goal. Any attempt at limiting bot access will inevitably allow some bots through and prevent some humans from accessing the site, and it’s about deciding where you want to set the cutoff.
If you’re keeping score, Hillary has now written three books since losing the 2016 election. An inspiration in getting back up after a failure that would destroy most of us. What’s next?
Excellent post by Jason Snell on the upcoming era of orchestrated apps, where much of what we do with our iPhone might be using AI as a bridge between multiple apps and their local data:
When everything is orchestrated properly, all the capabilities of all your apps are put into a big soup, and the AI system at the heart of your device can choose the right capabilities to do what you need it to do—without you having to specify all the steps it needs to take to get there.
This is a good strategy for Apple because it leverages their strengths with privacy and a complete ecosystem of apps. However, there’s a problem, something I’ve written about a few times including recently in this post about Siri before WWDC. What if you want the same functionality on your HomePod? Or on your Mac that doesn’t have the same apps installed? App intents are local to each device, potentially creating a disjointed experience when not at your iPhone.
If an assistant doesn’t have consistent functionality everywhere, something in the illusion is broken. Apple’s solution can still be good, but I think it will always come up a little bit short. (They may make up for it by having an overwhelming advantage in third-party apps that use intents, and the fact that most people’s computing is predominantly or only on their phones anyway.)
A different take would be for the apps and intents to be synced with the cloud, so that they are universally available to your assistant from all devices. There are privacy trade-offs on this path, but I think ultimately it’s where many people will want to go.
Google is probably best positioned for this alternative, more cloud-based approach to AI. They already have your private email, and I’m not sure most people consider whether it’s encrypted or just sitting around on Google servers. I wouldn’t rule out OpenAI either, since something like this is clearly part of their vision. Whoever it is, I could see Apple and another company rising to become a new sort of duopoly for AI. Apple as the private, mostly on-device option, and someone else as the always available, cross-platform assistant.
As usual, Hillary Clinton is right. From an op-ed today on what to watch for in the debate:
Mr. Biden is one of the most empathetic leaders we’ve ever had. Listen to how sincerely he talks about women’s rights, the struggles of working families, opportunities for people of color and the courage of Ukrainian men and women risking their lives for democracy. Mr. Trump can’t do that because he cares only about himself.
🇺🇸
Had a dream last night that for the upcoming presidential debate, Biden’s team decided to use all of his time on stage to act out Biden’s answers in the style of a broadway musical. What the…? Trump tried to follow along but he didn’t prepare for the debate and was lost. No idea what this means. 🇺🇸
One good thing about Akamai acquiring Linode: they appear to have a better plan for reaching 100% renewable energy in data centers. According to this, most of my servers are in the 75% renewable range. Better than Texas as a whole, although we do see spikes that high, when it’s windy and sunny.
Riley Testut posts about no longer trusting Apple with app notarization:
When we first met with the EC a few months ago, we were asked repeatedly if we trusted Apple to be in charge of Notarization. We emphatically said yes.
However, it’s clear to us now that Apple is indeed using Notarization to not only delay our apps, but also to determine on a case-by-case basis how to undermine each release
iOS notarization for marketplaces needs to be reverted to how it works on the Mac. Bad actors can still be stopped without adding another layer to app review.
In John Gruber’s article about Apple Intelligence, he writes about the server impact:
As things stand, with only devices using M-series chips or the A17 or later eligible, Apple is going to be on the hook for an enormous amount of server-side computation with Private Cloud Compute. They’d be on the hook for multiples of that scale if they enabled Apple Intelligence for older iPhones, with those older iPhones doing none of the processing on-device.
Also, people are going to use this more than today’s Siri. How often will it need to go to the cloud? Seems very difficult to predict the scale.
Still no way for me to submit my app to Meta to approve the Threads API. 🙁 I can add more beta users, but it’s difficult to track via replies, so I know I missed a couple people. If you don’t have access, email help@micro.blog with your Micro.blog username and Threads username.
Finally got my R1. The hype has worn off, so not sure it has a place in my life for regular use. Nice little device, though, and very orange.
It’s bizarre to see developers effectively siding with Apple over the DMA. The EU is trying to make things better for developers. We can nitpick whether the DMA is well-written, too broad, etc. But there are specific sections that address real problems with the App Store that Apple won’t fix on their own.
European Commission preliminary findings that the App Store is in breach of the DMA. Even if there’s some compromise, this should lead to improved rules for developers. Still unresolved is whether the CTF is valid, and how much Apple is going to fight to keep it.
I was wondering when someone would bring up that the Internet Archive ignores robots.txt, and today’s Stratechery is the first I’ve seen to raise that point. I view most debates through the lens of what is good for the open web. There’s now so much of an anti-AI undercurrent, we risk over-correcting.
Decided to promote the “Edit Sources & Cross-posting” screen to its own link in the sidebar. It’s called simply “Sources”. This is a powerful part of Micro.blog and needs more visibility. (Using a feed icon, even if one day we might have other feed reader-related sidebar things.)
We saw the new Zilker Eagle today while going to Barton Springs. It looks really nice. Unfortunately it derailed on the switch while we were at the pool. No one was hurt because it goes extremely slow. 🚂
Somehow on my recent trip I’ve gotten a scratch in the middle of my iPhone screen. I was already thinking about upgrading. Bad timing but this is going to drive me crazy over the next few months.
This article in The Washington Post about AI energy use has a lot in it, but still seems to paint an incomplete picture. Not a single mention of Apple? If Apple can roll out AI in millions of devices and still use 100% renewable for servers, should be within reach for others too.
Finished reading: Blood Over Bright Haven by M. L. Wang. This was excellent. It must’ve been a challenging book to write, fascinating magic and ambitious take on society. Really something special. 📚
Great post by Anil Dash on how the board of directors for an organization actually works. I learned a lot. The timing of this post could not be more perfect for me right now.
Still no option for me to submit our Threads feature to Meta for review. Tried contacting developer support but that submission fails for unknown reasons. The issue seems to be that the Meta dev dashboard is not recognizing all the successful API calls we are already making.
I really dislike the Mastodon setting to require HTTP signatures for everything. It makes basic features like just grabbing some JSON for an actor more difficult. The user’s profile is on the public web anyway! We need apps that work natively with the web on its own terms, not more protocol layers.
Perplexity CEO addresses the recent questions about crawling, but I don’t think his answers are going to satisfy anyone. He is partially correct, though, that there is confusion about crawling to train models vs. ad-hoc downloading web pages. New info is that they outsource some crawling, which seems bad if that’s your core business. Seems fixable.
“I only came back to myself when I decided something: all emotions are just energy, just potential fuel for action. Everything I felt about what I saw—the guilt and the terror—wasn’t poison. It was power.” — from Blood Over Bright Haven 📚
On this week’s Core Int, we talk about the latest AI controversy including with Perplexity and how we think about robots.txt. Then Daniel gives an update on Swift Concurrency.
Great collection from Michael Tsai of posts on a range of reactions to Apple blaming the DMA for delaying Apple Intelligence in Europe. I don’t feel too strongly about it, but we know Apple is frustrated with the regulation, could be slow-rolling it as a tactic.
John Gruber blogs about how Trump personally measures up to the Ten Commandments that he apparently now supports showing everywhere. (Also can we add an 11th commandment to not post in all caps? Trump increasingly sounds deranged.)
Randomly stumbled on an old clip of Steve Jobs, thanks (no thanks) to the Threads algorithmic timeline distracting me. There still hasn’t been a tech leader in the last decade with his stage presence. One of a kind.
If you sent me an @-mention yesterday about automatic Threads cross-posting, I’ve invited you on Threads and enabled the feature for your account in Micro.blog. Here’s a quick video on YouTube about it. Don’t forget to accept the invite too, under your Threads account → Settings → Website Permissions.
I don’t travel as much as a bunch of people I know, but the combination of road trip and flight over the last couple of weeks has left me kind of unmoored with work. My brain is still catching up to the fact that we’re 2/3 of the way through June already. Way behind in email.
I tried this AI-based social network Butterflies and it’s as bizarre as you’d expect. It’s more like a game. I don’t see this kind of thing taking off in “real” social networks. Infinite content will just reinforce the infinite algorithmic feed, which is unhealthy enough already.
Forgot to mention if you’re sending me your Threads username… You will have to go to your Threads account settings → Website Permissions to approve the tester invite for Micro.blog.
Micro.blog cross-posting to Threads is a bit in limbo because I’m not even sure how to submit the app for review. But we can have 500 testers! Reply with your Threads username if you’d like to be added. I will process any requests later today and “Add Threads” will show up on Account → Edit Sources.
Working with the Threads API reminds me of how frustrating it was to work with Facebook’s main app API years ago, and any silo API that requires manual approval like the App Store. The bureaucracy is at odds with Meta’s claim of supporting the open web and fediverse.
The New York Times: Biden gives legal protections to undocumented spouses. Biden’s administration has been effective and consequential. All he really needed to do was get us out of the pandemic, but there’s been a lot more. He deserves our vote. 🇺🇸
The upcoming Zelda where you can play as Zelda looks fantastic. Love the design and approach to solving puzzles.
Because of the recent pushback against AI bots, I’ve added a help page to Micro.blog with details about how to block crawling of your blog.
Congrats to the Celtics. The NBA finals had a couple good moments, but the result never seemed that much in doubt. Only watched a little of game 5 tonight because for some reason this hotel TV has lots of channels but not ABC? I’m sure there’s a reason, can’t be a good one. 🏀
I get the distrust of AI bots but I think discussions to sabotage crawled data go too far, potentially making a mess of the open web. There has never been a system like AI before, and old assumptions about what is fair use don’t really fit. But robots.txt still works! No need to burn everything down yet.
The Breakers. Beautiful walk along the cliffs and in the mansion. The Vanderbilts really had a stunning amount of wealth.
Our WWDC episode of Core Intuition is out! We talk about visiting San Jose, Apple Intelligence, and more.
Last month I got sucked into an auction for Disney artwork and came away with a sequence of drawings of Scrooge in Mickey’s Christmas Carol, from 1983. They arrived! Need to figure out how to frame them.
Jason Snell paints a picture of Apple as sort of irritatedly getting on board the AI hype train. On the OpenAI deal, I don’t think either side has clearly won. It brings to mind Draft Day: “This is a good deal… This is a good deal for both of us.”
What if personal domain name registrations could essentially renew on auto-pilot, regardless of changing or expired payment, for decades? It has always bothered me that blogs are like self-published books that self-destruct when expired. After lots of waffling, I think I’m ready to tackle this.
Now that I’m back home from WWDC, my excitement about installing the betas has evaporated. Will probably wait until Apple Intelligence is enabled. Doesn’t seem much for new APIs I can use it.
Good interview from Kara Swisher with Mira Murati, CTO of OpenAI. She led the GPT-4o announcement and in an alternate timeline was CEO for more than a few days. They talk data deals, the voice controversy, disinformation, and the promise of AI in education.
Stopped overnight in Roswell, New Mexico to visit with the aliens. Queueing up the audiobook The Terraformers for the final leg back to Austin. I had started with the e-book a couple weeks ago. 🛸
One thing I didn’t appreciate before this year’s WWDC is how limited Apple’s on-device models could be. Apple is going for easy wins and generally not biting off more than they can chew. Summarizing or rewriting text is something LLMs are great at, with almost no risk for getting derailed with hallucinations. So it shouldn’t have been surprising that Apple is doing so much themselves with their own models, and punting to ChatGPT for what Craig Federighi called “broad world knowledge” that is beyond Apple’s own models.
The only thing that struck me as strange in the WWDC keynote was image generation. I didn’t expect Apple to do that and I still don’t see why they needed to. It opens up a can of worms, something that was discussed well on this week’s episode of Upgrade. See the chapter on “AI feelings”.
The rest of the strategy is really good, though. The on-device models are small, but they can be supplemented with cloud models for more advanced tasks. And because it will be transparent to the user whether a local or cloud model is used, Apple can add bigger models to newer iPhones as RAM increases, for example, and the user won’t know the difference. Tasks will just become faster and more sophisticated.
This does require the user’s buy-in on Apple’s premise: that “private cloud compute” is just as secure and private as on-device data. On first glance this doesn’t seem technically true. As soon as the data leaves the device, you’re in a different world for things to go wrong. But Apple has built up a lot of trust. If user’s accept the private cloud — and, importantly, if users even realize that Apple’s cloud is completely different than OpenAI’s cloud — it gives Apple a new strength that others don’t have, even if that strength is propped up mostly on goodwill.
Personally I have no concern with the cloud approach for my own personal data. I expect Apple’s solution to be robust, likely bordering on over-engineered for what it actually needs to do, but that builds confidence.
Ben Thompson is optimistic about Apple’s AI strategy too. From a daily update on whether other companies could displace iOS:
I’m unconvinced that large language models are going to be sufficiently powerful enough to displace iOS, and that Apple’s approach to productize LLM capability around data that only they have access to, while Aggregating more powerful models, is going to be successful, but time will tell. Relatedly, the speed with which a wide array of model builders delivered useful models both gives me confidence that Apple’s models will be good enough, and that there isn’t some sort of special sauce that will lead to one model breaking away from the pack.
I’m not sure. There is no telling whether there will be another GPT-level advance in a couple years. Already OpenAI has some technologies like the voice matching that are so powerful that OpenAI almost seems scared to even release them. If there is a breakthrough, it may be difficult for other companies to replicate it right away, giving a single player a years-long advantage.
At the same time, there is just enough friction in Apple Intelligence that even with the improvements to Siri, it may feel slightly crippled compared to a hypothetical new voice assistant. As I wrote in a blog post before WWDC:
While it’s true that the iPhone will continue to dominate any potential non-phone competition, I think there is a narrow window where a truly new device could be disruptive to the smartphone if Apple doesn’t make Siri more universal and seamless across devices. This universality might sound subtle but I think it’s key.
It’s unlikely for Apple to be displaced. People love their phones. I think there is still an opening for something new — a universal assistant that works everywhere, can do nearly everything, and is a joy to use. But we may never get there, or “good enough” may be fine, in which case Apple is really well-positioned.
In 1979 my uncle wrote a book about solar power — or more specifically, although I haven’t read it, about how the fossil fuel industry had too much influence on the future. 45 years later, solar panels are now cheap and widely deployed. Nearly free energy, falling like rain. It can change so much.
Finished reading: Sunbringer by Hannah Kaner. This was excellent. Loved the way it revealed more of who the characters are and built up toward the end, setting up what I assume will be a third and final book. 📚
A couple days after the WWDC keynote, starting to see a couple cracks in Apple’s AI strategy. I’ll blog more later. But I think the architecture for small on-device models and larger models in the cloud that are extremely locked down is very smart. This is flexible and can scale, if users accept it.
Yesterday was a blur. I was planning to camp at Lake Havasu but it’s just too hot, so I continued driving to Flagstaff. Really long day. Caught up on nearly all the WWDC-related podcasts plus progress on audiobooks.
This text without any vending machines is like a cruel mirage in what feels like the middle of the desert of southern California this afternoon, outside Boron.
Nice live blog at The Verge of the interview session with iJustine. Nilay Patel comments:
I think Apple really wants to seem transparent and open about their AI plans, especially around privacy, and having Federighi and Giannandrea this much on the record in basically every publication is a good way to do it.
Lots of details in this Apple blog post about the new AI models. Looks like the on-device models are similar to other small-ish LLMs, and the server models are roughly comparable to GPT-3.5. GPT-4o is still bigger, which is why the OpenAI partnership fits. I think Apple’s strategy here makes sense.
Vaguely keeping up with the Platform State of the Union in the hotel lobby. Thinking I’ll update to macOS Sequoia later, but not on this wi-fi.
Apple’s little custom icon to indicate what’s an AI summary is nice. I’ve been using a robot icon for summaries in Micro.blog, but maybe Apple’s icon will catch on.
So far so good with Apple Intelligence. I have a lot of questions but the framing seems right, with the private cloud compute and working with app data. LLMs will make Siri so much better at interpreting your questions.
Math Notes is super impressive. No mention of AI or machine learning but it’s gotta be all over this.
I know social networks aren’t Apple’s thing, but I still think it would be cool for them to have a platform for sharing personal spacial videos (and photos) for visionOS shot on iPhones. Would help the content problem.
Good morning from San Jose! With this first guess in Wordle, I thought this would be a “2” day, but nope. Maybe Apple’s luck with the keynote will be better.
Wordle 1,087 4/6
⬛🟩🟩🟩⬛
⬛🟩🟩🟩⬛
🟩🟩🟩🟩⬛
🟩🟩🟩🟩🟩
Finished reading: Crown of Midnight by Sarah J. Maas. Fast-paced. This was a stronger book than the first one. 📚
I’m always surprised when coffee shop wi-fi is way slower than LTE tethering. It’s great the cell networks are usually so fast now, but it feels all backwards (and in a way, kind of wasteful).
Field of Light in Paso Robles. I was expecting something different and beautiful, and it was that. But it also made me wonder if we’re in an era of synthetic art, where ideas matter more than craftsmanship. (This is about AI too.) Glad I stopped here to see it.
Bad Boys opens with $21 million box office Friday, on track for $50 million for the weekend. I’ve been curious about whether Will Smith gets a second chance. No legal charge was filed at the Oscars, so the punishment was a 10-year Academy ban, which we’re a couple years into. Sometimes we don’t forgive even after someone has served the time, and I think that’s problematic.
I’m experimenting with an OpenAI-based assistant powered by my own writing. It is wild. See this transcript of me testing it with a couple questions. It does hallucinate sometimes, but as a powerful search or just for fun, this could be something.
Working this morning at Honey Cup, a little coffee shop in Thousand Oaks. Finally have uninterrupted time to solve the increasingly slow posting in Micro.blog. Turns out a database index wasn’t good enough and hit some kind of tipping point recently, pushed from “fast enough” to “slow”. All good! ☕️
Nick Heer on the eroding trust in tech as companies plow ahead with new features:
These product introductions all look like hubris. Arrogance, really — recognition of the significant power these corporations wield and the lack of competition they face.
Clearly a big part of WWDC’s keynote is going to be about trust and privacy. I don’t think things are as bad as many people think — OpenAI’s API, for example, doesn’t use user data to train models, but I bet most people assume it does. But Apple has built the trust and they should emphasize it.
Four hostages freed in assault in Gaza. I wonder how this affects feelings about the war from Israelis. To be honest, and I’m sorry this is dark, but it is a war… I was assuming that most of the remaining hostages were dead.
Each time I take an extended solo road trip, I learn something new about how to make life a little easier. Something that has worked well for me the last couple trips: when it’s time to do laundry, drop clothes off at a cleaners or wash-and-fold place. More pricey but saves so much time.
Only just skimmed through Mark Gurman’s comprehensive WWDC article. Most of the AI rumors sound about right, but I glossed over a few details so there still might be minor surprises. My most pressing question: can I wait to get a new phone? I like my iPhone 14 Pro.
Made it to the coast, settling in at Point Mugu State Park. Way too crowded, almost left, but I like my tree.
Listening to Pivot today, Scott Galloway goes on a tangent about how Hillary Clinton would’ve been a great president, and how so many things would be different today if as a country we hadn’t screwed up the 2016 election. We’ll be paying the price for years. Not sure I’ll ever fully get over it. 🇺🇸
Whenever I’m anywhere near Los Angeles, I think, “I should stop at Disneyland for the afternoon.” It never works out, but I always check maps to be sure. If the Splash Mountain redesign was ready, I’d be especially tempted today. 🏰
Just posted our preview for next week’s WWDC, Core Int episode 602. Lots more about AI and other thoughts leading up to the conference.
NBA finals time. Feels like Boston is the more complete team but I have no real idea how this series is going to go. Also congrats to Doris Burke! First woman to be a game analyst in the NBA finals and in fact in any men’s championship series in the major US sports. 🏀
I don’t ask Siri hard questions. Today I threw her a softball while driving down I-15, “What time zone is Las Vegas in?” She has no clue. These are the kind of simple problems an LLM will solve.
Hiking in the sun yesterday, it was a bit of a wake-up call, especially with the looming heat wave. I had planned to camp at Death Valley tonight, but gonna skip it and detour to Vegas to catch up on work. NBA finals game 1, which might be a dangerous time to be in the gambling capital of the world.
Great post on TechCrunch by Sarah Perez about Bridgy Fed’s support for Bluesky. The social web can be multiple protocols. We need more platforms that embrace the web wherever users are, shifting away from monoculture.
Redis has ballooned in size again, after sizable reductions in memory usage last year to make things more stable. Going to have to tackle this tomorrow, hopefully the primary server will be fine through the night. We do have better redundancy now, but it’s not being utilized like it could be.
Catching up on a bunch of random online things as I wait for the day to cool down enough to feel like cooking dinner. Just spent way too much time drafting replies to posts and then not sending them. 🤪 Need to step away from the computer and read a book.
This is a pretty simple one, another addition to my blog post series about upgrading my Honda Element. These rain guards attach above each window, so you can crack the window while it’s raining and not get water in the car. They just stick on, but they seem surprisingly sturdy.
Jason Snell, writing about how Apple may frame the announcements next week at WWDC:
Apple has the chance to depict itself as the adult in the room, a company committed to using AI for features that make its customers’ lives better–not competing to do the best unreproducible magic trick on stage.
It’s probably a safe bet that Apple will do all the obvious things with AI: on-device models for developers to use, integration with iWork apps, something with Photos. But it’s anyone’s guess how far they will actually go, especially with Siri, or potentially even brand new apps.
Bryce Canyon National Park. Didn’t catch this view at the right time for the best lighting, but it really is extraordinary. Hiked down and up and now I’m so exhausted just going to chill for the afternoon.
Siri is much too limited and inconsistent. The only time I ever use Siri is when driving, for responding to text messages and dictating notes. Many people will have different use cases, and so when people say “Siri sucks” they probably all mean different things.
There are many things that could be improved in Siri, but to me it all comes down to just two fundamental shifts:
Universal Siri that works the same across all devices.
The illusion of Siri as a personal assistant is broken when basic tasks that work from your phone don’t work from your watch or HomePod. I’ve long thought and discussed on Core Intuition how Apple has tied Siri too closely to devices and installed apps.
That’s not to say that controlling installed apps isn’t useful, in the way that Shortcuts and scripting are useful. I expect Apple to have more of that at WWDC next week. But in addition to extending Siri with installed apps, to make it truly universal there should be a way to extend Siri in the cloud, just as Alexa has offered for years.
Standalone devices like the Human AI Pin and Rabbit R1 have been criticized as “that should be an app”. While it’s true that the iPhone will continue to dominate any potential non-phone competition, I think there is a narrow window where a truly new device could be disruptive to the smartphone if Apple doesn’t make Siri more universal and seamless across devices. This universality might sound subtle but I think it’s key.
Large language models.
This is obvious. Talking to ChatGPT is so much more advanced and useful than current Siri. With ChatGPT, you can ask all sorts of questions that Siri has no clue about. Sure, LLMs are wrong sometimes, and I’d love for Siri to be uncertain about some answers. If there was a way to have some kind of weighting in the models so that Siri could answer “I’m not sure, but I think…” that would go a long way to dealing with hallucinations. Generative AI is less like a traditional computer and more like a human who has read all the world’s information but doesn’t really know what to do with any of it. That’s okay! But we wouldn’t blindly trust everything that human said.
There are many other improvements that would come along with using even medium-sized LLMs on device for Siri, such as dictation. OpenAI’s Whisper model is almost 2 years old now and way better than Siri.
Apple is going to talk a lot about privacy and on-device models at WWDC. A dual strategy for LLMs is the way to go, with models on your phone that can do a bunch of tasks, but some kind of smarts to switch gears to using LLMs in the cloud when necessary. I’ve done a bunch of experiments with open-source LLMs on my own servers, and it requires a lot of RAM and GPU to get reasonable performance. If we use “parameters” as a rough metric for how much horsepower LLMs need, note that Meta’s Llama 3 (which is pretty good!) is a 70 billion parameter model. GPT-4 is rumored to be nearly 2 trillion parameters. If Apple can’t get GPT-4 level quality and performance on device, they should not hesitate to use the cloud too.
Looking forward to WWDC next week! Should be a good one.
Micro.blog-hosted blogs have had good uptime the last couple months, but of course two servers crashed while I’m settling in at my campsite in Bryce Canyon National Park. Is this some kind of joke? 🤪 Luckily quite good LTE here tonight.
When driving directions in maps lets you know there’s a much slower route available, every once in a while you should take it.
Love these book updates from Brandon Sanderson, on Reddit:
Finished the last interlude today at 5:21. That is a wrap: Wind and Truth, Book five of the Stormlight Archive, is finished. Tomorrow morning, I’ll hand it off to the proofreading and copyediting team. 491k words.
I couldn’t be more excited about this book. Still thinking about re-reading books 1-4 later this year. There is so much in this series, it’s hard to take it all in with one reading.
I’ve blogged before about AI hallucinations, but I wanted to tie together a few new posts I’ve read recently. Let’s start with Dave Winer:
To people who say you get wrong answers from ChatGPT, if I wanted my car to kill me I could drive into oncoming traffic. If I wanted my calculator to give me incorrect results I could press the wrong keys. In other words, ChatGPT is a very new tool. It can be hard to control, you have to check what it says, and try different questions. But the result, if you pay attention and don’t drive it under the wheels of a bus, is that you can do things you never could do before.
This is essentially my mindset too. AI makes mistakes. Humans make mistakes. The key is to know what AI is good for and to not let it run wild unattended. This is why with Micro.blog we’ve been so focused on very limited use cases:
On a recent SharpTech podcast, Ben Thompson also makes this point that we have different expectations for computers and humans. We expect computers to always be right. Calculators and spreadsheets don’t lie. But generative AI is something new, and we can’t hold it to the same standards we had before.
That’s not necessarily to say you’re holding it wrong if you ask Google how many rocks to eat. It’s up to AI companies to better convey when assistants aren’t sure about an answer. I don’t know if this is technically possible with how today’s models work, but hopefully folks are looking at it.
Finally, Allen Pike had a post this week that was fascinating, about how AI will evolve now that it has chewed up all the data on the internet. I have mixed feelings about this… There’s a lot of uncertainty, and also I don’t love that we might be improving AI models while neglecting making the web better. But it is still too early to really judge how this is going to play out.
Winding up along the Animas River. I’m in the last car of a 15-car train, so around the curves it’s a great view ahead. A beautiful route. 🚂
Traffic completely stopped on I-40 earlier today because of road work, and I had a view from a side street of this ridiculous line of 18-wheelers stretching seemingly forever. Hardly any normal cars, just trucks. Seemed especially inefficient as a freight train went by.
Finished reading: Slow Productivity by Cal Newport. Some good ideas in this, formalizing what we often have an instinct about with our work day but maybe haven’t put into practice. 📚
Woke to slight rain. Really bad visibility on the small Texas highway meandering back to the interstate, probably couldn’t see more than 50 feet. Along the side of the road, spaced rows of hay bales fading off into the mist.
Left late from home today, but still arrived at Caprock Canyons State Park before dark. Not pictured, there was a band playing at the visitors center, a nice welcome.
Ben Thompson’s interview with Casey Handmer of Terraform pretty much blew my mind. Smart, optimistic. I suddenly have the urge to go buy some solar panels.
In a blog post about Journal, John Gruber makes a detour to highlight the lack of full import and export in Apple Notes:
I worry that import and export aren’t priorities for Apple. Apple Notes can import RTF and plain text files, but its only option for exporting is, bizarrely, PDF — which is a file format Notes can’t import. A good system for import/export would allow for full fidelity round-tripping. You should be able to export to a file or archive format that Notes can also import, without losing any formatting, metadata, or image attachments. Notes doesn’t even try.
That’s a no-go for me. I’m now using Micro.blog for notes, and I wouldn’t even consider anything without Markdown import and export. Of course Apple isn’t going anywhere and I expect Notes to be supported essentially forever in some form, but iCloud sync is opaque. If there’s ever a hiccup, I want a backup of the actual plain text files.
From The Information:
In mid-2023, some employees of Apple’s system intelligence and machine learning team, which implements features like computer vision, text analysis and natural language in Apple’s software products, met with Altman and other members of OpenAI. While it’s not clear what they discussed, that same year Apple signed a deal with OpenAI to give Apple employees access to the startup’s conversational AI through application programming interfaces, or APIs, for internal tests.
If they were experimenting with the API a full year ago, we might see more at WWDC than I was expecting.
Listening to Trump’s rambling speech today, at first I was laughing at the blatant lies and ridiculous statements… But then it became sobering, he’s so dangerous. If he’s reelected, we’ll have essentially lost 12+ years to this chaos because he will not shut up even when he’s lost.
Just posted a new Core Intuition, episode 601. We talk about the audio narration feature in Micro.blog, the MarsEdit 5.2 release, and then some thoughts on whether WWDC should have a live component again.
A day after the guilty verdict, seeing people worry about polls and whether this will change anything. It will, even if just a little. Who wins the election is a separate question. But doing the right thing always matters. 🇺🇸
Had some fun with the audio narration for this post. 🇺🇸
“While this defendant may be unlike any other in American history, we arrived at this trial — and ultimately today at this verdict — in the same manner as every other case that comes through the courtroom doors: by following the facts, and the law, and doing so without fear or favor.” — Manhattan district attorney Alvin Bragg 🇺🇸
No matter what happens, can we give Eric Trump some credit for actually being there for his dad? Eric gets made fun of so often, but there he is.
Working on the Threads API and remembering what a pain it is to deal with Meta’s developer dashboard and approvals… Sigh.
Had an idea to expand my about page, which before was just a few snippets of text and links, to make it more of a story of how I’ve gotten to where I am today for people who don’t know me. It’s not complete, but it hits the big milestones.
As part of the podcast pricing decrease, everyone also now gets this little segment control for filtering and searching uploads on the web:
Six years ago, we launched our $10/month plan with podcast hosting. Since then we’ve added several big features to the plan, which is now called Micro.blog Premium:
Today, I want to bring the podcast feature to more people, so we’re moving it down to the standard $5/month plan. The new audio narration for posts and podcast feeds remind me of how much fun it can be to have your own blog, to experiment and try new forms of content at your own space on the web. Let’s do more of it.
When my car repairs cost thousands of dollars, I really stick it to them by making sure to get free coffee at their cafe. 🤪
Really good Stratechery article today about how AI fits in the various big tech company stacks. On Microsoft:
Then, one month later, OpenAI nearly imploded and Microsoft had to face the reality that it is exceptionally risky to pin your strategy on integrating with a partner you don’t control; much of the company’s rhetoric — including the Nadella quote I opened this Article with — and actions since then has been focused on abstracting models away…
How models improve may also affect Apple’s on-device strategy. Having the best models assumes some level of modularity, in the cloud, for now.
Now we wait for the jury. Thinking about how I will react to the verdict… Clearly there is evidence to convict Trump. But the jury could second-guess their judgement because he’s a former president. The trial was fair and thorough. Whatever those dozen New Yorkers decide, we have to be good with. 🇺🇸
On this day 16 years ago, Daniel and I released the first episode of Core Intuition. So many things have changed since then. Listening to episode 1 is like going back in a time machine, to weeks before WWDC, on the verge of the App Store launching, a snapshot of the Mac developer community. 🎂
MarsEdit 5.2 is out with a whole bunch of improvements, including a couple for Micro.blog. Congrats @danielpunkass! The duplicate post feature reminds me of classic Mac “stationary” documents… which I just noticed is still in the Finder.
My cross-posting to Threads has been sporadic. Decided last week to pause it until the API is ready, and might not even continue after that. I post multiple times a day to my blog.
Helpful post from The Fediverse Report about Farcaster and they’re wild $1 billion valuable. They’re as valuable as Instagram when bought by Facebook, really? Some neat ideas buried in there, like the frame mini apps, but I’m having trouble seeing where this goes.
After reading that the Gaza pier was damaged by weather, I read a bit more to try to understand how much aid was getting in before the war and recently. 50 trucks or 1000 tons is so opaque to non-experts like most of us. The pier was still a good idea and can work when repaired. Sort of like increased bandwidth and redundancy in a network, except instead of bytes it’s getting food where it can save lives even when some channels are disrupted.
Today I learned from slash pages by Robb Knight that there’s a /chipotle to note your favorite Chipotle order. Love it. 🌯
Manu Moreale writes about the ratio between consuming content and creating it:
I believe people should consume less content and produce more. Finding an output for creativity is important. But it’s unreasonable to expect people to stop consuming content and replace that consumption with creation because the ratio will always be inevitably skewed towards consumption.
It’s a good post and while I’ve never tried to measure this ratio for myself, I like the way Manu blogs about it. I’m going to take that topic and expand it in a slightly different direction.
It also matters what we consume. If we read too much social media, what happens is that most of the consumption is headlines and opinions, not the facts behind the headlines. It’s retweets, short quotes, and TikToks, not longer blog posts and stories.
It’s usually obvious when reading all the takes on the internet who actually knows something and has formed their own opinion, and who has been influenced by whatever the current consensus is on social media. Starting with other peoples' opinions is like reading a newspaper’s op-ed first and then the front page. Everything we read afterwards will be influenced by those opinions.
When I quit Twitter in 2012, I essentially threw away any audience I had built and started over. I could feel the loss of community. But I also began to notice that my ideas felt just a tiny bit more unique. Not earth-shatteringly original, but definitely my own.
“The name of the game was concealment, and all roads lead to the man who benefited the most, Donald Trump.” — prosecutor Joshua Steinglass 🇺🇸
Missed last night’s Celtics game, so a belated congrats to them. They’re a great team. Mavs/Timberwolves tonight! No team has come back down 0-3 but eventually it’ll probably happen, even if usually there’s a good reason you lost the first few games. 🏀
Last week I blogged about adding audio narration to blog posts. For years we’ve also had full podcast hosting, which overlaps with this narration feature but is focused on podcast episodes and feeds. In this post I’ll show how to add narration to an existing blog post, hopefully in the process revealing more about how this works in Micro.blog.
First, record yourself reading the blog post. There are a dozen ways to do this. Make sure to save the file as an MP3.
Upload the MP3 to Micro.blog. You can do this on the web in the Uploads section, or one of the native apps. All the apps also have some form of Copy HTML button to get an HTML audio tag for the upload. It will look something like this:
<audio src="…" controls="controls">
Before we paste this into the edited blog post, we actually want to hide the default audio player that would appear in web browsers. To do this, add a style attribute:
<audio src="…" controls="controls" style="display: none">
If the audio player is hidden, what’s the point? Micro.blog sees the tag anyway. It also knows the duration of the audio, so it can make a guess as to whether this is a narrated version of the blog post. If it is, it skips some features such as adding a link to the transcript of the audio. (Because the blog post text you wrote is already the best transcript.)
Note that to turn a blog post into a podcast episode or narrated post, all that’s needed is the audio tag. This is because Micro.blog natively thinks about posts as HTML. Photo posts have an img tag, audio posts have an audio tag, and so on. When Micro.blog publishes your blog post, it parses the HTML and sets up any metadata that is needed, for example to access from within Hugo.
When you write a new post and include audio at the time of posting, not later, Micro.blog handles managing the audio tag for you, including the CSS to hide posts that are audio narration. Later, we plan to improve the editing interface so this is more seamless too.
Molly White, previewing an upcoming blog post:
i firmly believe that if you’re going to spend money on one thing online it should be a domain, particularly as online identity gets more fragmented. as platforms come and go, you can always find me there.
Has social media now devolved back to the same tone as Twitter X? Outrage, memes, extremism. Thinking more about this post from Paul Robert Lloyd last week and whether Micro.blog needs a setting if someone wants to keep blogging but get a temporary break from the social web. It’s all intertwined.
Expectations for WWDC haven’t changed much, except this odd rumor from Mark Gurman:
One standout feature will bring generative AI to emojis. The company is developing software that can create custom emojis on the fly, based on what users are texting. That means you’ll suddenly have an all-new emoji for any occasion, beyond the catalog of options that Apple currently offers on the iPhone and other devices.
This sounds like emoji in the same way that a random audio file without an RSS feed is a podcast. The technical bits matter. Emoji is special because it’s just text and portable everywhere.
New feature idea for the social web: before strangers can reply to your posts, they have to read your resume. 🤪
Finished reading: Throne of Glass by Sarah J. Maas. If this was only a standalone novel, I’d have some complaints, but I know people love the series. Seems like a good setup, and I’d like to see where it goes. 📚
After we recorded episode 600 of @coreint, I thought I had blown it, maybe had a bit too much coffee and didn’t slow down to properly capture what is going on with OpenAI. So I listened to the episode again, and I think it holds up really well. We might’ve covered it more fully than anyone else has.
We’ve somehow reached the 600th episode of Core Intuition. On this episode, we talk about the Scarlett Johansson vs. OpenAI fallout, and the reaction on my blog and the social web.
Went to Barton Springs today to swim but there was a ridiculous number of people waiting in line, must’ve been over 200 people, stretching well past the Zilker train depot, so we went kayaking instead. Austin may be too crowded.
Wow. Mavs steal another one. Luka with a clutch shot, and Naz Reid who was 7-9 from 3 misses the game-winner. Good game. 🏀
This feature went from idea to implementation quickly because it turns out we already have full podcast hosting in Micro.blog! How convenient. I’m going to use this post to break it all down.
AI is everywhere, including some places it probably shouldn’t be. If you’ve been following my blog you know that I see huge potential in generative AI. We’re using it in Micro.blog to improve photos search and accessibility text for photos. But like many tools, AI is going to be overused before we all find the right balance for what it’s good at.
When Jean and I were talking to Christina Warren at Micro Camp, I asked Christina about a talk she gave at Çingleton about 10 years ago. I actually blogged about it at the time. What struck me as particularly relevant now as we’re about to be swamped with AI-generated content is that there’s no substitute for the human voice. I don’t just mean that an actual recording is better than a synthetic voice. I also mean that things that are created by humans will increasingly be sought out.
We want to see the personal side of someone, not just the polished brand. We want to see the imperfect, the creative, the emotion. We want authenticity.
In Micro.blog, you can now upload an audio recording of one of your blog posts. Use the audio icon in the new post form on the web, which is available to everyone starting today, even at the standard $5 plan. Your blog readers can listen to the audio narration of the post if they don’t feel like reading the post. Of course it’s especially great for the visually impaired.
Here’s what it looks like on my blog, next to the posted date. Shout-out to Medium which I drew some inspiration from.
I’m also adding audio narration to this very blog post, so you can click over to the web to try it out.
When there’s audio attached to a post, Micro.blog attempts to check if it is probably the narration for a post. If the number of words in the post and the audio duration is roughly comparable to how long it would take a human to read the post, it assumes it’s narration and not a podcast. Podcast episodes are more likely to be longer with very short “show notes” in the actual blog post text.
Micro.blog checks this so that it can hide the default audio player and transcript link. These would add clutter to normal blog posts.
Blog themes will still need to be updated to support the play button. I’ve already updated the Alpine theme and will update others later. Themes can use a new API called Narration.js. Just plop this JavaScript anywhere you want the play button in your template, likely the layouts/post/single.html file. (Note that this currently needs to be on the permalink page. It won’t work correctly on the home page with a list of blog posts yet.)
{{ with .Params.audio }}
<script type="text/javascript" src="https://micro.blog/narration.js?url={{ . }}"></script>
{{ end }}
If you’re using Micro.blog Premium, the audio narration will also be included in the podcast feed. Any blog can effectively be a podcast, even if you don’t think of it as a traditional podcast. Some of my favorite writers have had great success with a dual model of email newsletter plus podcast version of the same content, like Ben Thompson and Molly White.
I can’t wait to see how people use this. It’s totally optional. It’s more work, and not everyone is going to want to do that extra work. I’m imagining this would be used for selective, special blog posts, rather than everything. I’m also interested in working this functionality into our companion app Wavelength, which should cut down on the technical steps.
In some ways, this feature isn’t actually about what is possible. This feature is a statement: we make things for humans, so they can make the web a little better. Along the way there will be plenty to automate, plenty of AI tools that will be important shortcuts, but we’re not going to lose our voice.
This blog post is a test for something new I’m working on. I think a lot of people feel overwhelmed that AI is everywhere right now. Personal blogs should lean in to the human voice. There’s a new play button on the permalink for this post on the web which will use a recording that I’ve uploaded.
Google’s AI overviews are pretty hilariously not ready. Maybe they never will be. Generative AI is a powerful, transformative technology, but that doesn’t mean it should be used everywhere! Sometimes dumb code is better.
Just finished listening to this interview on Stratechery with Satya Nadella and (separately) Kevin Scott. Some really thoughtful points about how Microsoft sees things around AI.
I liked this segment from Kevin especially, after talking about how humans can no longer beat computers at chess, yet we still love to watch humans play chess against each other:
I don’t think the AI is going to take over anything, I think it is going to continue to be a tool that we will use to make things for one another, to serve one another, to do valuable things for one another and I think we will be extremely disinterested in things where there aren’t humans in the loop.
I think what we all seek is meaning and connection and we want to do things for each other and I think we have an enormous opportunity here with these tools to do more of all of those things in slightly different ways. But I’m not worried that we somehow lose our sense of place or purpose.
Micro.blog for iOS was updated today with some improvements and fixes. Here’s a quick demo video of the new uploads search for Micro.blog Premium subscribers:
Feeling deflated this morning after the AI drama of the last couple days. I got so much flack over it. Now that the Washington Post is out with their story? Crickets. 🦗
Tonight the Washington Post has what looks like an exclusive story on OpenAI’s Sky voice. I didn’t want to keep writing about this, but here we are. Some quotes from the article:
…while many hear an eerie resemblance between “Sky” and Johansson’s “Her” character, an actress was hired to create the Sky voice months before Altman contacted Johansson, according to documents, recordings, casting directors and the actress’s agent.
The actress’s agent spoke to the Washington Post:
The agent, who spoke on the condition of anonymity to assure the safety of her client, said the actress confirmed that neither Johansson nor the movie “Her” were ever mentioned by OpenAI. The actress’s natural voice sounds identical to the AI-generated Sky voice, based on brief recordings of her initial voice test reviewed by The Post.
And from Joanne Jang, who worked at OpenAI with the actors:
Jang said she “kept a tight tent” around the AI voices project, making Chief Technology Officer Mira Murati the sole decision-maker to preserve the artistic choices of the director and the casting office. Altman was on his world tour during much of the casting process and not intimately involved, she said.
There was also a statement from the actress who voiced Sky:
In a statement from the Sky actress provided by her agent, she wrote that at times the backlash “feels personal being that it’s just my natural voice and I’ve never been compared to her by the people who do know me closely.”
Maybe we haven’t heard the last of this story and more news will drop. Even if it wasn’t intentional, there may be a legal case against OpenAI. But it appears that my initial take was correct.
I’ve been rolling this whole saga over in my mind since I first blogged about it. People are clearly concerned about AI generally and OpenAI specifically. There is also too much misinformation and divisiveness on social media, and a loss of nuance. When the narrative turns against a company, everything that follows will be viewed through a different lens, as if slightly distorted.
“You either die a hero, or you live long enough to see yourself become the villain.” — from this scene in The Dark Knight
Sort of paradoxically, the more I consider how AI will change the web, the more clear it becomes how to build features that keep the humanity in what we create. Take almost anything that AI is good at, but not as good as a human, and then make it much easier to do that thing the old-fashioned way.
Jason Fried previews the next product from 37signals on Twitter X, called Workbook:
It’s a dead simple platform to publish web-based books. They have covers, they can have title pages, they can have picture pages, and they can have text pages. Each book gets its own URL, and navigating and keeping track of your progress is all built right in.
Intrigued by this. We can always use more ways to easily publish to the web.
This post from @jsonbecker is going to be timeless, because as a society we increasingly let social media amplify each side of an issue until it’s out of proportion with the facts:
…sometimes when your peers and people you respect have all decided what the “right” view is, it’s very hard to comfortably express a less strident, more lukewarm, more timid, and possibly more complex or nuanced take, especially if you’re not ready, willing, and able to present a dissertation about your view point.
I posted a series of microblog posts yesterday with a common theme of trying to understand what is going on with OpenAI. This is a company with a lot of drama, nearly imploding last year with the board and CEO shakeup, and more recently alternating between amazing demos and dumb mistakes.
I got a lot of pushback about one of my posts in particular. I’m even seeing people want to leave Micro.blog because of it. This is disappointing to me, especially since I think I’ve gone out of my way to have a balanced approach to AI. We have a global setting to disable everything that uses AI in Micro.blog, for people who are against the technology on principle.
Here are the relevant posts from yesterday so you can see them more in context:
When your company becomes the enemy, all that matters to people is what feels true. OpenAI’s Sky voice shipped months ago, not last week. We hear what we want to hear. OpenAI mishandled this, no question, but most likely Her is ingrained in Sam’s head vs. intentionally ripping off Scarlett.
In the last 35 years, there have been a tiny number of truly revolutionary technologies that change everything: the web, mobile, and artificial intelligence. We can fight it, or we can guide it. But trust has eroded. To succeed we have to rebuild it. Move fast and break things will be a disaster.
Any chance that WWDC will have a live keynote this year? In the last couple weeks, we’ve had… OpenAI: live. Google I/O: live. Microsoft: live. To balance AI we need to lean in to human creativity, and a pre-recorded 2-hour advertisement will never feel as alive or engaging as a human on stage.
As someone who usually supports OpenAI, I’d still welcome an actual lawsuit from Scarlett Johansson about the voices. For one, I’m a huge fan of hers, but also I’d genuinely like to know if anything shady happened at the company. Dishonesty will cast a shadow over everything the API touches.
I also tried to clarify a few things in replies on those blog posts to other people’s points:
Sam was clearly inspired by and obsessed with Her. I don’t think it was subconscious, but that also doesn’t mean they sampled her voice explicitly.
The board firing Sam Altman is looking more and more rational. Which is why I think this should be an “all hands on deck” moment for OpenAI.
You’re right on the “total” lie, I shouldn’t have phrased it that way, because anything misleading in the OpenAI post would be dishonest. I was trying to respond to folks who are saying that when Scarlett declined to lend her voice, OpenAI copied it anyway. I don’t think that’s true. If I’m wrong, I’ll stop using any tech from OpenAI.
They already have the technology to actually clone someone’s voice, which I assume they didn’t use here because it would be an even closer match.
Did I get it wrong? For reference, here is OpenAI’s blog post about hiring actors for the voices, and Scarlett Johansson’s letter.
Perhaps I shouldn’t have blogged about this, but it’s my personal blog where I explore a range of topics. I do not run my blog posts through a PR department, and I think most people appreciate that blogs should feel authentic and human, even when they disagree.
Watched the Satya Nadella portion of Microsoft Build today, and the few minutes with Sam Altman, then skimmed through the other news. Microsoft is doing a lot, not all of it relevant to me. Importantly they plan for data centers to be powered by renewable energy (in 2025) despite scaling up for AI.
As someone who usually supports OpenAI, I’d still welcome an actual lawsuit from Scarlett Johansson about the voices. For one, I’m a huge fan of hers, but also I’d genuinely like to know if anything shady happened at the company. Dishonesty will cast a shadow over everything the API touches.
Any chance that WWDC will have a live keynote this year? In the last couple weeks, we’ve had… OpenAI: live. Google I/O: live. Microsoft: live. To balance AI we need to lean in to human creativity, and a pre-recorded 2-hour advertisement will never feel as alive or engaging as a human on stage.
Next month’s road trip is starting to take shape. Got my reservation for Bryce Canyon booked this morning. Also the Durango-Silverton train. Lots to see. 🗺️
In the last 35 years, there have been a tiny number of truly revolutionary technologies that change everything: the web, mobile, and artificial intelligence. We can fight it, or we can guide it. But trust has eroded. To succeed we have to rebuild it. Move fast and break things will be a disaster.
When your company becomes the enemy, all that matters to people is what feels true. OpenAI’s Sky voice shipped months ago, not last week. We hear what we want to hear. OpenAI mishandled this, no question, but most likely Her is ingrained in Sam’s head vs. intentionally ripping off Scarlett.
Microsoft’s Recall on the new Copilot+ PCs is quite impressive:
Now with Recall, you can access virtually what you have seen or done on your PC in a way that feels like having photographic memory.
There are obvious trade-offs using this if someone gets access to your computer, but I’d be comfortable with it if there are enough settings. For example, maybe I only want the recall to go back one week, not months.
Cool to see this visualization of the growing blogroll network. Blogrolls are fun and useful, and there’s still more we could do with them. If you’re using Micro.blog, you can set up a blogroll by clicking Design → Edit Recommendations.
It has only been a week since GPT-4o and they’ve already had a few days of bad news, including resignations and the latest with Scarlett Johansson. You can feel it becoming an “OpenAI can’t trusted” narrative that will be hard to shake. Need to prioritize this (and the Apple deal?) above all else.
Tuning in to a little more of the Trump trial. The jury could go either way and I won’t be shocked, because you really do want to be sure, but the idea that Trump didn’t know anything about this is just laughable. 🇺🇸
Whenever I’ve driven by the old Frank Erwin Center these last few months, I’ve noted how little of it is left. Yesterday they demolished the remaining structure. This video from UT’s president on LinkedIn has the final seconds.
Wow, had no idea going into game 7 what would happen, but didn’t expect that. Timberwolves vs. Nuggets had its ups and downs. Gonna root for the Mavs in the conference finals. 🏀
The latest from Mark Gurman at Bloomberg makes the Apple + OpenAI partnership sound like a done deal. WWDC is just a few weeks away! Should be a good one.
Uploaded the session video for Micro Camp’s State of Micro.blog panel. The website now has YouTube links for the sessions, including our interview with Christina Warren.
I posted the video of our conversation with Christina Warren at Micro Camp 2024! We talk about early blogging, how social media is changing, whether it’s actually easier to get started now, podcasting, what we should focus on as the social web grows, and more.
I took the demo portion from yesterday’s panel and uploaded it to YouTube as a separate 6-minute video clip. This shows the new replies curation and reply text box features.
Thanks everyone who joined us for Micro Camp! I’m going to edit the videos and put them online this weekend, but the live broadcasts are on YouTube in the meantime.
The chat on help.micro.blog is now open. This will be the back channel for the live broadcasts during Micro Camp 2024.
It’s going to be a busy day, but I wanted to pause to note two movies I watched this week and really enjoyed, for completely different reasons: Molly’s Game and Marcel the Shell with Shoes On. I’m still amazed that Marcel was funded with such an obvious singular vision, unlike anything I’ve seen. 🍿
Just in time for Micro Camp today, a brand new Core Intuition: episode 599! We talk about Micro Camp, Micro.blog, and domain names, then catch up on GPT-4o, Google I/O, and Apple.
Trying out the new pinned, columns interface on Threads. It’s quite good. Fixes the minor gripes I had with clicking too much to get to the following list or replies.
Questions about blogging or Micro.blog? We’ll be answering questions at Micro Camp, from the chat tomorrow or you can submit a question anytime on this form.
We’re keeping things simple with Micro Camp this year: no email list, no registration. I did add a time zone helper link and an “Add to calendar” button on micro.camp, to make it easier not to miss when the livestream starts.
We have some great door prizes for Micro Camp tomorrow! 🎟️
Micro Camp is… tomorrow! 🤯 It’s extra micro this year, so if you blink you might miss it. Hope everyone can join us for a keynote conversation with Christina Warren and then the State of Micro.blog, announcing a couple new features, and Q&A. Starts 11:45am Pacific time.
The new Wicked trailer was released today. High expectations for this one. No doubt the music will be great, just hope they get the rest right too.
Finished reading: Bookshops & Bonedust by Travis Baldree. I’ll read almost any book about books. Something was missing in this one compared to Legends & Lattes, through. 📚
Google eventually turning their home page into ChatGPT is a rare opening for something new in traditional web search. It’s not a certainty that AI assistants and web search will be a single tool. They can have very different purposes: one looking for answers, one looking for things to read or use.
This post on The Verge assumes that AI hallucinations should be fixed, but generative AI is like a human assistant: helpful, sometimes wrong. The fixable issue is actually perception and UX, giving a false sense of confidence. Google will likely make this worse with “definitive” answers in search.
Further evidence from The New York Times that the November election will be largely decided by people who are objectively ignorant. There’s no way to sugarcoat it.
Nearly one in five voters in battleground states says that President Biden is responsible for ending the constitutional right to abortion, a new poll found, despite the fact that he supports abortion rights and that his opponent Donald J. Trump appointed three Supreme Court justices who made it possible to overturn Roe v. Wade.
🇺🇸
Ben Thompson in today’s update on Google I/O:
What was much more dubious and vaporware-y were actual new products. And, frankly, this isn’t a surprise: one’s take on Google before the AI revolution would have been that the company can operate at scale like no other, but has lost the capacity to innovate; at the risk of confirmation bias, that was exactly the takeaway I had from much of this keynote.
I wonder if there’s a disconnect with Google’s ad-based business not knowing how to turn research into products.
A couple months ago on Core Int, I said we were at peak Apple. With every week, I believe that more strongly. Apple has been an inspiration for me for 30 years. A massive success. I think this is as good as it gets for them. They are simply too big to fundamentally rethink anything for what’s next.
I’ll admit I’ve only skimmed the recent “is iPadOS holding the iPad back?” posts from Federico Viticci, Jason Snell, John Gruber, and others. The iPad isn’t part of my routine now that I’m back to using the Kindle for e-books.
Apple has had a decades-long battle with window management generally and the Finder specifically. At Ease, Simple Finder, Launchpad, Stage Manager, iOS Files… But it turns out the Finder is great. You could go a long way just by replacing Files with a touch-optimized Finder.
I wrote the above and then went back to Federico’s post, where he actually highlights this same point:
After seven years, I’m starting to wonder if maybe it’s time for Apple to scrap the Files project and start over with a new app based on the strong foundation of Finder. We’re well past the point of excusing the Files app for being a young file manager; when you’re spending $3,000 on a high-end iPad Pro with plenty of storage, you want the app to manage that storage to be flawless.
Apple could do this even without turning iPadOS into a true fork of iOS. Boot the iPad into a new Finder that mostly obsoletes Springboard and Files.
My superpower and greatest weakness is not letting the need for a major refactor get in the way of shipping something new. Beautiful code is nice, but too many developers forget the goal is user experience, not developer experience.
I don’t think the Trump defense to discredit Micheal Cohen is going to work. So, Cohen hates Trump now? Of course he does. He lied and broke the law for Trump, then went to jail. If anything it just makes the whole story more complete and believable. 🇺🇸
There was good stuff in the I/O keynote, but OpenAI effectively undercut a bunch of it by demoing GPT-4o yesterday. Also lots of filler, really no need for a 2-hour session. My main takeaway is cheap pricing and new open source models to ship soon-ish.
Google’s product naming is getting better now that they’ve burned through all the plain words like Docs, Photos, etc. Gemini and Astra are nice.
Only a dozen minutes into the Google I/O keynote and there are already a couple features I want… Asking photos what my license plate number is, and filming my bookshelves to make a list of book titles and authors.
It’s often difficult to see the impact of a new feature until it is working. Ideas and mockups only go so far. So many times this has happened with Micro.blog, where seeing it live is even better (or worse!) than I had hoped.
I missed in the OpenAI livestream that the “o” in GPT-4o stands for “omni”, but this is clarified in the blog post. Makes me feel a little better about the odd naming, which otherwise sounds like “4.0”. That gripe aside, really impressive.
Working on something new to show this Friday for Micro Camp. Pulled it off the back-burner, it’s a feature we’ve talked about at least a few times since last year.
Wow, Apple put a lot of work into this 100 best albums website. Fancy. (I would’ve been fine with a simple numbered HTML list or music playlist.)
The New York Times: Frustrated by Gaza Coverage, Student Protesters Turn to Al Jazeera. People see what they want to see, look for news that confirms their own perspective. Let’s queue up some more TikTok videos too! 🤪
Yet more Apple + AI news from Bloomberg:
Apple Inc. has closed in on an agreement with OpenAI to use the startup’s technology on the iPhone, part of a broader push to bring artificial intelligence features to its devices, according to people familiar with the matter.
I’m fascinated by this because clearly Apple will have small-ish LLMs on device for apps and Siri to use. Maybe there will be a more ChatGPT-like interface that is powered by OpenAI, similar to how Maps was originally powered by Google? Could also partially insulate Apple from hallucinations and bad press.
Very curious what OpenAI is up to with their announcement coming up on Monday, from this post on Twitter X. In the last few months they’ve announced all sorts of big improvements with just a blog post. Seems significant.
Nothing surprising in today’s NYT story about Apple’s AI plans. I wanted to comment on this part:
Apple plans to bill the improved Siri as more private than rival A.I. services because it will process requests on iPhones rather than remotely in data centers.
Apple genuinely believes in privacy, even if it is also a strategy credit for them. Using generative AI on iPhones will make for a much better Siri. I’m looking forward for it. But we shouldn’t expect it to be in the same league as GPT-4 unless they can find some way to seamlessly blend on-device and server-based AI, likely much later.
The first update from Ghost about ActivityPub has a screenshot of their early experiment. There’s also a lot about timing:
In 2024, for the first time, it finally feels like we have a critical mass of people and platforms who are interested in rewilding the internet to bring back what we lost, and create something new.
Not sure about “for the first time”, but that’s a minor nitpick, mostly selfish on my part. I’m glad Ghost is doing this and look forward to following their email series.
Excited to announce that @kimberlyhirsh is joining the Micro.blog team. She’ll be helping part-time with curation and community. We’ve been talking to Kimberly for a while and I’m happy she can join us as @jean moves on.
I’m looking forward to working with Kimberly, and seeing what new ways we can expand the team from here. As I mentioned in my post thanking Jean for all her work on Micro.blog, I think everyone can bring something different to the company. Vincent has also been at work behind the scenes to improve the admin features in our platform, with the hope that some of it can be available to more community members.
We know the long-term vision for what we want Micro.blog to be, but exactly how we get there can still be a surprise. Thanks Kimberly for wanting to be a part of this!
This interview with Jack Dorsey provides some closure to his part of the Twitter and Bluesky story. On leaving the Bluesky board:
So I just decided to delete my account on Bluesky, and really focus on Nostr, and funding that to the best of my ability. I asked to get off the board as well, because I just don’t think a protocol needs a board or wants a board. And if it has a board, that’s not the thing that I wanted to help build or wanted to help fund.
Jack says that he respects Bluesky CEO Jay Graber, just that what they each wanted went in different directions.
Jay herself responded this week on Bluesky:
With all due respect to Jack for having the vision to invest in decentralized protocols, we’ve carried out the work in a way I don’t think he fully understands. Bluesky is structurally open in a way Twitter has never been, but the design of atproto allows it to feel familiar and easy to use.
There was also this defense of Jay from Bluesky developer Paul Frazee:
I’ve been watching Jay make consistently strong strategic decisions under incredible pressure, and watching her get dogged by this 2nd rate nonsense is too much. That guy isn’t the story. The fact Jay charted her own path is.
Personally, I still really like what Bluesky is doing. We’re continuing to add Bluesky features to Micro.blog, like being able to see and reply to Bluesky posts within Micro.blog. For the foreseeable future, the social web is not going to be a single protocol (except of course HTTP).
Micro Camp is one week from today! I updated the home page with the schedule.
We recorded a new Core Int just a couple hours before Apple issued their apology about the Crush ad. Still had fun talking about new iPads, then a discussion of Mastodon as a non-profit and more.
Because everyone is mad about everything now, I try not to overreact to the latest hot takes until I see things for myself. Finally watched Apple’s “Crush” ad, and sort of agree with the consensus that it feels wasteful, uncomfortable. Ads should inspire, and this does not.
It’s hard to believe it has been seven years since Jean joined me to work on Micro.blog. After a few emails back and forth in early 2017, Jean and I met at Fairlane Coffee while I was up in Portland. I showed her an early version of Micro.blog and we talked about how we could work together.
Reflecting back on that day, it was a pivotal moment because it helped accelerate Micro.blog growing into its own company that could become my focus, instead of just one of several projects I was working on in my indie software company Riverfold. Micro.blog was going to need more of my time, and then some!
Jean has been an integral part of everything we’ve done since then. She created the Micro Monday podcast, organized in-person and online Micro Camps, and ran the photo challenges for the community, all on top of managing the Discover section of Micro.blog and working through community issues with me. This is perhaps the most rewarding part of working with someone else — seeing new things happen that I couldn’t have done on my own, and in some cases new ideas I had never considered.
Thanks Jean! As you move on from Micro.blog, wishing you the best of luck with your long-form writing, hopefully a little microblogging too, and whatever else is next.
Posted to my blog from the passenger seat of the car and then we immediately drove into a national forest with no cell coverage. It’s so easy to take internet access for granted.
Traveling this week so a bit scattered, but also working on a couple pretty important blog posts about Micro.blog. In a perfect world with a larger company, maybe there’d be a PR firm to review the timing of everything? It’s all good, though, and whenever posts are published will be the right time.
Jean has posted the schedule for Micro.blog. It’s even more micro this year. Micro Camp changes a little every year. I don’t think we need to be set in exactly the same pattern. This time we’re going to lean into more Q&A, extending the State of M.b so there’s plenty of time to answer questions.
I was actually thinking about going to Dragonsteel Nexus, even though it doesn’t make any sense to travel to Salt Lake City for a book release. Luckily the event sold out right away, no need to decide. I should take all that money I just saved and throw it away on an iPad that I don’t need! 🤪
TikTok lawsuit against the United States seems weak on first glance. This argument that they can’t move the source code to a new owner is hard to take seriously:
…precipitously moving all TikTok source code development from ByteDance to a new TikTok owner would be impossible as a technological matter. The platform consists of millions of lines of software code that have been painstakingly developed by thousands of engineers over multiple years.
Sure, it would be some work to sift out what is TikTok and what is ByteDance. Better start the refactor now. From the text of the court filing.
Busy morning, so only just now catching up on all iPad announcements. The Verge as usual has a good overview. I’ve fallen out of using iPads, but tempted again by the new pencil.
Broke the corner of my old Apple Watch screen, not badly, but enough that it was time to upgrade after several years. New one is a tiny bit bigger and noticeably faster.
It’s fine to have multiple social web protocols, because this is a good time to experiment and see what sticks. But there’s a limit, and I’m drawing the line at Farcaster. ActivityPub, AT Protocol, and Nostr each provide unique strengths. We do not need a blockchain-based additional platform.
Helpful blog post from @matt17r about the steps he used to migrate a blog between accounts on Micro.blog. Hope to make this even smoother in the future.
Not sick of me singing the praises of OpenAI yet? Their batch API is incredible. An elegant design, if you can say that about an API, and very powerful.
Another advantage to having a blog as the center of all things is that when I’m busy, I can just temporarily disable cross-posting to other services. I can also tune down the Micro.blog timeline settings to see fewer replies to other people. The writing process is the same, just fewer distractions.
Finished reading: The Long Way to a Small, Angry Planet by Becky Chambers. It didn’t quite work for me, lots of interesting characters but very little story. Still enjoyed it, just not as much as her recent novellas. 📚
It’s hard to tell when a blog post is first published if it’s any good. A few days later, a year later, then you know.
In college in the 1990s, I joined the socialist student organization. I saw every issue in stark contrast — a measure of fairness and justice. If I was young on campus today, I might be protesting the war in Gaza. But even in college, truthfully I wasn’t a great activist. I remember our organization leader calling me about a protest for workers’ rights and I was too lazy that day to go.
I’m still for peace and equality today, but now I know that the world is fucking complicated. I’m less certain about things I felt so strongly about before.
Seeing everything in black and white is a mixed blessing. Seeing only the extremes leads to passion and action. But it can also blind us to more nuanced arguments. It can make us more susceptible to manipulation, caught up with TikToks and retweets that reinforce what we already believe.
Taking a step back from the protests specifically, liberals advocate for the less fortunate. We want people of all backgrounds to be treated with respect. We push back against laws that further redistribute wealth to those who don’t need it.
I think this instinct has run into problems in Gaza. War is terrible. More humanitarian aid is needed, and more military restraint. Palestinians have been struggling for decades, now they’ve been forced from their homes, children have died in bombings, and there’s a risk of famine. We want to side with them because we always default to supporting the people who most need support.
And yet polarization has twisted everything. On social media, we use the worst words possible. No words on any topic seem to go far enough, because everyone is angry about everything. Innocent people dying in war — it just doesn’t sound terrible enough for our outrage. So we reach for even more extreme words, calling to mind atrocities that have rightly been judged by history as indefensible.
Pick a side, protest, use all the hashtags, get angry, go viral. In a social bubble, everything is amplified.
I’m going to be honest, the brutality of the Hamas attack on October 7th changed my opinion on the Middle East, possibly forever. Hamas cannot stay in power. But how to remove Hamas without risking innocent life and creating a new generation of terrorists is an impossible challenge that I don’t have a solution for.
Peaceful protests are an important part of a democracy. Most of the protests have been peaceful. Unfortunately some of the protesters at a few campuses like Columbia University and UCLA have lost the plot, seeing injustice everywhere, creating chaos, justifying vandalism. I hope we haven’t become so tribal that we support that.
There is a bit of hope in the news. Earlier this week, Antony Blinken said:
Hamas has before it a proposal that is extraordinarily generous on the part of Israel. And at the moment, the only thing standing between the people of Gaza and a cease-fire is Hamas.
I hope Hamas accepts it. The hostages need to be released and even a temporary ceasefire will make it easier to ramp up more aid.
Amplified by social media outrage, it has become difficult to see the war clearly. I’m not sure how as a society we get through this. All I know for sure is that it’s going to take a long time, and we need social platforms that don’t feed on division.
✌️
I’m still doing this because the world is flooded with overpriced, crappy, subpar software. It hurts people and it hurts the economy.
Reminds me of when 37signals would redesign popular sites like FedEx. Part of it was a way to get attention for what they could do, but I bet it was also because Jason couldn’t stand how bad some websites were.
New episode of Core Intuition about this week’s tweaks to the CTF, plus a discussion of how Micro.blog is using AI. We talk about my decision to have a global AI setting and how some customers feel very strongly that AI use should be limited.
Finally checked out the Carpenter Hotel’s coffee shop yesterday. Nice place. Had a little break from the rain outside.
Great teardown video from iFixit on the Rabbit and Humane devices. The closing line also highlights why these need to be standalone devices:
Both at best should’ve been an app. But that might have more to do with the restrictions on Apple and Android’s app stores than anything else.
Easy to access, simple hardware is not only fun but also the only way to really push anything forward at the moment. We wouldn’t say that because the iPhone can run games the Nintendo Switch shouldn’t exist.
Recorded another very short video for YouTube about how we’re starting to use the auto-generated photo descriptions in the new post screen. As you can see in the video, it’s still a little clunky. I’ll improve the timing and UI flow as we use it more.
There’s a redesigned version of Lillihub for Micro.blog available. I’m amazed by how many features it supports. Check it out if you’re looking for a different take on the user experience or text editing UI.
I’ve been working on a Gaza-related blog post off and on for months, mostly threw it out and rewrote it this week. Sometimes I draft a post and it feels good to write it down, so I never actually post it. Other times I can’t let a topic go until it’s published.
Admittedly I’m not a subscriber so haven’t read the full text for M.G. Siegler’s Vision Pro article this week, but the opening paragraph is not fooling around:
Arguing about the shipment projections for Apple’s Vision Pro is sort of like arguing about how many tickets were sold on the fateful Hindenburg journey. For one thing, we’re going to find out the number one way or another, eventually. For another, we’re sort of overlooking the massive airship exploding in the sky.
How is it May already? Reminder that Micro Camp is coming up in just a little over two weeks! We’ll get the full schedule up later, but the plan is to start at noon Pacific. It’s free. We’ll have a livestream and chat. micro.camp
The API folks at OpenAI continue to do great work. You can just tell when developers have their act together. Felt the same way the first time I used Stripe. The latest improvement is vision models in the batch API (Twitter X link), which should eventually bring down my costs.
The “it should’ve been an app” arguments would resonate with me more if Apple let you replace Siri. There’s just no way to get enough integration on iOS. It is hard to innovate around Apple and Google, but I’m glad some developers are trying to, because that’s how we get new things.
Patrick Rhone has a new book: For You:
This book was written for my daughter Beatrix in honor of her 16th Birthday. It is inspired by many events and conversations we’ve had over the years.
This book is for you, too. Because these lessons are universal.
Saw this poster the other day and was fascinated by it. I’m posting it to capture the time we live in. It also inspired me to read a few random articles about horses in the Middle East, including this one from 2016 in The New York Times:
Palestinians and Israelis in the business, as well as foreign trainers and judges who know the region, say that Arabian horses have another effect that is almost magical: They coax Israelis and Palestinians into the same arenas, where the conflict briefly melts away and everyone admires the horses as they strut, dance, gallop and compete for trophies.
Neat video from Brandon Sanderson at C2E2. I’m tempted to go to Salt Lake City for the Wind and Truth release. None of the books I’m reading are hitting… I’m pushing through, but part of me wants to just start re-reading all of The Stormlight Archive.
I’m 48 years old. If you start counting with my paid internship in college, I’ve had a roughly 30-year career in the software industry, give or take a year. I feel extremely lucky that the web came along just as I was getting my feet wet as a developer. World-changing technologies are rare.
Timing matters. This is part of what Malcolm Gladwell’s book Outliers is about.
As I get older, I’m increasingly aware of how easy it is to become bitter and set in my ways. There are many episodes of Core Intuition where I complain about Swift or SwiftUI. Why do we need a new programming language when the old one is still perfectly fine? 🤪
The tech and startup world has had no shortage of over-hyped sidetracks. Blockchain is the most recent flop. Just because a technology is novel, doesn’t mean a practical purpose and business model will emerge.
I almost never jump on trends because you can waste so much time chasing productivity gains that you actually end up going backwards. I run my servers with old tech. I use tried and true programming languages and frameworks. I am not cutting edge.
Some people think generative AI is in the same line as other problematic new technologies, fads that come and go, leaving a string of wrecked businesses and broken apps in their wake. I understand the hesitation. We have been inundated with tech companies that don’t care about data privacy, don’t care about how energy use affects the climate, and don’t care as much about user control as they do about profit.
It is with this backdrop that I get to the point: this AI shit is real. It will change almost everything. I’m not expecting to see another truly game-changing technology for the rest of my career. This is the one.
That doesn’t mean we should move fast and break things. I’m trying to be thoughtful about this. The new photos search and accessibility feature we introduced in Micro.blog today is a first step, and perhaps we won’t take the next step for another year or longer. It’s useful today, as a tool to help people do more with their time, and that’s enough for now.
Great blog post from Om Malik on the current AI hardware from Humane and Rabbit, and where things are going.
I posted a video on YouTube today with where we’re going in Micro.blog to use AI in a limited way to help with search and accessibility.
Got derailed looking at electric bikes (again!) and now I want this: eeyo.bike. I’m not super picky about bikes, but the cheap one I got a few years ago is busted and it’s impossible to find a new battery. This seems a common problem for many brands. 🚴
I feel like MKBHD is trolling us now with the clickbait video titles. R1 review is overall pretty fair, doesn’t change my expectations much.
Recorded a new video to release tomorrow, with a walkthrough of what is possible with photos and AI. Just a first step, nothing earth-shattering you haven’t seen before, but I really like how it’s coming together in Micro.blog. Our robot overlords made me post this. 🤖
Watched the first episode of Fallout last night. Really good. I never played the game, so no idea how closely the show is inspired by it, but I like what they’ve done so far. 📺
It was going to be confusing for DMA-required changes on iOS to not also apply to iPadOS, especially for developers with universal apps. I assume syncing them up won’t be a major problem for Apple, hopefully for iOS 18. MacStories has the latest EU news on this.
When I find myself questioning whether I’m on the right side of an issue, it can be a little comforting to realize that there is no right side. Some things are just a mess. Humans are imperfect, but we’re trying our best. ❤️
Wish I could permanently remove that red dot from the Threads favicon. Life is better with most app icon badges and notifications hidden, and this one is really glaring.
Thanks @numericcitizen for a new YouTube video about what’s new in Micro.blog! Covers updates to newsletter updates, Bluesky support, AI setting, blogrolls, and more.
Uploading photos to Micro.blog? Don’t forget about Mimi Uploader. We will be rolling out some AI-based features in Micro.blog soon for photos, but you can already use Mimi today to help generate photo alt text.
Check out the iOS app Bound if you ever have a bunch of downloaded audiobook files that can’t fit in Audible, Libby, etc. I’m using it with the MP3s for Dragonsteel Prime and it works great.
It remains good advice not to judge an album (or a book, or almost anything) too quickly. From Oliver Darcy at CNN on Tortured Poets:
One week later, my view of the album has entirely reversed. After spending more time with the two-hour sonic feast, more methodically touring through its subtleties and nuances, I am ready to declare that it is one of Swift’s best works yet. Anecdotally, it seems others are also identifying with this experience, initially expressing tepid feelings toward the album, and then realizing after a few listens it has really grown on them.
Biden was great at the White House Correspondents' Dinner. And Colin Jost was excellent: funny but also meaningful and sincere. Really well done. 🇺🇸
One of the most confusing parts of Micro.blog is the Account → Edit Sources page. It is also one of the most powerful and unique parts of how Micro.blog was designed. If you’re confused by it, how can we improve it? I’ve made a couple tweaks here and there this year, but need a fresh look.
Manuel Moreale blogs that the web is not dying:
Let’s imagine we ban TikTok. And Facebook. And Instagram. And Threads. And all the other huge platforms. There would still be one global town square left. It’s called the web. The web itself IS the global town square.
Mark Gurman says that Apple “has renewed discussions with OpenAI about using the startup’s technology”. GPT-4 is simply more advanced than anything else. Makes a lot of sense for Apple to have their own small models run on device, and lean on others for larger server infrastructure.
We just posted a new episode of Core Intuition, about recent Micro.blog downtime and then a full discussion of the TikTok bill.
Years ago when we launched Micro.blog, I had a clear vision for indie blogging that felt on the cutting edge of the distributed social web. Now that federation is just accepted as the base foundation for any new network, thinking about if that changes our identity. We sort of won. What’s next?
For everything in the news that I blog about, there are probably five stories that I just bite my tongue on. Don’t need the controversy. 🙂 But on the next Core Int, we talk a lot about TikTok, which was a fun change of pace. I’ll be editing it today.
Obviously would’ve been good even earlier, but I’m glad to see construction for the Gaza floating pier is underway. From the NYT:
Senior Biden administration and military officials detailed a complex plan in a Pentagon call with reporters on Thursday afternoon, explaining how the pier and causeway are being put together, and how it is supposed to work. Army engineers are constructing the facility aboard Navy ships in the eastern Mediterranean.
I assume we’ll see photos at some point. Seems like a difficult but important piece of the puzzle for Gaza aid.
If you missed the announcement, next month we’re having Micro Camp, our free online event for the Micro.blog community, and for anyone interested in blogging and the social web. Special guest Christina Warren! May 17th.
Little known feature in Micro.blog: it saves each copy of a draft in case you need to revert or get text from a previous version. Apparently I hit ⌘S a lot while writing that post about TikTok this morning.
I wasn’t sure whether I felt that strongly about the TikTok bill until I read this blog post by Ben Werdmuller. I usually love Ben’s posts but I disagree with him on TikTok and the open web, so let me respond to a few points:
Ironically, banning a service from the open internet nationwide is exactly the kind of thing that China has done again and again through its Great Firewall. Rather than protect American users through the kinds of far-reaching privacy legislation that we need, government chose to address TikTok alone on the basis of what amounts to xenophobic protectionism.
I’m not convinced American privacy legislation will have much impact on a company based in China. TikTok has also long promised to host data in America — “Project Texas” — and according to recent reports the effort is largely cosmetic.
This is not a ban of TikTok. This is a focused effort to force ByteDance to sell the company, so that it can be controlled by a company with more transparency and accountability. If ByteDance refuses to sell TikTok, the app will be removed from distribution by platform gatekeepers, but there’s nothing to stop TikTok from continuing to operate and be available to Americans via the web, as long as it’s hosted somewhere else.
From HR 815, now signed into law:
Providing services to distribute, maintain, or update such foreign adversary controlled application (including any source code of such application) by means of a marketplace (including an online mobile application store) through which users within the land or maritime borders of the United States may access, maintain, or update such application.
It might even be a positive outcome for the open web by shedding light on Apple and Google’s tight control over app distribution, and showing users why Progressive Web Apps can be a good alternative solution. TikTok would potentially be slower with a poorer user experience, or maybe it wouldn’t, but the open web is not going to fall apart so easily.
It’s true that some US Senators have shown themselves to be ignorant, xenophobic, and racist, on not just this bill but a range of issues. And yet a broken clock is right twice a day.
Ben writes sarcastically:
There’s a possibility that TikTok will be used to spread propaganda, unlike every other social network
I will be the first person to criticize massive social platforms. Significant portions of my book are about exactly that. It’s a very real problem to have so much concentrated power. But as much as we might dislike how Mark Zuckerberg runs Facebook, we can be pretty confident he is not going to undermine America on purpose, quietly putting a foot on the scale with propaganda to amplify political chaos.
Scott Galloway, co-host of the Pivot podcast with Kara Swisher, was on MSNBC’s Morning Joe this week:
What might sound paranoid, but that doesn’t mean I’m wrong: I think we are being manipulated, specifically youth, who their frame for the world is TikTok. If you look at TikTok, there are 52 videos that are pro-Hamas or pro-Palestinian for every one served on Israel. I think that we’re being manipulated. I think Americans are easier to fool than to convince they’ve been fooled. But if I were the CCP, I’d be doing exactly the same thing. I think social media is sowing division and polarization in our society.
We just can’t be sure whether the algorithm is only giving people what they want or whether there’s any influence being fed into it. Ben Thompson wrote on Stratechery years ago that there is evidence that Americans should be concerned:
TikTok’s algorithm, unmoored from the constraints of your social network or professional content creators, is free to promote whatever videos it likes, without anyone knowing the difference. TikTok could promote a particular candidate or a particular issue in a particular geography, without anyone — except perhaps the candidate, now indebted to a Chinese company — knowing. You may be skeptical this might happen, but again, China has already demonstrated a willingness to censor speech on a platform banned in China; how much of a leap is it to think that a Party committed to ideological dominance will forever leave a route directly into the hearts and minds of millions of Americans untouched?
Wondering about China’s influence on the TikTok algorithm isn’t xenophobic. It’s not about the people. It’s about the leadership. In the same way we can blame Putin for the war in Ukraine and still be sympathetic and trusting of the Russian people, we can be skeptical of the motivations of the Chinese Communist Party and still respect people in China, admire their culture, and welcome Chinese immigrants to America with open arms.
And what if I’m wrong? What if it turns out there’s zero influence from the Chinese Communist Party and only pure intentions with the TikTok algorithm, as far as making a bunch of money on ads can be considered pure? TikTok is still probably a net negative for society, and I’m not going to lose sleep if their business stumbles or the bill leads to more competition in short video social networks.
How am I only just now seeing the trailer for Chris Sanders’s The Wild Robot? Beautiful, like a mashup of Iron Giant and Bambi. Reminds me of why I love animation.
I’m a progressive, but we may look back on woke-ism as perhaps overcompensating. I worry about societal division. We can go so far in what appears to be the right direction that we lose sight of the big picture, like narrowly following old driving directions and getting lost when the world changes.
Continuing to learn a lot about AI. I’ve spun up several servers trying to find the right config for reasonable performance even on small models. Fixed costs but still quite expensive for me, and hard to match the reliability of OpenAI.
What happened last night with our primary db server was sort of amateur hour, something I learned a lifetime ago but still tripped me up. I recently reset the replication server, upgrading it, and last night it got hung up on an error and filled the disk with MySQL binary log files. Sigh.
Fish pond after getting coffee at Epoch earlier. Looks the same as a couple decades ago except all the retail space has changed, except Korea House. When I walk through I always think of the little model train store that used to be on the corner.
Didn’t realize my library card was expiring, and now I can’t get the books I’ve been waiting weeks for in Libby. Life is rough. 🙂 Going to renew online but it’s not exactly automated… Luckily have more than enough to read in the meantime. 📚
A first look at the Rabbit R1 from David Pierce at The Verge:
…the best way I can describe the R1 is like a Picasso painting of a smartphone: it has most of the same parts, just laid out really differently.
Mostly positive. There are shortcomings but this is a fun $199 device, so no one is expecting the polish or maturity of a $999 iPhone. I’m excited to get my R1 eventually.
I read a little of HR 815 to remind myself how the TikTok divestiture works. As much as Congress often looks like chaos in the news, there have to be writers on the staff who know what they’re doing, which is a little reassuring. 🇺🇸
Apple and Google as the bottlenecks for app distribution is what makes the TikTok forced divestiture possible. I wonder if ByteDance has considered rebuilding TikTok as a PWA to skirt the law. Not an ideal experience, especially without US hosting, but video sharing should be fine via the web.
Watched the Rabbit R1 launch party. I love what they’re doing. The vision goes beyond a little orange AI gadget. Especially interested in teach mode and what a full web platform (“rabbitOS”?) might look like.
As seen in this video about Meta’s glasses, a clever solution to video calling: just stand in front of a mirror. Very low-tech but also looks more natural than Apple Vision Pro personas.
It’s still very early in the trial, but seems the prosecution knows what they’re doing in methodically building the case. From coverage in the The New York Times:
Before court adjourned for the day, Mr. Pecker testified that Mr. Cohen and Mr. Trump had asked him what he and his magazines could do “to help the campaign,” a crucial statement that supports the prosecution’s argument that the men were not just protecting Mr. Trump’s personal reputation, but aiding his presidential bid.
🇺🇸
I hate Apple’s control of app distribution, but while they’re at it why not ban useless release notes like “bug fixes and improvements” or “we improve the app every week”. If devs don’t know how to document what’s new, feel free to scroll through the M.b release notes history going back 7 years.
For folks using Micro.blog Premium with the AI setting enabled, you may start to notice some new generated data for photos, as in this screenshot. I’ll blog more about this in the coming weeks when it’s fully enabled. The goal is better photo search and accessibility.
Swift has been inescapable over the last year. With the release of “The Tortured Poets Department,” her latest (very long) album, some seem to finally be feeling fatigued.
I’m enjoying the album. But I think we are spoiled. For her next album, Taylor Swift should go back to basics: 10 tracks, no music videos, no special editions, vinyl only. After abundance, we need a reset.
I’m grumpy and bitter about several unrelated things this morning. Probably shouldn’t be blogging, but I am anyway. Hope everyone’s Monday is off to a good start. 🙂
Ghost has announced they are working on ActivityPub support. This is great news. Although the “It’s time to bring back the open web” headline irks me since people have been asking Ghost to support open posting APIs for years. Micro.blog had ActivityPub in 2018. But now it’s time? 🤪
I got into web development in the mid 1990s when I was about 20 years old. I feel very lucky to have fallen into a career that I can continue to be passionate about almost 30 years later. AI will be the same for some young people today. It’s a rare opportunity.
Seth Godin has one of the clearest blog posts about AI. Much of AI is an illusion. That doesn’t mean we should ignore it, but it does mean we need to be thoughtful about how we use it, with reasonable expectations.
Don’t have much to say about Post.news shutting down other than what is already obvious to everyone. There’s no space in the social web for silos unless you’re Meta. Very similar problems to what I wrote about with App.net in my book.
Misplaced my AirPods Pro, possibly in New Orleans. I’ve been using wired EarPods for a few days and… they’re fine! EarPods have always felt better in my ears, and they work 100% of the time when plugged it instead of 97% for Bluetooth.
Was listening to Laura Coates on CNN during lunch (yes, I watch the news too much) when the fanatical Trump supporter lit himself on fire outside the courthouse. Disturbing and sad. Reminder to everyone that we sometimes need to lower the temperature and be mindful of getting swept up in extremism. This year will be an enormous political challenge. 🇺🇸
TikTok Notes is an odd name for a product that is mostly about photos. I hope it doesn’t lead to a redefinition of the word “notes” in social media, like what happened to a lesser extent with “stories”. Wonder if Substack Notes (a mostly text-based network) isn’t thrilled either.
Listened to the first half of The Tortured Poets Department last night before going to bed. When I woke up, there’s basically a whole extra album out! Makes me happy imagining how much fun it must be for Taylor Swift and her fans to have these surprises. Masterclass in creativity, hype, and loyalty.
Thanks @vladcampos for having me as a guest on his show this week! Here’s a link to the video on YouTube. We talked about blogging, where Micro.blog came from, my book, and much more about the social web.
Tonight’s plan:
Announcing Micro Camp 2024! Coming up next month. From Jean’s post:
Save the date! The 4th annual Micro Camp will be May 17. It will be a bit more micro this year, but we’re still doing it. 😇 Christina Warren / @film_girl@mastodon.social will join @manton and me for a chat about the evolution of blogging and social media to kick things off.
It’ll be a single day this time instead of multiple days. Should make for a simpler schedule. Hope folks can join us!
Learning about the jury process for Trump’s trial, seems like even with the slow start they’ve got things well in hand. We can wait a few more days. There are limits in the system, so the defense can’t veto thousands of potential jurors until they find the rare Trump fan in NYC. 🇺🇸
Rabbit founder Jesse Lyu, posting on Twitter X:
in about 7 days, r1 reviews will be out. we are ready to face any criticism and we will fix any issues that we need to fix.
Meanwhile almost nothing from Humane’s founders after the negative reviews. I’d be blogging. Tell us how you’re going to fix this, what’s next.
I asked Meta.ai to imagine Austin in the 1920s, in watercolor. It has a lot of mistakes that a human artist would never make, but I wish Austin still looked like this. Bring back the trolleys!
Meta’s ramping up their AI efforts. Playing around with www.meta.ai, it falls over with describing photos, which is my new go-to test, but I love the short animated drawings it can do. ChatGPT is still the gold standard.
Continuing to work through some lingering Micro.blog issues with the Ruby 3 upgrade. As I spot errors, I’m fixing them. Don’t hesitate to report issues via email or @help.
I’m obviously not a constitutional lawyer, but seems like the right move to dismiss the impeachment charges. Republicans just wanted to turn the Senate trial into part of the political campaign — where TV networks would amplify their message — while they refused to move on actual border solutions.
I read some good blog posts this week about AI, from a range of perspectives. Micro.blog won’t be for everyone, but I do want it to appeal to folks who can’t wait for the AI-powered future and to folks who don’t think the benefits outweigh the potential harm. (And the majority who just want to blog and don’t follow the tech closely.)
Molly White has a post today about many of the good things AI can do, along with the costs and consequences of getting too wrapped up in the hype:
I’m glad that I took the time to experiment with AI tools, both because I understand them better and because I have found them to be useful in my day-to-day life. But even as someone who has used them and found them helpful, it’s remarkable to see the gap between what they can do and what their promoters promise they will someday be able to do.
Many of the most useful capabilities are actually not very exciting. As an example, for years Apple and Google have used machine learning to improve photo search, so you can find photos that include pets or buildings or concerts. Today, AI can take that kind of feature and super-charge it, with remarkably accurate photo summaries.
AI is not going to fizzle out like the blockchain. More and more software will embrace AI, in some cases going too far, sprinkling it throughout apps without any transparency into how it’s used. I could start to feel the temptation to go down that path too, which is why I took a step back to add the global AI setting this week, before we even have anything new that uses the setting.
No major feature should be so intertwined with AI that it can’t be clearly documented and controlled by the user. Humans are the ones who think, write blog posts, share photos, and join conversations. Some developers will push the limits, but not Micro.blog. AI will be a tool to help us, in narrow, practical ways, and I’m not interested in going much beyond that.
I sort of can’t get over how the data servers for TikTok’s Project Texas aren’t actually in Texas. I know it wasn’t intended to be a public name, but still… what else are they lying about? 🤪 More at The Verge.
AltStore PAL launches in the EU. Riley Testut blogs about the release, including what types of apps are the best fit for AltStore:
All apps are welcome, but I believe AltStore makes the most sense for smaller, indie apps that otherwise couldn’t exist due to App Store rules. There are countless examples of these that aren’t allowed in the App Store for one reason or another; we just don’t know about them because there’s never been a distribution option for these poor apps.
It’s €1.50/year to cover Apple’s Core Technology Fee. Still hoping the EU decides the CTF is illegal.
On reviews of the AI Pin, the bigger problem is clickbait titles. Reviews on The Verge, MKBHD, The New York Times, and elsewhere seemed quite fair if you read or watched through the whole thing. Don’t think this would be a controversy if the titles hadn’t been so provocative.
Finally updated from Ruby 2 to Ruby 3 today. It went mostly smoothly, but there were a couple bugs that slipped through my testing. Lots of little changes and removed deprecated methods.
There is a lot happening around generative AI. With the continued improvements from OpenAI, expected AI features from Apple coming up at WWDC, and new devices like the Rabbit R1, we’re all going to be swimming in AI this year. Some people feel (understandably!) like they’re drowning already.
I like writing blog posts by hand, but I think AI can be a powerful tool. Micro.blog Premium currently has two AI-related features:
As we add more features that are powered by AI, we need a comprehensive way to tie them together, especially for anyone concerned about privacy. To be clear, there are no plans to use AI except on public data that is already on the web, like podcasts or photos. We aren’t going to suddenly start sending your private Micro.blog notes to OpenAI for processing. (And because they are end-to-end encrypted, we couldn’t anyway.)
This is all a long introduction to announce a new, simple setting to globally control whether AI is used for anything in your account. You can find it on the web under the Account link:
For existing users, this is turned off by default unless you have previously used one of the AI features mentioned above. For example, if you have a podcast that generated transcripts, the setting is on so that the feature will continue to work. For new users who join Micro.blog starting today, it’s turned on by default. I think it’s simple and clear, but obviously we’ll be listening to feedback.
I recommend toggling the checkbox on for your account if you are at all interested in the potential for AI around things like helping with photo alt tags, search, or categorization. No new features to announce today, though.
Great video comparison of the Humane AI Pin and Rabbit R1. Obviously as the founder of Rabbit, Jesse is biased, but I think his video is fair. I’d love to know technically why the Pin is slower. Which LLMs are being used in these devices? Too slow and it loses a little of the magic.
Jason Snell writes about how the smartphone duopoly makes it hard to create truly new products if they need tight integration with existing platforms:
This is not a lament for Humane or its business model. It’s a lament for all of us. So many innovative products will never get funded or never launch a product because if they can’t connect deeply with the smartphone, they’re at an impossible disadvantage.
Generative AI is such a unique technology that it is useful even completely outside the Apple and Google ecosystems, but some features just aren’t possible without open platforms.
Pretty devastating but not surprising review of Humane’s AI Pin by David Pierce at The Verge. It wraps up with some hope that this can be the first step:
I hope Humane keeps going. I hope it builds in this basic functionality and figures out how to do more of it locally on the device without killing the battery. I hope it gets faster and more reliable. I hope Humane decides to make a watch, or smart glasses, or something more deliberately designed to be held in your hand.
Brian Chen at The New York Times was a little more positive, but still pointed out the many shortcomings:
I liked the chic aesthetic and concept of the pin. It was occasionally helpful, like when it suggested items to pack for my recent trip to Hawaii. But as I wore it for two weeks, it presented glaring flaws.
Ken Kocienda has a good blog post about working on the AI Pin, how no tech product is without trade-offs, and what things might be like in the future:
I think that LLMs are an advance on par with CPUs. Decades ago, the development of the first CPUs inspired people to make operating systems and programming models and, eventually, personal computers that allowed people to take advantage of the technology without being technologists themselves. We are at a similar moment now with LLMs, and the rate of change in Ai is far beyond what we saw decades ago with PCs. We built the Ai Pin with this historical perspective in mind.
There are interesting ideas here but it feels like NewtonOS 1.0 — just a little ahead of its time. If Human has the money to iterate, it could be something. My unsolicited advice: drastically simplify, scrap the laser projection, and focus on speed. A smaller, cheaper, AI “button” that was nothing more than ChatGPT available everywhere would be really fun to use.
I’m still excited about receiving my Rabbit R1, too. I was late in the pre-order queue, so likely won’t know what the device is like until much later this year. This is the time to experiment, and I don’t think companies like Humane or Rabbit should be judged too harshly on their first attempt. We’ll see where this goes.
Looking forward to what people come up with for today’s Micro.blog photo challenge word “train”… Love train-related photos. 🚂
I tried www.lyrak.com because I try all social apps, but it forced me to follow 5 people (couldn’t view their posts first) to finish sign-up. Don’t have much confidence that whoever okayed that UI will build something I’d want to use. Complaints are cheap, though. Will keep an eye on it.
Matt Mullenweg on the Beeper acquisition, adding to their previous acquisition of Texts:
Today the announcement went out that we’re combining the best technology from Beeper and Texts to create a great private, secure, and open source messaging client for people to have control of their communications. We’re going to use the Beeper brand, because it’s fun.
Seems like we’re in an interesting, perhaps pivotal moment for text messaging and DMs, and Automattic is set up to be an important player. Smart strategy.
Happy eclipse day! It’s going to be a little cloudy here but still looking forward to the experience. 🌑
The finale for Curb Your Enthusiasm was just right. Gonna miss that show but it was a good time to wrap it up. Last few seasons have been some of the best. 📺
Watching this video on Twitter X of Elon Musk talking about multiplanetary human life… Makes me sad all over again that he ever bought Twitter. Not just for all the tech and social reasons, but also because of the distraction away from the mission of SpaceX, and related brand erosion.
Finished reading: The Diamond Age by Neal Stephenson. Hadn’t read this in about twenty years and I wondered if it would be as good as I remembered. It was. 📚
Interesting article in The New York Times about training AI. The “cut corners” in the title is too loaded, and some of it seems a bit overblown:
Their situation is urgent. Tech companies could run through the high-quality data on the internet as soon as 2026, according to Epoch, a research institute.
Fair use is murky. Reproducing long documents word for word isn’t right. But a hypothetical C-3PO should be able to read a book or watch a video. I think we’ll need to clarify what is okay in training vs. what is okay when under human command.
I’m the guest on episode 7 of the Decentered podcast! This was a really fun discussion. We talk about the early days of Micro.blog, of course the fediverse, Mastodon, Bluesky, ActivityPub, the IndieWeb, how Micro.blog encourages blogging, and where things are going.
Nice new blogroll from Molly White. I love this part of the web… Sharing links to interesting blogs, discovering new writers, seeing how people shape their space on the web. That’s what it’s about.
I’m doing another editing pass of Indie Microblogging. Changing the page size and running a test printing soon to see how it feels in hardcover instead of paperback. I know it’s ridiculous that it has taken so long. New goal is to have it shipped by not-yet-announced Micro Camp 2024.
“Most important things in life are a hassle. If life’s hassles disappeared, you’d want them back.” — Hayao Miyazaki
I’m a day late for the Micro.blog photo challenge word “foliage”, but this was a nice view this morning. 🌳
Lots of improvements in this release. Full release notes:
Here’s a screenshot of the new logs window:
Perhaps the biggest change is finally some keyboard navigation for the timeline. Use the up and down arrow keys to select posts, the return key to view a conversation, and command-R to reply to a post.
No invite to WWDC for me this year. Still hoping to get out to San Jose for a couple days. We talk more about WWDC (and my new MacBook Pro) on Core Intuition 594, just posted.
Disney Imagineering is at the top of their game right now. Watching this YouTube video of new animatronics for the redesigned Splash Mountain → Tiana’s Bayou Adventure.
Good post from @mathowie@xoxo.zone about his ideal blogging platform. The part about integrating with other systems is essentially how Micro.blog works, but our text editor is where Micro.blog falls short for some people. Working on that.
Got a lot of good feedback yesterday about what should be prioritized for Micro.blog for macOS. I can’t get to everything, but this next release is shaping up to be very nice. One thing: much better keyboard navigation. I’ve been reserving command-R for years now and finally get to use it.
Working on an update to Micro.blog for macOS. Anyone have any Mac-specific gripes that need attention?
After five years with the Touch Bar, kind of strange to get used to a real function key row again. A good strange, of course.
Coming back from lunch, saw a totally orange Cybertruck and in a weird way it actually looked better than the default color. If you’re going to be different, might as well lean into it.
David Pierce at The Verge writing about Google Podcasts going away and Google’s pattern of abandoning their own apps:
It always goes the same way: the company launches a new service with grandiose language about how this fits its mission of organizing and making accessible the world’s information, quickly updates it with a couple of neat features, immediately seems to forget it exists…
If I’ve learned nothing else managing servers, it’s that you don’t deploy changes in the evening, no matter how tempting it is to get something live right away, no matter how minor or well-tested a change it is. Morning is best. All day to test more, to get feedback, and to notice unforeseen quirks.
Wicked is an all-time favorite. Haven’t seen it in years and forgot a few details that you miss on the soundtrack. Amazing.
Some folks on Micro.blog who also actively use Bluesky have noticed something new we’ve been rolling out over the last couple of days: Micro.blog will now look for replies on Bluesky to your blog posts, bringing them into the Micro.blog timeline. This transforms Micro.blog into a base platform to manage even more of your social interactions.
How does it work in practice? Here is the basic flow:
Micro.blog is effectively a universal timeline for not just Micro.blog but also ActivityPub, Bluesky, and other services. We want to make the web a little better by encouraging people to post to their own blog while still being connected to friends. That means embracing open platforms wherever they are.
Micro.blog’s timeline is not limited to just Micro.blog accounts. You can follow blogs with a domain name, Bluesky users, Threads users, and of course Mastodon users. Micro.blog has always been a sort of mashup of blogs and social networks, and as the post-Twitter world starts to take shape, you can expect Micro.blog to also become a more powerful feed reader.
It’s still early days for the next phase of the social web. I’m going to keep working on this, improving our support for Bluesky, including the eventual push toward making Micro.blog a personal data server with the AT Protocol. We’re not quite there yet but we’re getting closer.
The last few Spurs games have been so good. First time they’ve won three in a row all season. Figuring out how to finish games, and Wemby looking great. Last night with an OT win despite NY’s Brunson putting up 61 points. 🏀
Core Int 593: California’s Pretty Nice. WWDC 2024 dates are announced, thinking about our trip plans, and whether this is the peak of Apple’s growth and success.
OpenAI’s unreleased voice engine is too good:
…uses text input and a single 15-second audio sample to generate natural-sounding speech that closely resembles the original speaker.
I’m generally optimistic about AI’s potential in tools to help humans, but we are clearly going to need more laws around this.
Primary database server hitting 75% disk space usage, time to revisit the long-term plan for scaling that part of the platform. Would prefer to shard some of the data and I had built the tables to allow that.
ShareOpenly is a cool new post sharing option from Ben Werdmuller that works with Mastodon, Micro.blog, Bluesky, Threads, and other services. Good to have platform-agnostic sharing.
April is just around the corner and we’re doing another Micro.blog photo challenge! There will be daily prompts to help inspire posting a photo each day, and a collection so you can see everything together. Check out the details here.
Hot take on so-called white-collar crime, like the Sam Bankman-Fried sentence: 25 years is too long. I also thought Elizabeth Holmes was unfairly sentenced. Everyone wants a villain but real life isn’t that simple.
Colin Devroe has a new interview with me about all things Micro.blog. Interesting to compare what has changed and stayed the same since the last time I talked to Colin a few years ago.
Drove by this old gas station on Lamar a few weeks ago. Closed, junk everywhere, fence around the lot, clearly not long for this world. It had such a cool run-down look I wanted to snap a photo, but I was in my car and couldn’t. Drove by today and it has already been demolished.
Taking a little time this morning to improve the plumbing for Bluesky. Getting closer to a system that can seamlessly mix posts and replies from multiple networks. I think this will be a unique strength of Micro.blog compared to other platforms.
Finally catching up on the Decoder podcast interview with Jay Graber. Really inspired to get back to some Bluesky-related features. Feels like we’re only halfway there.
Backed How Comics Were Made. Only a couple days left on Kickstarter. I have a lot of books about art, comics, and animation especially, but I need more.
Great article from Ben Thompson today on the Apple antitrust case:
…the Epic case may have shown that Apple’s policies around the App Store were (mostly) legal, but that didn’t mean they were right; now the DOJ, looking for another point of vulnerability, is trying to make the case that Apple’s right approach in delivering an integrated experience is in fact illegal.
He ties things together really well, especially: while the case isn’t about the App Store, the frustrations with the App Store contributed to the environment in which legal action against Apple more broadly was necessary.
John Voorhees has a good section in his article about the Apple antitrust lawsuit and relevant market. I wish the case was more focused on the App Store, because from a dev perspective the market is really people who buy phones and apps. Apple dominates that.
Trying out Adobe Podcast Studio. Some good ideas in this. We’re still using Logic to edit @coreint, but better tools (with a sprinkling of AI) should be able to do at least 90% of what we currently do manually.
Perhaps more than any other time in my life, this November the election is going to be decided by people with a basic grasp of facts vs. people who go by gut feeling or misinformation. Not sure there’s any other way to frame it that matters. 🇺🇸
I don’t care much for stats, but I wonder if Threads will support NodeInfo, so that total user counts will show up on fedidb.org. It is useful to know what types of servers are popular just for compatibility testing.
Realized after tinkering with a bunch of AI models that I’ve been overpaying for a couple things. Updated our OpenAI calls today, should reduce costs down to about 1/3 of what we were paying before.
The latest episode of Core Intuition is out. Longer than usual today, a full hour to discuss United States vs. Apple, and the rumors around Apple’s plan for AI.
I’m using the web interface for WhatsApp for the first time this week. It’s a great reminder of how nice it would be if iMessage had a web interface, on icloud.com along with mail and other apps. Could even start by requiring a registered iPhone so it doesn’t become an Android free-for-all.
Just got completely derailed into huggingface.co, playing with AI models. I continue to be amazed by what is possible now.
One of the discussions at FediForum this week that was the most valuable for me was the session by Nic Clayton for FEP-9fd3. The goal is for servers to advertise what features of the Mastodon client API they can support, such as creating a poll or boosting a post. Clients could recognize if a server didn’t support a feature and hide it from the UI.
I’ve been holding off adding Mastodon client API support to Micro.blog until we have some kind of convention for this. As the fediverse grows, we’ll naturally see a wide range of servers and clients, and not all of them will exactly match the features that Mastodon supports. Micro.blog does not include public likes or boosts, for example. It would be confusing for a boost icon to just show an error message when clicked.
FEP-9fd3 attempts to solve this by listing “operations” for a server, with a versioning system. There is also the related FEP-6481 that lists “extensions” to the standard suite of ActivityStreams types. BookWyrm, for example, supports most of the standard types but also adds a book “Review” type.
I don’t think either of these is quite right for what is needed. Instead, at FediForum we discussed an idea to describe the activity and object types a server supports by name. I’m imagining the format to look something like this, in NodeInfo:
{
"types": {
"activities": [
"Create",
"Like",
"Announce",
"Question",
"Move"
],
"objects": [
"Note",
"Article",
"Image"
],
"properties": {
"Question": [ "oneOf" ],
"Move": [ "object", "target" ],
"Note": [ "summary", "content", "published", "inReplyTo" ],
"Article": [ "name", "content", "published" ]
}
}
}
Specifying properties would be optional. An empty array would indicate that a server supported all common properties for that object. If the “types” field was missing from NodeInfo, clients could assume a server supported everything, just as they do today for Mastodon servers. I’m not tied to this format, although I like that it’s fairly clean. There are many ways to describe this sort of thing.
Another issue is that we’re sort of mixing ActivityPub types with the Mastodon client API. The client API has its own name for things, like “statuses” instead of “notes”, and “polls” instead of “questions”. While the goal is to adapt API clients, defining this based on an existing standard makes some sense to me, and would naturally translate to the ActivityPub Client to Server API, which really should be used more often.
If there’s interest, I’d be happy to work with someone to formalize this in a FEP. It feels like an important missing piece.
Catching up on the drama with Redis changing its license. Not too worried about it. Older versions are fast and stable… when used correctly with enough memory, which is something we’ve run into. Don’t see anything here that would make me switch away.
Pretty fair write-up on Platformer about the Apple case, both the parts that are weak and the larger problem:
…while Apple will surely protest this case with every fiber of its being, in the end the company has only itself to blame for the backlash it’s now experiencing around the world. No one can question the excellence of the company’s product line. But the arrogance with which it dismisses efforts to regulate it, and the greed that is evident in the ever-rising cost of iPhone ownership, undercuts that fine work.
Investigating new issues with Threads posts making it through to Micro.blog. Doesn’t seem to be consistently working. Will fix and post an update to @news after some more testing.
Threads is enabling more of their fediverse support today. To be clear, you can follow Threads accounts from Mastodon or Micro.blog, but you can’t follow those external platforms from within Threads. According to Meta’s blog post, getting outside content into Threads is an “in the future” thing.
I’m reading through the lawsuit document intro and skimming the rest. I only have strong opinions about the App Store and developer aspects of the case. Some of the arguments in the case about messaging apps and watches seem more flimsy to me, but perhaps good things will come from the broader scope.
Here’s a small section about the App Store:
Rather than respond to competitive threats by offering lower smartphone prices to consumers or better monetization for developers, Apple would meet competitive threats by imposing a series of shapeshifting rules and restrictions in its App Store guidelines and developer agreements that would allow Apple to extract higher fees, thwart innovation, offer a less secure or degraded user experience, and throttle competitive alternatives.
This is basically true. I don’t think Apple is obligated to make iPhones less expensive, of course, but switching costs away from iOS are significant, for developers and users, helping maintain the status quo. Competition across iOS and Android platforms is important, but competition just within iOS is important too. My complaints have always been about Apple’s exclusive control over app distribution, regardless of Android.
An antitrust lawsuit is about size. The government isn’t suing game console makers even though they control game distribution (and charge too much to developers) because game consoles are not general-purpose computers, and they sell in a small fraction of the numbers that Apple sells smartphones. For many people, an iPhone is their best computer. The scale and impact to society is on a completely different level.
Even though there is a smartphone duopoly with iOS and Android, iOS alone reaches so many hundreds of millions of people that it is effectively a market on its own. If you want to build and distribute for the most commercially viable smartphone platform, you have no choice but to follow Apple’s rules. Until Apple lets developers route around that monopoly through external payments and sideloading, there will be pushback.
Apple leadership might still see the company as the upstart, but the rest of the world sees size and power. Apple should settle the lawsuit, accept App Store changes similar to those required by the Digital Markets Act, and move on. There is no winning this once the tide has turned against you.
Finished reading: The Book That Wouldn’t Burn by Mark Lawrence. Still not completely sure what this was. Feels unique. Had my doubts midway but now I need to read the next one. 📚
This new video for Humane’s pin is by far the most effective pitch they’ve made for their device. They hide the latency well by talking too. I’m sure they want it to be faster and whoever can crack AI performance is going to succeed.
Dave Winer responds to my post about Threads and account migration:
Right now Facebook is hoovering up people who are looking for something new in the Twitter space. So it helps to encourage people to believe that there will be a way out if they want to try something else. But everyone knows for real that that isn’t what’s going to happen. This is in the tech playbook. When you’re growing, you want everything to be open.
Unfortunately he’s right that Meta has a very poor track record with APIs. I’ve been burned by this and many other devs have too. We’ll see if Threads is different.
Following up on this post, personally I don’t like the trend of social networks having a generic “notifications” or “activity” tab where they throw everything, making me sift through the data. When I check Threads, I have to click a few times to get a clean list of mentions.
Jatan Mehta blogs about the noisiness of most social networks, and how Micro.blog takes a different approach:
Micro.blog is the only Fediverse-compatible platform I know of which truly does away with likes, boosts, follower counts, and hashtags. I wish all social networks removed these pointless stats by default.
Some people like the extra activity of boosts and notifications, and that’s fine too. I do think it can help with discoverability. But not every network needs to work the same way. If every network was a clone of Twitter, the social web would be much less interesting.
As Threads rolls out support for ActivityPub, Meta’s approach is to require each Threads user to manually enable fediverse integration. This was demoed yesterday at FediForum. It’s a perfectly reasonable way to start, and I think the UI that Threads has come up with looks good.
There are problems with opt-in, though, particularly around account migration. Adam Mosseri has spoken about Meta’s long-term goal to use ActivityPub to let users move away from Threads:
…this is an open protocol for social networks so that they can talk to each other, and so you can actually even move eventually your followers from one app to another…
Migrating followers will only work if the followers have enabled fediverse support. Why? The way ActivityPub account migration works, the server holding the user’s account essentially sends a “move” activity to each follower. The follower’s server then updates their reference to point to the new, external server. For Threads, this will presumably do nothing if the follower has not enabled the fediverse, because there will be no way to follow and interact with a user outside of Threads.
So if someone has 100 followers, and only 5% have enabled the fediverse, when that person migrates away from Threads to Mastodon or Micro.blog, for example, only 5 of their followers will automatically follow the new account. This will be quite a big decrease in followers and discourage Threads users from migrating.
It is still early, and I think Threads has been very thoughtful about their approach. Account migration is an area that I hope they will consider more fully. There are ramifications for mixing accounts — some with fediverse support and some without — and long-term it becomes very complicated unless Threads goes all-in on the fediverse.
After waffling for a while, I’ve decided to write a new web text editor for Micro.blog. The new editor will be lightweight and work consistently across platforms, especially mobile. Here’s a video of my progress so far… Still a long way to go, it looks better than it is. Learning a lot.
I was late joining FediForum this morning, so it’s great to see the video of the Threads demo is already online. This is really going to be interesting when it’s enabled for more Threads users.
I skimmed through Don Lemon’s interview with Elon Musk. The segment on the new Tesla Roadster was entertaining. Other parts, sort of painful and awkward. You can tell Elon gets increasingly frustrated. Probably an impulsive and strategic mistake to scrap the deal, though.
I’ve been thinking about this blog post I wrote 13 years ago more and more. A few years after I wrote it, I remember backpedaling a little, questioning my premise about free apps. But now with the EU’s DMA and CTF, it seems relevant again, and the closing line has proven correct many times over.
On the latest Core Intuition, we talk again about Apple and the EU, with the news of sideloading and steady progress to the rules. From the show notes:
They talk about whether Manton would open an EU subsidiary if given the chance, and whether simply plunging in and doing something is the best way to find out what it’s worth.
No joke, $700 for an M1 MacBook Air (via Daring Fireball) might be the best deal for any Mac in the history of the company. They’re going to sell a bunch of these at Walmart.
Finally got around to registering for FediForum. Looking forward to the discussions. I don’t have any specific goals this time, just hoping to soak up what folks are working on and where we can improve Micro.blog.
It’s a cheap shot to complain about developer tools — and Xcode overall is great! — but something is seriously wrong in Xcode debugging in recent years. Feels like I can reload an entire React Native app’s JavaScript faster than I can view simple variables when stepping through Swift or Objective-C.
To underscore how important sideloading or marketplaces are to me, I would be willing to set up a subsidiary in the EU, pay EU taxes, and have custom app code that runs just in the EU in order to get it. It’s not only about the 30%. It’s independence.
Ben Werdmuller on a first-class fediverse platform:
I’m not bullish on squeezing long-form content into a microblogging platform, whether on Mastodon or X. Long-form content isn’t best consumed as part of a fast-moving stream of short updates.
It’s a good post. In some ways, Micro.blog best fits Ben’s vision. But not exactly. A theoretical fediverse-powered Medium might be a better match.
More updates from Dave Winer: he has a blogroll on his home page again, and a new site blogroll.social. One interesting twist is that his blogroll sidebar is sorted by most recently updated blog. We’re going with manually ordered in Micro.blog, but I can see the value in automatic sorting too.
I can’t blame spam for my failure to reply timely to support emails, but it doesn’t help feeling overloaded with junk messages. Today I took a first step: a new workflow that automatically marks anything with “guest post” as spam. No real customers ever ask for that.
The TikTok bill has passed. I like Ben Thompson’s thoughts on this… We can support a sale (because there’s risk with China’s influence) while at the same time being concerned that forcing apps to be removed from stores is its own dangerous can of worms (and not something to make a habit of).
Dave Winer has a new page about blogrolls. Micro.blog’s new recommendations feature supports this link tag too. I love seeing how an older idea can be dusted off and given new life for the modern social web! Lots of potential for the future too, linking blogrolls together.
“…a book is different—it is not just a material possession but the pathway to an enlightened mind…” — The Diamond Age
Excited to see Apple continue to improve the EU rules. The latest big change is web distribution, so we’ll have something more like true sideloading. Seems like a reasonable approach:
To install apps from a developer’s website, users will first need to approve the developer to install apps in Settings on their iPhone. When installing an app, a system sheet will display information that developers have submitted to Apple for review, like the app name, developer name, app description, screenshots, and system age rating.
Getting great feedback about the new recommendations feature in Micro.blog. I’ve made a couple more improvements this morning. Blogrolls were a sort of early social graph, and they’re still useful today! There’s a joy in discovering new blogs that goes beyond the blandness of large platforms.
Today we’re introducing a new feature: blog recommendations. This was inspired by recent interest in bringing back blogrolls, including posts from Dave Winer, his service FeedLand, the recommendations feature in Ghost, and feedback from Micro.blog users asking for new ways to discover people to follow. It’s a way to curate a list of favorite sites to link to from your blog.
Here’s a screenshot showing my current blogroll. I’m still adding people, but generally expect most blogrolls to be more limited than someone’s complete social following list.
To get started, click on Design → Edit Recommendations. By default, there is a single blogroll named “Recommendations”, but you can create additional blogrolls, for example to organize blogs in topics like “Favorite Authors” or “Technology”.
Your blogroll will be available in a few places within Micro.blog:
blogroll shortcode. You can use this to include your recommendations on a web page. It’s provided by a plug-in that will be automatically installed if needed..Site.Data.blogrolls.recommendations, with a name and url.Like other features in Micro.blog, recommendations are built in an extensible way to give you control from Hugo themes, and with open file formats to connect with other platforms. Micro.blog manages updating OPML and JSON files. It also sends a webmention ping to the linked site when you add a recommendation, compatible with Ghost’s support for webmention.
I’ll be working on help pages with more examples for how this can be used. Happy blogging!
I’m usually pretty good about catching and fixing auto-correct mistakes, but the one I always miss is when typing Hugo’s shortcode and it turns into shortcake. 🍰
Finished reading: Sea of Tranquility by Emily St. John Mandel. Wonderful. I had been stalled in my reading and this book was just what I needed. 📚
I should take a break from blogging about politics, but I really like this Joe Biden ad. Acknowledges the “he’s too old” but turns it around to what has been accomplished, and what still needs to be done. Great work from the campaign. There’s hope. 🇺🇸
Happy anniversary to my blog, started on this day 22 years ago, during SXSW. Actually a little tempted to get back to SXSW one of these years. Tech has changed so much, platforms come and go, but blogs remain.
We just published the latest Core Intuition all about Apple, Spotify, Epic, and the EU, including a last-minute update with Apple’s reversal.
TikTok asking its users to call their representatives seems to have backfired. From the committee chair Cathy McMorris:
We also witnessed firsthand, in real time, how the Chinese Communist Party can weaponize platforms like TikTok to manipulate the American people.
There’s bipartisan support for forcing new ownership of the app and I think I’m cool with it.
Rollercoaster week for the App Store. Spotify ruling, Epic banned, EU getting involved, Epic now un-banned. Whew! We recorded a @coreint in the middle of it and we’re gonna try to add an update before it’s published.
Good idea here from Ben Werdmuller for a Fediverse VIP service:
Fediverse VIP is a managed service that allows any brand to create individual fediverse profiles for its employees and shared ones for its publications, on its own domain, using its own brand styles, with abuse prevention and individual safety features, and with full analytics reporting.
Micro.blog Teams could fill part of this need, with multiple users each with their own subdomain or posts on a group blog. With our pricing changes, we’ve sort of buried Teams, but probably should do more to promote it.
Excited to see reactions to last night’s Biden speech. A couple minor stumbles, but he nailed the core parts of it. I also sincerely hope that everyone frustrated by Biden’s support of Israel listened with an open mind. You can feel a shift, especially with the new push for aid to Gaza by sea. 🇺🇸
Apple’s DMA compliance report is set in Arial, in case you are still wondering how things are going. www.apple.com/legal/dma…
Also, the “Non-Confidential” in the document title… I’m imagining the Apple internal, confidential version is basically the same but for mature audiences only because of language.
Tips for not getting overwhelmed and distracted in this era of infinite content… Turn off all notifications, except for a small number of close friends and family. Mute all Slack channels. Hide all mobile app badges. Disable search and web suggestions on iOS. Use RSS and mark-all-as-read liberally.
I usually try to avoid quoting just the end of an essay (spoilers!) but the closing lines in today’s Stratechery update are great:
…once upon a time — back when “There’s an app for that” was about developers’ contribution to the iPhone — Apple valued developers; today, when “There’s an app for that” is about Apple’s supposed sacrifice in building developer tools and SDKs, Apple resents them. A legal argument about IP monetization has become a righteous tenet, and Apple is defending said tenet with the fervor and blinders of the true believer.
Apple has lost their way with the App Store.
Almost a little surprised Apple has banned Epic yet again, because it just further supports a potential EU argument that Apple is not in compliance with the DMA. From Epic’s blog post:
If Apple maintains its power to kick a third party marketplace off iOS at its sole discretion, no reasonable developer would be willing to utilize a third party app store, because they could be permanently separated from their audience at any time.
A key part of the DMA is to loosen a gatekeeper’s control over distribution, but even with iOS 17.4, Apple still has all the power.
Dusting off Android builds for Epilogue this morning, after a new iOS build was submitted to Apple. New versions of Android Studio, React Native, Gradle conflicts, and much more command-line chaos. Might almost have it under control.
Even putting aside the long list of gripes about how Elon Musk ran Twitter into the ground, I’m worried about his influence on the 2024 election. Meeting with Trump to potentially fund his campaign. Twitter overwhelmed with misinformation. It feels precarious.
If you’re a fan of Brandon Sanderson, make sure to watch today’s crowdfunding video to the end. I’m excited. Also going to pick up Dragonsteel Prime, but skipping the leatherbound books. 📚
MacStories has a summary of EU rules tweaks today with the arrival of iOS 17.4. For marketplaces, the €1 million line of credit is no longer required if you have 1 million annual installs in the EU. Doesn’t appear to be any meaningful concessions from Apple, and no changes to the CTF that I can see.
Just a few hours left in the Kickstarter for Tapestry. Looks like the Iconfactory can hit the next stretch goal with a last push. The project has a lot of potential. We need more experiments like this for the social web.
Another good monthly summary from The Fediverse Report. There was a lot going on last month with Bluesky.
I like Spotify’s move into audiobooks, but playback is still too focused on songs and albums. If you listen too far in a book (or a family member listens and you want to go back and listen yourself) it is nearly impossible to rewind because progress is tracked per chapter. Can’t find a work-around.
The demolition of the Frank Erwin Center. It has been a part of Austin my entire life — under construction when I was born and opened a couple years later. Some great memories there.
A $2B EU fine days before the DMA goes into effect is a clear warning shot.
Agreed. Apple’s response also bugs me. It ignores Spotify’s contribution to making iOS a valuable platform, and it gripes about inconsequential things like Apple reviewing betas or hosting billions of downloads of the Spotify app. If Apple doesn’t want to host the app, let Spotify host it themselves through sideloading. Problem solved. 🤪
Rearranged part of the living room to create a workspace, with new prints from Cameron Moll on the wall.
Craig Hockenberry blogs about some of the questions that are being asked about Tapestry. Whether the app should create new posts or not is interesting. Most feed readers don’t have posting either, and it’s a slippery slope from basic posts to replies to eventually needing your own social network.
Having a difficult time finishing books this year. Keep starting new ones but not ready to officially let the other ones go. So just going back and forth between multiple books. Need a couple short books to get out of this cycle. 📚
On the latest episode of @coreint, we talk about Apple’s now-cancelled car project, speculate on what Tim Cook meant by “break new ground” on generative AI, and reflect on Apple’s highly-curated public image.
Early voted today in the Texas primary. Sad to admit I don’t have high expectations for Democrats here this year. Almost impossible to focus on anything except Biden vs. Trump. 🇺🇸
Great news for PWAs: Apple is not disabling them in the EU after all. It seemed like an unnecessary reaction to the DMA, so I’m very glad to see this. Wonder if there was pushback from web folks inside Apple too.
Victor Wembanyama doing things no one has ever done in the NBA before. Great highlights here: www.threads.net/@nba/post… 🏀
I can’t get over how nonsensical Trump sounds sometimes. From yesterday’s trip to the border:
…millions of people from places unknown, from countries unknown, who don’t speak languages. We have languages coming into our country, we have nobody that even speaks those languages. They are truly foreign languages, nobody speaks them.
What?! 🇺🇸
This goes well with my post yesterday.
Great post on WP Tavern by Ronny Shani about the state of WordPress’s Data Migration initiative. It also mentions Blog Archive format. I’d love to see WordPress just adopt .bar or something similar enough to be compatible with it.
Happy leap day! Seth Godin blogs about making the leap to blogging every day:
It wasn’t an external leap. The first hundred blog posts were read by fewer than a dozen people.
It was an internal one. The decision to be a blogger. And then redeciding, each day, not to stop.
The country has been very patient waiting on the Trump trials, and this latest delay with the Supreme Court makes it feel like we’ve been scammed. It has been three years! Guess there’s the NY case but it won’t carry the same weight. 🇺🇸
Uploading a new beta of Micro.blog for iOS with some more fixes. This should be ready to ship later this week. We’ve also dusted off our app Sunlit, so there will be a new version of that soon too.
No, I don’t want to rate the app, or the Skype call, or the mechanic, or the quality of a support email, or a song, or my doctor’s appointment, or whether the web page answered my question… I don’t really want to rate anything ever again! If I actually have feedback, I know how to send it.
Still votes to count in the Michigan primary, but seems like the protest vote against Biden will settle out around 15%. Which sounds significant except that the protest vote against Trump is 30%. 🇺🇸
The Verge’s early look at Humane’s AI Pin sounds about right:
It’s a darn cool gadget. It’s just buried under a layer of marketing so thick that it’s hard to appreciate what it actually could be if Humane wasn’t so self-serious.
As I’ve said before, there’s a good idea here somewhere but it needs time to bake. I think Humane should regroup with a simpler, streamlined device.
I never want to see layoffs, but it’s the right move for Apple to officially cancel the car project. It always seemed like a bad fit. I’d love to see a book or web site with all the designs and tech they came up with along the way, though! Must’ve been interesting.
I’ve seen a couple links to this post on 404 Media that Automattic may sell user data to AI companies. We’ll see how it shakes out, but just in case anyone is worried about Micro.blog: our terms of service make it clear that users own their data, not us. We put this in to avoid any conflicts.
When we simplified our pricing, some folks asked if it was such a good deal for customers that we would be losing money as a company. I calculated what the initial revenue hit would be before making the decision. We decided it was worth it to make Micro.blog Premium more appealing. It would pay off in the long run.
I’ll share a couple more details for folks who are curious. Monthly recurring revenue was down about 2% as soon as the change rolled out. As I blogged about, some people who might be paying $15/month would see their cost go down to $10/month. This was in line with expectations.
The old pricing was optimized for people who might want to pay for lots of blogs, but the reality is that almost no one wants to do that. Micro.blog is for normal people, not enterprise customers. The new pricing better fits the customers we want to have. People who have a main personal blog and might want to experiment with an extra blog or two later. People like us!
Now that it has been a couple weeks, I’m even more confident that this change has been great. We’ve already seen more people upgrade to Micro.blog Premium, making up for most of the initial revenue loss. The interface for upgrading and downgrading is much easier than before. Less friction means we can nudge more people to give Micro.blog Premium a try for a month.
There are still a couple lingering glitches with trials and upgrades that I’m working through this week. Overall, couldn’t be happier with the change, and I think Micro.blog customers are happier too.
Netflix is turning off the existing paid subscriptions for people who signed up years ago using iOS in-app purchase. I’d love to know how much money this represents. On the sort of eve of the DMA, just highlights that there’s no chance Netflix ever adopts in-app purchase again.
February has been busy. Pausing to reflect on everything that has happened in one month: new notes feature, new app Strata, new extensions for Firefox and Chrome, new pricing structure with multiple blogs, app updates to Micro.blog for macOS and Epilogue for iOS, keyword muting. Thanks everyone! 🎉
Congrats @cheesemaker on shipping a new iOS app Calamity! It pulls in potential disasters near you — earthquakes, wildfires, flooding, near-miss asteroids, and other bad news.
Just in time for an election year in the US, from @news today:
Sometimes I get carried away using Redis. Made another change a couple days ago that shaved over 12 GB off our memory usage. Probably more we can do.
Good summary blog post on some of the IndieWeb-related improvements @paulrobertlloyd has made recently. The updated design of the IndieWeb wiki pages is a nice improvement. Paul and others will be gathering in Brighton for IndieWebCamp… I’ll try to join remotely too if the time zones work out.
On a bit of a roll with iOS app updates this week. Some minor improvements to both Strata and Epilogue in the queue for Apple to review. Love how the new icons look in my iPhone dock.
Just posted the latest episode of Core Intuition. We talked a lot about the Micro.blog notes rollout, and the new iOS app Strata, plus the pricing of Black Ink’s subscription.
Posted a new beta of Epilogue on TestFlight. Having mixed feelings about the Open Library integration, so I’ve removed the tab that was in previous betas. Might bring it back later.
Bluesky has a couple new blog posts and info around the production deploy of federation. From their main blog post:
The ability to host your own data, just as you might run your own website, provides the fundamental guarantee that social media will never again be controlled by only one company. Even if Bluesky were to disappear, if the data is hosted across different sites, the network can be rebuilt. The fact that it requires no permission to set up a new website is what has made the open web such a dynamic and creative force.
If you’re mostly familiar with Mastodon’s view of the social web, keep in mind that Bluesky’s AT Protocol is very different than ActivityPub. Both specs solve different problems. If you thought ActivityPub was complicated, just wait until you go down the rabbit hole of AT and Merkle search trees! It is wonderful and terrible. 🤪
For Micro.blog, today we support cross-posting to Bluesky, so we’ve already dipped our toes into the XRPC API. I blogged last year about what I learned with sending posts to Bluesky.
The long-term plan for Micro.blog is to fully support AT’s PDS — Personal Data Servers. Any blog hosted on Micro.blog would plug into Bluesky seamlessly, with data portable to other AT Protocol hosting providers. However, we are going to go slowly with this. I would say it is several months away.
I didn’t think Apple needed to make a sports app, but now that they have, it’ll be my default. I agree with John Gruber’s post that being fast matters:
…the truth is ad tech, combined with poor programming, has made most sports apps slow to load. Most apps, period, really. Just being very fast to load ought not be a hugely differentiating factor in 2024, but it is.
Over the years I’ve used Yahoo Sports, ESPN, the NBA app, even just the Spurs app, and others. They’re fine, but Apple Sports is simpler and faster.
Really happy with the feedback on our pricing change. I think it’s resonating well with folks because there’s essentially no downside! It’s either the same price, or cheaper, or you get more features. It’s also simpler for us because everyone gets it, no need to manage “legacy” subscriptions.
Tired of running out of disk space, finally decided to move Xcode and the DerivedData folder to a little external SSD. Might’ve bought myself another year with this older MacBook Pro.
Micro.blog has always had per-blog pricing. Hosting one blog was $5, two blogs was $10, three blogs was $15, and so on. On top of that, Micro.blog Premium added additional features either to a specific blog (like podcast hosting, video, and email newsletters) or across the platform (like our new notes feature).
The reason this pricing appealed to me is that by charging for each blog, we could keep the standard plan as low as possible for most people who only have one blog. If you needed multiple blogs, upgrading added on to the subscription in a way that seemed fair to us and customers.
Over the years we’ve had problems with this pricing, though. It was confusing to keep track of. There have even been billing mistakes because the code for subscriptions was too complicated. Instead of obvious tiers on your account, each blog was effectively its own tier, with tricky scenarios when trials and yearly pricing are mixed in.
Today that’s changing. We are getting rid of the per-blog pricing. Instead, there will be three simple plans, and Micro.blog Premium will now include multiple blogs.
Additionally, there will continue to be no charge for hosting extra single-page web sites and test blogs. The new “up to 5 blogs” count is for normal, full blogs.
Most people only have one blog. If you do already have multiple blogs, this pricing change may mean you’ll be paying less. By the time you read this, your subscription should have been updated to reflect the change.
For example, if you had two blogs, one standard blog and one using Micro.blog Premium, previously that would have been $5 + $10 = $15. Now, having two blogs is covered in Micro.blog Premium, so your cost goes down to $10. Or if you had two $5 blogs already, you’ve been upgraded to Micro.blog Premium automatically because it’s the same price you were paying before.
Micro.blog has been updated throughout to reflect this pricing change, including a redesigned Plans page to upgrade or downgrade your account. Creating new blogs is simpler too.
I’m biased, but I think Micro.blog hosting is one of the best values on the web. Nothing else comes close to the depth of features. Hope you like Micro.blog as much as we like building it.
I wouldn’t mind an AI assistant that could call my doctor’s office, wait on hold forever, and make a 6-month follow-up appointment. Seems like we should be close to that. 🤖
Had to take Groq.com out for a spin (not xAI’s Grok). Continue to be pretty happy with OpenAI, though, especially to outsource our AI features — transcribing podcasts and summarizing bookmarked web pages. It’s such a narrow use case that the costs are easily manageable.
Just another day digging through the Mastodon source code to understand what in the world it’s doing to verify remote accounts. Fixed a couple issues on my side. Can’t wait for the test suites that folks are working on.
Not sure when our luck with Apple is going to run out, but we’ve now had a few quick app approvals without any issues. So nice to just get little improvements out. Strata 1.0.2 is available now.
Posted another short video on YouTube about notes, this time with Micro.blog for macOS. The app has a slightly different UI and auto-saves notes, encrypted back to the server.
Mastodon, Threads, Bluesky… If you’re feeling overwhelmed by our post-Twitter social web, this post from Ben Werdmuller should hit home. My advice: don’t read everything. Post to your blog first, then dip into other apps whenever you have time. Never reload the never-ending algorithmic feeds.
Last night’s downtown revealed yet more holes in server redundancy that should’ve been solved earlier. Another thing to add to my week’s to-do list.
Interesting thread from Mastodon’s Renaud Chaput, noticed via The Fediverse Report, about how Mastodon is approaching quote posts:
It is a complex task and we have been working on defining the feature and the protocol-level details for some time. We are moving forward, and there are fewer hard questions to answers, but progress is there.
I can see a place for more control like this. But also, I like simple Markdown and HTML block quotes, because it scales from microblog posts to excerpts of long posts, for the whole web.
Eugen Rochko on recent Mastodon spam. I haven’t noticed any problems yet but I expect some spam DMs will hit Micro.blog from this as well:
There is an ongoing spam attack on the fediverse for the last couple of days. It’s more widespread than before, as attackers are targeting smaller servers to create accounts. Before, usually only mastodon.social was targeted and our team could take care of it.
It’s easy to be blinded by past decisions. I took a fresh look at our pricing this weekend and ran some numbers. Going to try to simplify things even further. (No price increase. $5 is the ideal price for all things, from a latte to blog hosting.)
Fun 3-point contest tonight, especially the Steph vs. Sabrina addition. Hope they keep some version of that going in future years. Watching the dunks now but the scoring is usually so subjective it distracts from how amazing everything is. 🏀
I hadn’t read Tantek Çelik’s post on the ephemeral web yet when I blogged about Mastodon yesterday, otherwise I would’ve linked to it. Really good:
All reply-contexts of and replies to such posts and conversations lost, like threads unraveled from an ancient tapestry, scattered to the winds.
Quiet morning working on Mac software. Fixed a handful of bugs in Micro.blog and released a new version. Will continue to roll out server improvements for the new notes feature as I have them ready.
Letitia James, after New York’s $350 million fine on Trump:
The scale and the scope of Donald Trump’s fraud is staggering. And so too is his ego, and his belief that the rules do not apply to him. Today we are holding Donald Trump accountable. We are holding him accountable for lying, cheating, and a lack of contrition, and for flouting the rules that all of us must play by.
🇺🇸
Fani Willis testifying in Fulton County, Georgia yesterday:
You’re confused. You think I’m on trial. These people are on trial for trying to steal an election in 2020.
Before this, I was receptive to the idea that maybe she should step aside to avoid this trial going off the rails. But it’s unfair for her personal life to be made public on such weak evidence. She’s done the work to bring these charges against Trump and should finish the job.
We’re two weeks in to the Vision Pro launch! On today’s Core Intuition, I start by asking Daniel if he’s returning it. We talk about whether Apple should be worried about the rollout, Mark Zuckerberg’s comparison to the Quest 3, and more thoughts on how (and whether) the Vision Pro is needed.
To balance my criticism of Apple today, it appears Apple is letting Epic Games have a dev account in Europe, and presumably a marketplace later. From Tim Sweeney on Twitter X:
I’ll be the first to acknowledge a good faith move by Apple amidst our cataclysmic antitrust battle, in granting Epic Games Sweden AB a developer account for operating Epic Games Store and Fortnite in Europe under the Digital Markets Act.
Seems like great news all around. This is one to keep an eye on. 🍿
I get frustrated when a company is actively making the web worse instead of better. Spare me the justifications. If I demonstrated any hostility toward my platform’s users, developers, or the open web more broadly, I hope people would call me on it too.
I don’t want my whole life to be writing blog posts and podcasting about Apple’s changes for the EU’s Digital Markets Act, but this latest developer update from Apple feels like an insult to developers, playing us for fools.
Let’s start with how Apple keeps mentioning all the new APIs that are part of this rollout:
To comply with the Digital Markets Act, Apple has done an enormous amount of engineering work to add new functionality and capabilities for developers and users in the European Union — including more than 600 new APIs and a wide range of developer tools.
They said the same thing in the initial news announcement:
The changes include more than 600 new APIs, expanded app analytics, functionality for alternative browser engines, and options for processing app payments and distributing iOS apps.
Apple repeatedly talks about these “600 new APIs” as if it is a favor to developers, but it was Apple’s choice to handle it this way. For example, to comply with the DMA’s requirements on sideloading or marketplaces, Apple could’ve chosen a system similar to installing apps from TestFlight. This would require zero new APIs for developers, just as TestFlight itself has no new APIs when building a beta version of your app.
Apple created the new APIs — a significant number in MarketplaceKit alone — so that they would have control over distribution. By both reviewing marketplaces and requiring that marketplaces use new APIs to install apps, Apple can track app install numbers, allowing them to invoice developers the new €0.50 Core Technology Fee. The new APIs help Apple, not developers.
Moving on to the web browser update, there is going to be universal concern from web developers about Apple disabling PWAs in the EU. On letting web apps use browser engines other than WebKit, Apple writes:
Without this type of isolation and enforcement, malicious web apps could read data from other web apps and recapture their permissions to gain access to a user’s camera, microphone or location without a user’s consent. Browsers also could install web apps on the system without a user’s awareness and consent.
Was this statement from Apple written by a hallucinating AI? All mainstream web browsers have a strict security model for JavaScript. Cookies and local storage cannot be accessed across web apps. It’s even difficult or impossible to make certain web requests from JavaScript because of cross-site scripting and CORS limitations. The only way this could be circumvented is with a rogue web browser engine that did away with these standard constraints, but Apple already has this scenario covered because they approve every browser engine:
To help keep users safe online, Apple will only authorize developers to implement alternative browser engines after meeting specific criteria and committing to a number of ongoing privacy and security requirements, including timely security updates to address emerging threats and vulnerabilities.
Users want to run Firefox and Chrome, popular browsers that are trusted by users. The DMA was created to allow this kind of choice. No one is asking Apple to blindly let browser engine malware take over home screens.
Some have argued that the DMA is poorly written, or at least too vague and open to interpretation. It actually gives gatekeepers like Apple significant leeway when it comes to security. Quoting from section 6.4:
The gatekeeper shall not be prevented from taking, to the extent that they are strictly necessary and proportionate, measures to ensure that third-party software applications or software application stores do not endanger the integrity of the hardware or operating system provided by the gatekeeper, provided that such measures are duly justified by the gatekeeper.
Apple has clearly jumped on this to give themselves an out, ignoring the spirit of the law. When it benefits Apple, they take the DMA requirements much further than intended. When it doesn’t benefit them, they lean back on the “integrity” of iOS and barely comply at all.
Wrapping up, Apple writes:
EU users will be able to continue accessing websites directly from their Home Screen through a bookmark with minimal impact to their functionality. We expect this change to affect a small number of users. Still, we regret any impact this change — that was made as part of the work to comply with the DMA — may have on developers of Home Screen web apps and our users.
It is hard to take this seriously after Apple’s bad-faith effort to comply with the DMA. I’m sure WebKit engineers regret this change, but Apple leadership doesn’t. By limiting PWAs just as PWAs are starting to be competitive with native apps, Apple ensures that native apps have no real competition on iOS, strengthening Apple’s hold on app distribution.
Some of my best blog posts are buried behind really boring, unhelpful post titles. If a post resonates with folks and is shared, it can only be because someone actually read it. The opposite of clickbait.
I’ve been thinking about Mastodon and the fallout from Bridgy’s plan to connect ActivityPub servers to Bluesky. For a snapshot of how this blew up, see this GitHub issue discussion, now thankfully closed after it devolved into personal attacks.
It often feels that (some) Mastodon folks care more about Mastodon as a platform than they care about the open web as a platform. I’m not sure if that’s a completely fair framing, but thinking about it this way has helped clarify my view of debates around public posts.
When I post to my blog, my posts are on the web, and so hopefully make the web a little better. I’m contributing to sort of a larger purpose, something I can refer to later myself, and maybe something others will find value in too. It’s a subtly different mindset than posting to a specific platform where I mostly expect my followers to see it.
My blog is connected via ActivityPub to Mastodon, and via cross-posting to Bluesky, Nostr, Threads, and elsewhere. But I could disconnect those platforms and it wouldn’t change much about how I post and what I write about.
That’s not to say there aren’t great reasons to prefer a smaller, more controlled audience. We have Mastodon post visibility to limit who can see posts. We have robots.txt to discourage search engines. We have settings to make posts ephemeral. As Bridgy developer Ryan Barrett said himself in an article on TechCrunch, this level of control is one thing that has made Mastodon a good online home for many people:
A lot of the people there, especially people who have been there for a while, came from more traditional centralized social networks and got mistreated and abused there, so they came looking for and tried to put together a space that was safer, smaller and more controlled. They expect consent for anything they do with their data.
I respect this view. It’s not how I approach my own blog, but I would never argue that someone shouldn’t be able to protect themselves. There should be a variety of approaches in between sharing everything online and sharing nothing.
And we do have additional solutions already. Mastodon server administrators can block other servers that are causing problems. Users can mute or block other users. These solutions apply equally to Mastodon servers and to a potential Bluesky bridge.
If there are no technical differences between blocking a rogue Mastodon server and a Bluesky bridge, what are people truly concerned about? It often appears to get back to identifying with Mastodon and its principles, and inherently distrusting other companies, fearing a return to the worst of massive, centralized platforms.
If this sounds familiar, it’s not unlike the reaction many had when Threads was rumored to support ActivityPub. I blogged about this last year, hoping more people would see it as a positive step forward:
Meta adopting ActivityPub has the potential to fast-forward the progress of the social web by years. Ever since I grew disillusioned with Twitter a decade ago and started pushing for indie microblogs, then writing a book about social networks and founding Micro.blog, I could only dream of a moment where a massive tech company embraced such a fundamental open API.
Smaller social networks are an important part of finding our way out of the social network mess of larger, especially ad-based platforms. Mastodon deserves enormous credit for making federation and smaller servers actually work. I can’t overstate how significant it was for Mastodon to be a mature platform that could welcome users leaving Twitter X.
Federation is just one part of the progress we can make, though. We also need to embrace the open web again, encouraging more people to have their own blog and identity online. Bridgy has been working toward these goals for years, helping people connect their blog to other social networks.
My concern with some Mastodon users (again, not everyone!) pushing back against interoperability with non-Mastodon platforms is that it moves Mastodon away from the open web, which is surely at odds with the original purpose of Mastodon and many of its features, from an open client API to federation itself. We can already see some signs of Mastodon putting up slight roadblocks to open web access. For example, permalink posts on Mastodon require JavaScript — you can’t view HTML source and get the post details, making it a little more difficult to build tools that understand Mastodon pages. At the API level, some servers also require signed ActivityPub requests, making it a little more difficult to look up user profiles.
The developer community for Mastodon is free to make any of these decisions they want. To play this out to its most extreme version, they could even disable RSS feeds, treating Mastodon servers more like protected, mini silos.
But moving away from openness will not only limit the potential of the fediverse, it risks holding back the larger social web. If there’s a knee-jerk reaction to interoperability with other platforms, Mastodon may find that its head start as the largest federated platform becomes eroded, eclipsed by Bluesky and other platforms. I would ask the folks on Mastodon who are so strongly against bridging to Bluesky if that’s the future they really want.
Great post from @writingslowly on how categories and filters work in Micro.blog.
If you’ve been following the Bridgy and Mastodon drama, consider that many Mastodon users don’t want a bridge that allows Bluesky to federate with Mastodon, but they do want Bluesky to support ActivityPub so Bluesky can… also federate with Mastodon. 😜
Jason Snell writing at Macworld:
What I’m saying is that if Apple would take the chance on four or five wild ideas, it might learn enough to create one or two hits. Given the sluggish growth in its Wearables, Home, and Accessories product category lately, it feels like it might be worth getting a little weird and risking failure to chart some new directions in home tech.
Apple is so successful now that most of what they do is judged against the iPhone, but smaller weird products could lead somewhere great too. Amazon did this and it led to the Kindle and Echo.
Excellent interview with Jay Graber on Techmeme Ride Home, on YouTube here. Clear framing of Bluesky’s goals and how the platform fits into the web. Sometimes I still can’t believe we’re all working toward a more open, social web again. 🎉
I made a short video showing some of the new notes feature in Micro.blog.
Having one of those moments while fixing a bug where I can’t believe this worked at all, for anyone except me.
I added a help page with an overview of how encryption works for notes in Micro.blog, and some basics about the API that Micro.blog and our new app Strata use.
Thanks to @vincent for all his work on our new mobile app Strata. It’s no small thing to get a new app off the ground, especially one that has to integrate with a larger platform API, sign-in, and encryption right out of the gate for 1.0.
Today we’re launching a major new feature for Micro.blog Premium subscribers. Micro.blog notes are a new way to save content in Micro.blog when you don’t want to use a blog post or draft. Notes are private by default, end-to-end encrypted across all platforms, with a special companion app named Strata for iOS. (Android coming soon.)
Notes are great for:
From the launch of the platform, Micro.blog has been about public blog posts. We want to make the web a little better with thousands of new blogs, where the user owns their identity and content. Some people want private posts too, but we’ve delayed adding that because it doesn’t fit perfectly into the public web. With the wrong implementation, it would turn Micro.blog into more of a closed silo, with some features only available when you’re signed in.
Notes will be Micro.blog’s initial solution to private posts, a foundation we can build on. By default, notes really are private. They are encrypted and we can’t see them. But any note can be shared with others. When sharing a note, it’s decrypted and published to a corner of your blog, accessible only by direct URL.
This level of encryption adds a new wrinkle to how Micro.blog usually stores data. We’ve tried to keep it simple, but honestly it can be confusing, and we expect a few bumps along the road. We will continue to make it as seamless as possible. There are options to download a copy of the “secret key” used in Micro.blog, as well as saving a copy to iCloud. I recommend both.
In the future, notes will make their way into more Micro.blog features. For example, you can imagine attaching notes to bookmarks, web page highlights, or a book you’re reading. We are very excited about the potential for this in Micro.blog.
Here’s a screenshot from the web. Enjoy!
I’m expecting a little bit of pushback when launching something totally new, because it’s true that existing features are not without flaws. But I’ve dedicated a lot of time over the last month to fixing bugs. Hopefully even if it’s not always noticeable, it does make a difference.
Good interview at Platformer with Eugen Rochko. Some of his thoughts on AT Protocol:
My hope still is that — fingers crossed — when Meta starts federating with Mastodon that the critical mass will be large enough that Bluesky developers will just say, okay, fine. Maybe that W3C approved standard protocol is the way to go instead of making our own custom stuff. Even if it doesn’t happen out the gate, maybe it will still start making sense for them someday.
Because Threads is opt-in for the fediverse and Bluesky keeps growing, ActivityPub might not end up dwarfing AT Proto the way we expected.
In software, sometimes to get attention it helps to release a 2.0. People tune out and don’t know that 1.1 and 1.2 were great. That’s sort of how I feel about Jon Stewart returning to The Daily Show. (Wha…?!) I never got into watching his TV+ show, or even recent Trevor Noah. Tonight’s a new chance.
Increasingly feel that I’m paying an Objective-C tax in Xcode. Typing and debugging is so much slower than it was a few years ago, even as the rest of the app has improved nicely.
Started a little slow but that turned into a great game. Can’t believe I doubted Patrick Mahomes at any point in the game. Fun to see the cuts to Taylor Swift and her excitement too. 🏈
Congrats to @brentsimmons and the NetNewsWire contributors on the 21-year anniversary of the app! This sounds impossible and yet I did first mention NetNewsWire in a blog post back in 2003. Still as relevant for today’s web as ever.
I dunno folks, I’m starting to think Trump isn’t on our side:
…while president, he told the leaders of NATO countries that he would “encourage” Russia “to do whatever the hell they want” to countries that had not paid the money they owed to the military alliance.
Everything Hillary Clinton said about Trump has been proven right. 🇺🇸
Haven’t posted a new home screen in a while. Our new app in the dock, almost ready. Otherwise my go-to apps remain about the same.
Still love developing Mac apps. It’s such a nice feeling to know I can continue to work on little improvements and bug fixes right up until the moment of release, because I don’t use the App Store.
Meandered from browsing old political posts on my blog, to wishing I could link to all posts that contain a certain keyword, to updating my search plug-in to handle this. I know not everyone is a developer, but maybe an under-appreciated feature in Micro.blog is the plug-in system. Just HTML and JS.
Finally got the hang of CloudKit JS. It’s not as flexible as I’d like, or as seamless as iCloud is in native apps. Sometimes feels that half the problem with web apps is just being signed out constantly.
Enjoyed this review of the Vision Pro from Joe Cieplinski. I’m not convinced about using it for real work, hours every day, but I do agree with how mature and polished visionOS is for a 1.0:
This is the best 1.0 Apple has ever shipped. It’s probably the best 1.0 anyone has ever shipped. […] All the things people have been complaining about iPadOS not being ready for proper productivity? visionOS already has all that settled.
New Core Int! A full hour show with our thoughts after using the Apple Vision Pro.
Spent time profiling server code today. I don’t do that often enough. It’s sometimes surprising what is dragging things down and can be optimized.
Didn’t realize until reading this blog post from the Fediverse Report that much of the new migration to Bluesky is from Japan. Seems significant as Twitter X was always popular in Japan.
Poked through the special counsel report on Biden’s documents. It’s upsetting that personal opinions that have little to do with the investigation were carelessly strewn through the report. Biden is qualified and capable to do the job. I’ve said before, I like him more now than I did years ago. 🇺🇸
Last week Casey Neistat posted a fun video about the Vision Pro. I love those fun videos he makes. But his latest video is really what it’s about: Sisyphus and the Impossible Dream. It’s up there with Make It Count from 2012. “If it was easy, everyone would do it.”
Manuel Moreale: The great list of all the blog platforms. I’m not just linking to this because Micro.blog is on it… It is a good, simple list of platforms that are actually nice for blogging, with prices for comparison.
When you pay for something, whether $5 or $3500, it’s natural to justify the purchase. You really want it to be worth it. This is mostly how I see the “the killer app is a huge Mac screen” justification for the Vision Pro. This device does have value, but maybe more for escaping work than anything.
Tested the Vision Pro for the first time today, in the Apple Store. The passthrough quality and immersive video are pretty unbelievable. Apple must’ve done something right because afterwards I was questioning my whole life (or at least my tech opinions). Still no plans to buy one, yet.
I’ve always liked how Bluesky uses a domain name for your handle. Starting today, Micro.blog has built-in support for verifying these! If you’ve signed into Bluesky with Micro.blog, it will automatically return your AT Protocol “DID” from the .well-known URL for your blog. No DNS fiddling.
In more detail, it looks something like this:
myblog.com hosted on Micro.blog.@myuser.bsky.social but you want it to be just @myblog.com.@myblog.com. You’ll want to choose the “No DNS Panel” option.That’s it! Bluesky will check with Micro.blog to verify that it’s your blog. After everything is set up, you may need to go back to your cross-posting settings and update to use your new Bluesky handle too, if you want Micro.blog to send blog posts over there automatically.
Bluesky has added another million users this week, bringing the total to over 4 million. By comparison, the ActivityPub-based fediverse has about 10 million users according to FediDB. The situation will change when Threads is added, but if Bluesky keeps growing it’s worth asking how they’ve done it.
To underscore the feeling over the last couple weeks that there has been a rise in COVID cases again, today the doctor’s office called to reschedule because almost everyone in their office has it. 😷
My first thought on hearing about the Epic and Disney partnership is that this is how Fortnite eventually gets back into the App Store. Apple is going to need games and content for the Vision Pro.
I created another short video for Micro.blog, this time going through some of the bookmark-related features in Micro.blog Premium. Bookmarking a web page, highlights, and AI summaries.
Scrolling through news.micro.blog, there have been 42 blog posts so far this year. Each one is announcing a new feature or set of bug fixes. Many features are sort of hidden below the surface, so if you’re using Micro.blog and ever think “huh, nothing has changed recently”… check out the blog.
Adam Newbold blogged last month about resisting the urge to respond to some posts online:
The urge to engage can be overwhelming. It’s normal to want to respond—to correct a mistruth, to set the record straight, to defend a point, or to just add words of strength and courage in the proximity of hate and negativity. But it’s really best that you don’t.
It’s difficult sometimes to know when it’s appropriate to reply and when it’ll just make things worse. One way to think about it: is my comment going to be welcomed and considered by the recipient, even if they disagree? If not, skip it.
Apple has approved our new app and I’m sort of almost shocked, but happy. You never know! It’s a big relief to know that we can continue to plan for a new thing. Plenty of other things to work on before it’s enabled in the App Store, though.
Working on a new (small) web site and using @Mtt’s Tiny theme. The new microhooks are so useful, it’s making me think more about how we can integrate this convention into more themes and even the Micro.blog editing interface.
Wordle 962 4/6. Sharing this one because it’s a sort of perfect pattern that doesn’t happen often. Still playing nearly every day.
⬛⬛⬛⬛⬛
⬛⬛🟩⬛⬛
⬛🟩🟩🟩⬛
🟩🟩🟩🟩🟩
Congrats to the Bluesky team on opening to everyone today! Expecting a lot to happen this year with AT Protocol.
Just tuned into the last part of Biden’s speech today on the border security and foreign aid bill. He looked good and made a strong case. Really dumbfounding if Republicans don’t back this. 🇺🇸
Great overview (and video) from Craig Hockenberry on how Tapestry works with JavaScript and JSON under the hood. Essentially there is a plug-in system so that it can be extended to work with lots of platforms.
Ben Thompson’s review of the Apple Vision Pro is excellent. There’s a lot there. I don’t think I had fully thought about how Apple’s expanding product line is (in a way) limiting each platform. The iPhone replaced the iPod, but no product since attempts to do that. Gotta buy all the things.
Submitted a new 1.0 app to Apple! Requires a Micro.blog account, so who knows whether it will go through app review smoothly. A recurring conflict with the App Store: Apple wants an app that anyone can download and I just want to build something useful for my existing customers.
Getting good feedback (positive and negative) about how we’re using AI in Micro.blog. We transcribe podcasts automatically and we summarize bookmarked web pages. It is fairly isolated, but even so I get that some folks don’t trust AI even for this. I don’t want to push the limits either.
Rolling out bookmark improvements in Micro.blog Premium today. Two things:
The AI summaries are still experimental. I’ve found them useful to get a quick glance of something I want to read later. In the future, I hope we can use them to improve search too.
Here’s a screenshot of a bookmarked web page with the summary shown:
It’s going to be a busy week. We have another new feature set to launch this month, with a new app that I’m submitting to Apple today. Thanks for your support!
I’ve said before that it’s difficult to write in 300 characters about the war in Gaza. I’ve been drafting a full blog post about it, but I don’t think I will ever post it. I love blogging about many topics, including politics, but this is so divisive that I can’t see any good that will come from it.
Got some random requests to sign into my Google account, so locked it down a little better this morning. No more SMS verification, 2-factor via authenticator app, new password. I’m not super paranoid but I think I need to do that for more services.
Enjoying the Grammys so far. Trevor Noah is such a great host. New Curb Your Enthusiasm tonight, too! 📺
The leap from my old Nokia phone to the first iPhone was enormous. We sort of want all tech breakthroughs to feel that way. But it’s okay if most new devices are more iterative. They don’t need to change the world completely to still have a place in it.
My guess is we’ll see a ruling on the Trump immunity question this week. We’re all impatient, for good reason, but getting this right might save time in the long run. The judges will have a rock-solid answer and the supreme court won’t need to hear it again if there’s another appeal. 🇺🇸
Made a short 2-minute video about Micro.blog cross-posting to other services, especially manually copying a post to Threads. I’ve been using this feature quite a bit. Also useful if you just want a little more control.
Spent some time this weekend experimenting with browser extensions. I had avoided this too long, thinking a bookmarklet should be good enough for anyone. But it is nicer to install with a search and a click. In-progress source code over at GitHub.
Until reading through Jason Snell’s FAQ, didn’t really occur to me that Apple has spent so much time trying to get away from managing multiple windows, from Simple Finder to the iPad, and now it’s like the other extreme. Windows on the side, on the ceiling, on the wall in the other room, everywhere!
Slow weekend. Sitting on the couch, hanging out with the dog. I could imagine using a Vision Pro right now. But if I’m reevaluating my tech, maybe a better upgrade would just be a larger phone.
Amazing video from Casey Neistat going around New York City wearing the Vision Pro. My opinion keeps alternating between “I need this now” and “no one should ever have this”… It’s a wild product and I wonder if even Apple knows where it’s going.
I try to welcome feedback, but it’s tiring to be lectured on how I’m wrong about Apple when I criticize their business. I’ve been developing Mac apps continuously for the last 30+ years, got an iPhone on day one, and I think about this constantly… But no, everyone else must know more than I do! 🤪
Experimenting with other ways to use the OpenAI API, and one thing that has struck me is the price difference between GPT 3.5 and GPT 4. It is dramatic. If it wasn’t for the token limit of 3.5, I’d just use that for everything. It’s still good.
Just posted a new @coreint with a follow-up about the CTF, Black Ink for iOS, and (of course!) the Apple Vision Pro.
If Mark Zuckerberg says it’s very difficult to use the new App Store EU rules — and Meta just announced their quarterly results of $40 billion in revenue — then there is no chance the rest of us can make it work. Sideloading and marketplaces are like a mirage.
Steve Troughton-Smith asks an interesting question on Mastodon:
“Why would anybody use my app in VR?” isn’t the right question to ask yourself. It’s “do I want my users to have to take off their headset to use my app?”
His post is clearly intended to have the obvious answer “no”, but I’m not sure there is a universal answer. I decided to opt-out of visionOS for my iPad apps, for now. I’m not sold on the device yet, and I have a bunch of other things to work on anyway.
It got me thinking about Apple’s own apps. For example, Books. Would you want to read a novel inside VR? You aren’t going to want to have Slack and other apps floating in space to distract you. An iPad seems like a better device for reading. Maybe if the book is surrounded by a virtual environment from the book within visionOS, adding a sense of being there? Apple seems to think so, because it does include the iPad version of Books with the Vision Pro.
Through the history of technology there are many “just because we could do it” moments. TikTok has swiping through an infinite feed of limitless content and users are probably worse off for it. I think the Vision Pro is going to be the same way, as developers feel out what makes sense on the device, and consider what is right for users. If some apps require taking off the headset, that might even be a good thing.
Had a dream last night that I was hired at GitHub. My team was about 4-5 people, much younger than me, with hardly any actual experience… except they were all better programmers than I was. On the first day I deployed a change that broke a bizarre GitHub spreadsheets feature.
There has been a long list of proprietary Apple connectors over the years, but this wide Lightning cable in the Vision Pro is one of the funniest.
I paused posting to Threads last year because I thought the platform would be joining the fediverse soon-ish. They’re making good progress with the early enabled accounts, but it’s going to be a while until folks on Threads can follow my Micro.blog profile, so I’m going to resume posting there.
Early reviews for the Vision Pro dropped this week. This device is technically amazing, with well-considered solutions to the problems of VR. My takeaway from the reviews is that I want to try it, but I’m okay waiting before I need to own a bit of this future that Apple is promising us. I’d like to see something closer to true AR, not mixed reality, in a more lightweight, affordable form factor.
When the pre-orders ship later this week, early adopters will unpack the headset, post to social media about how amazing it is, and then largely go back to using their MacBook Pro for real work. We are already too isolated from our fellow humans, and there are too many environments — coffee shops, libraries, and other public spaces — that are not suitable for the Vision Pro.
Apple has an incredible track record since Steve Jobs returned to the company, and continuing with Tim Cook. Very few misses, and some of the controversies like Antennagate were overblown. As long as I have been using Macs, going back to the early 1990s, Apple’s dedication to great design and putting the user first has served them well. There is a lot to be proud of, including initiatives alongside products, such as their commitment to the environment.
But increasingly, it feels like this success has inflated Apple’s view of themselves, twisting their perspective of what matters. They’ve become arrogant, as if entitled to future success too. As I posted in the context of their response to the EU’s Digital Markets Act:
Because of their decades of truly great products, Apple thinks they are more clever than anyone else. Because of their focus on privacy, Apple thinks they are righteous. Because of their financial success, Apple thinks they are more powerful than governments. The DMA will test whether they’re right.
Maybe we’re at a crossroads for the company. Apple was great as the underdog, when they were humbled, fighting to out-innovate the competition. What came after the Lisa? The Macintosh. After almost going bankrupt? Think Different and the iMac. After the butterfly keyboard? Some of the best MacBooks ever made.
Apple is now so powerful, with so much control over computing… They need a failure. They need to see a new product stumble in the market. They need to remember what it feels like to realize something isn’t working, to take a fresh look at their priorities, and to reflect on how they treat users and developers. They need to be more focused in what they do, leaving a little room for the rest of us to build something too.
I don’t wish a flop on the Vision Pro product team. They’ve put an extraordinary amount of good work into it. But we all have a mix of successes and failures in life and business. It keeps us grounded. It helps us set priorities. We learn from it and move on to the next thing.
And if the initial Vision Pro doesn’t find a mainstream audience, that doesn’t mean there isn’t a revolutionary interaction model there. Maybe spacial computing is part of the future. Maybe if Apple sticks with it, we’ll look back on how they pushed the idea forward even when the first generation product didn’t pan out.
Trillion-dollar companies need to make trade-offs too. Because Apple has been working on the Vision Pro as the next big thing, what have they missed that needed their attention?
We should hold Apple to a high standard because they’ve earned it. I just don’t believe in the soul of the company the way I used to. As Brent Simmons reminds us, corporations are not people. Apple does so much — Macs, iPhones, iPads, watches, headphones, ads, video services, movie production, cloud storage, news, fitness, the App Store, platform fees, goggles — that I’m not sure there is still a cohesive story around what they stand for, other than money.
I’ve got the senate committee hearing about child exploitation on in the background while I work this morning. Interesting to hear Mark Zuckerberg pivot a couple of the questions into needing to be solved in the app stores, not the social platforms.
Castro has found a new home with Bluck Apps, who already has a podcast app on Android. They blog about what’s next:
In the coming weeks and months, we’ll be making some changes under the hood to make the backend more stable and make sure new episodes sync more quickly. Once things are stabilized and the transition is complete, we’ll be turning our attention toward new features, such as syncing across devices.
Because some folks asked about it, I did reach out to Tiny but it didn’t go anywhere, and honestly I’m a little relieved. We have a full plate already with Micro.blog.
Great to see more of the Texas grid powered by renewable energy. From KUT, broke a record a couple days ago with 36% of power coming just from solar, hitting 15,222 megawatts.
Very excited about Project Tapestry from the Iconfactory, now available to back on Kickstarter. We need more apps for the social web like this that work across multiple platforms. It will support Micro.blog too!
Accidentally poured chocolate milk in my cereal. Guess it’s going to be one of those kind of mornings.
Today we’ve added a brand new option for manual cross-posting from Micro.blog to other services, including Threads. This new option is great for services that don’t yet have an open API, so Micro.blog can’t automatically post to them, or for when you want to edit and preview your posts before sending them elsewhere.
This feature is for blogs hosted on Micro.blog, so it’s available in the Posts page where you manage your blog posts:
This brings support for Threads for the first time. When choosing Threads, Micro.blog will reformat your blog post as plain text, truncate it if necessary, and copy the text over to Threads where you can finish sending the post. You will need to be signed into Threads in your web browser, or in the Threads app on mobile.
Twitter X is also now back in a more limited form with this new cross-posting option. We still can’t automatically post to Twitter X because of their API changes. There’s also the usual suspects like Mastodon, Tumblr, and Bluesky.
This feature doesn’t work exactly like Micro.blog’s existing, automatic cross-posting, so be sure to check out the help page for the details. In future updates, I expect that the two different ways of cross-posting will look more similar.
Last month we teased that a major new feature is coming to Micro.blog soon. Whenever we add something new, folks ask if the new thing is the major feature… Nope, this cross-posting improvement isn’t it either! You’ll know when we ship it next month because it comes with its own section of Micro.blog, a new companion app for iOS and Android, and an update to the macOS app. Stay tuned.
Because of their decades of truly great products, Apple thinks they are more clever than anyone else. Because of their focus on privacy, Apple thinks they are righteous. Because of their financial success, Apple thinks they are more powerful than governments. The DMA will test whether they’re right.
Reviewing news coverage of the Core Technology Fee, usually glossed over is that the CTF applies to every install of a marketplace. From Apple:
Developers of alternative app marketplaces will pay the Core Technology Fee for every first annual install of their app marketplace, including installs that occur before one million.
Because marketplaces will usually be free, this makes it nearly impossible for them to work without charging developers just as much as Apple does, or having enough cash that it can lose money. Everything in Apple’s rules is designed to prevent anyone from using this.
MacStories has also published their write-up on the App Store changes for the Digital Markets Act. The more I think through the system Apple is attempting, the more it becomes clear the Core Technology Fee is not compliant with the DMA. Marketplaces simply cannot work with the CTF in place.
With all the App Store EU changes, briefly considered that maybe my iPhone 14 Pro will be my last iPhone. It is a great phone, but I’m not currently inspired to drop $1k in Apple’s lap every couple years. Think I’ll keep it a while.
For folks who have been actively using Threads, are we at the point where we need URL shorteners again? We’ve largely not had to think about this with most social networks after Twitter started with t.co URLs, but it seems that Threads does care about the URL length.
Ben Werdmuller blogs about how the IndieWeb is for everyone, inspired by a post from Tantek Çelik. Tantek:
The IndieWeb is for everyone, everyone who wants independence from organizations, independence of agency to associate, and who embraces the web of humans that want to interconnect, to communicate, to value and respect each other, whether one degree apart or thirty.
Both great posts.
John Gruber’s post about Apple’s EU plans is long, but the part in the middle with the details of the fees is one of the most concise summaries of how Apple wants this to work. The question we have to answer next is whether the Core Technology Fee is compliant with the DMA. I’m not sure.
Crazy that it’s more or less equal odds on Trump either dying broke or being elected president from jail. When does our current alternate timeline merge back to the main branch? This chaos can’t go on forever. 🇺🇸
$83 million awarded to E. Jean Carroll. I guess the jury was trying to deter Trump from continuing to defame her or anyone, but probably no amount will stop him. He just can’t help being a total jerk.
My code is rarely clever, but sometimes it makes me smile. There’s a feature in Micro.blog that takes the folder of Hugo-generated files and selectively removes files that shouldn’t be published. For example, to redirect “/”, it removes the index.html file. I call these models “vetos”.
In a blog post from 2020, I suggested four changes to fix the App Store for developers: 1) allow sideloading; 2) don’t require in-app purchase; 3) keep curating the App Store; and 4) lower the cut to 15%. I described each of these in more detail in that post, so I won’t repeat the reasoning here.
With this week’s App Store changes for the EU’s Digital Markets Act, let’s revisit how Apple is doing with those four points:
This is all pretty disappointing. I have been bitter about the App Store for years, but yesterday I tried to keep an open mind. I was initially excited about the potential for marketplaces. I blogged that it seemed like a good-faith effort to comply with the DMA. Apple had put a bunch of work into this, in documentation and new APIs. The more I understood it, though, the less compelling it became. In some cases it will be worse than what we had before.
My opinion from way back in 2011 hasn’t changed. The problem is Apple’s total control over app distribution, and so the only permanent fix for the App Store is removing that control with true sideloading:
Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.
I wrote that thirteen years ago and it has proven correct every single year since. The DMA attempted to address this, but Apple’s response comes up short. Instead of fixing the root problem, Apple has added an even more complex set of bandaids to preserve their control over the store.
(As an aside, see that quote from Steve Jobs about free apps in my blog post? The Core Technology Fee is a major departure from Steve’s framing. Apple now wants to charge free apps for the first time based on installs alone.)
So, is Apple actually in compliance with the DMA? Rick VanMeter, from the Coalition for App Fairness, says no. There’s also a thorough post by Damien Geradin on The Platform Law Blog that reaches the same conclusion:
As to whether the reduced commissions comply with FRAND. The answer is an unequivocal no. These commissions are not fair and reasonable for the reasons described in the preceding paragraph. But they are also discriminatory. The reason is that app developers whose apps sell digital goods and services and those whose apps don’t, effectively use the same app store services, but are treated differently.
I don’t know where we go from here. It always feels like two steps forward, then back. The EU must stand firm. I’m tired of ending up in the same place, over and over.
Follow-ups from @coreint yesterday about the DMA… We glossed over the Core Tech Fee. I have a better understanding of how the fees add up now, and where they apply. App Store + external payments: 10% (for small devs). Only way to avoid paying Apple: a marketplace and less than 1 million installs.
Coalition for App Fairness on today’s App Store news:
Apple clearly has no intention to comply with the DMA. Apple is introducing new fees on direct downloads and payments they do nothing to process, which violates the law.
Apple’s new “Core Technology Fee” is really problematic. I ignored it at first because I’m not expecting millions of installs. Needed a spreadsheet just to wrap my head around the theoretical ramifications.
No surprise, Apple’s new DMA terms get worse the closer you look. It’s not true sideloading, but even accepting third-party marketplace apps for what they are, Apple shouldn’t track downloads (and charge a fee) for apps that are installed outside the App Store. I hope the EU pushes back.
I’ve been re-reading parts of the DMA and Apple’s new rules, and honestly I can’t tell if they are in compliance. It does seem like a good-faith effort, even if the sideloading capabilities fall short of what I want. There’s a lot we won’t know until the first developers try to be marketplaces.
Core Intuition episode 584 is up now with our reaction to the just-announced App Store changes for the EU. Recorded shortly after all the news dropped today, so there’s a lot to unpack and follow up on.
I was starting to get excited about the new marketplace functionality coming to the App Store, until I got to the part about needing to show Apple a €1 million line of credit. Out of reach for most of us.
Still sorting out Apple’s changes for the EU, coming in March. On first reading, it’s totally different (and better) than the external linking rules from just last week. Feel like I’m on a roller coaster.
Casey Liss blogs about the multiple-monitor potential of Vision Pro:
Yesterday was an odd day, in which I spent time working at two different local libraries. While I was there, I realized that I am a week and change too early. If I had my Apple Vision Pro with me, I could have the workspace of my dreams, all with only my MacBook Pro and Apple Vision Pro.
To each his own. A key to my productivity anywhere is that I only use my MacBook Pro, no monitors — at home, at a coffee shop, on a train. (Casey’s right, we need more trains here.) There are many places where a Vision Pro is not suitable.
I’ve always been against the death penalty, but this experiment with nitrogen in Alabama is particularly twisted. Also, this is just wrong:
Mr. Smith’s case is unique in part because the jury that convicted him of murder also voted 11 to 1 to sentence him to life in prison, rather than death, but the judge overruled their decision.
Just got derailed reading the EU’s Digital Markets Act again. I’m sure the Apple lawyers see some wiggle room in there, but to follow the spirit of the law it should at least look something like Android sideloading. Tired of the games for what is inevitable in the long run.
Most political campaign emails are too long, with manufactured urgency, and formatted poorly. But I just got a Joe Biden email that only says: “Together, we will defeat Trump. Again.” That’s the whole email. We’re all busy and I can get behind mass emails that are succinct. 🇺🇸
The more I hear from Jesse Lyu, the more impressed I am. I finally pre-ordered a Rabbit R1. Kicking myself a little for being so indecisive on day one. Hope they can get manufacturing rolling smoothly.
Happy 40th anniversary to the Mac! My first introduction to the Mac was as a kid, visiting my uncle who had a Mac SE… I would just pore through the manual and knew there was something special about the UI. Got the Mac Classic a handful of years later and have been building apps ever since.
The Wall Street Journal has an article today about Apple’s plans for sideloading in the EU:
Apple’s approach to the EU law will help ensure the company maintains close oversight of apps downloaded outside the App Store, a process known as sideloading. The company will give itself the ability to review each app downloaded outside of its App Store. Apple also plans to collect fees from developers that offer downloads outside of the App Store, said people familiar with the company’s plans.
No good. Reviewing apps distributed outside the store defeats the purpose of sideloading.
The reaction to Barbie is overshadowing what a success the 8 nominations are. And of the women nominated for best actress, who would you remove from the list to nominate Margot Robbie instead? These lists are so tough. For best director, though, there’s a strong case… I blogged as much last year.
Listening to Rabbit founder Jesse Lyu on This Week in Startups and learning a lot. They aren’t selling the R1 at a loss. Also more details about how the LAM works.
David Smith blogs about Stephen Hackett joining his indie company:
I am extraordinarily proud of being an “indie”, it is a meaningful part of my professional identity. As such I held on too long to a sense of needing to do it all myself. But I’ve grown in this regard and I am extremely excited about what Stephen and I will be able to accomplish together.
As Jonathan Rentzsch said at the C4 conference in 2007, indie really means “non-large”. Small team, usually bootstrapped. You know it when you see it.
There are a lot of new blogging systems popping up. This is a good thing. Micro.blog will be competitive with almost anything, but also there’s the bigger picture… If the open web is getting better, we’re better too. A rising tide lifts all boats.
Daniel Jalkut has shipped Black Ink for iOS! I’m sure we’ll be talking about this on the next Core Intuition. This release has been years in the making, most of which I imagine was just Daniel trying to figure out when to call it done. With software, there’s always more to do.
From the blog post for Day One shared journals, they do a great job of explaining why the feature exists and what to use it for. No obvious way to share a journal entry to anyone on the web though, right? I thought after being acquired by Automattic they might do more there.
This is a really nice feature from Feedbin: Fixable Feeds. I noticed this in the UI just by accident a few days ago and updated a few feeds that were out of date.
Micro.blog can be thought of as a mashup of a Twitter-like social timeline and a WordPress-like blog posts admin interface. Some parts of the interface are designed for interacting with the community, some parts are designed for managing your blog, and some parts are kind of in limbo between both sides of the platform.
One example of this is on the Posts screen, where there hasn’t been a link from one of your blog posts to any of its replies. Today I added that:
I have mixed feelings about this interface. We try to avoid “counts of things” across the platform. There are no follower counts and no like counts. We want to discourage the popularity contest mentality that can come from comparing statistics across users.
In this case, these are just links to replies on your own view of your posts. If a post has no replies, there is no indicator. I decided to roll this out so we can live with it for a little while and see if we like it. I consider if somewhat experimental and based on feedback, we may change it to be less prominent, or deemphasize the count. It could also fade away if there are no new replies recently.
Still thinking about this, but wanted to share it now. We update the platform on a near-daily basis, usually small fixes and tweaks. Check out news.micro.blog for a log of recent changes.
As long as she has support and money, Nikki Haley should stay in the race. I don’t think she’s in it for VP. It’s more to be the alternative if everything implodes. Such a difficult path, though, because too many delegates will be awarded before Trump’s trial starts in DC, if it even starts on time.
Another blog post from Paul Frazee on the thinking behind Bluesky’s technical plumbing:
We ended up calling the AT Protocol a “federated” network because we couldn’t think of a more appropriate term, but it’s not really a kind of federation that anyone is familiar with. The peer-to-peer influence is too significant to neatly slot into that archetype. It also confuses with ActivityPub’s model of federation which is now popularly understood.
I’m following AT Protocol closely (and using it in Micro.blog!) and I still haven’t fully wrapped my head around all of this. More to learn.
Interesting take by Dave Winer (in audio, here’s the download link) about the sort of post-Twitter technical mess we might be in, specifically around ActivityPub and the complications of federation. I do worry about new standards being so difficult compared to the old social web.
Jason Snell writing at Macworld:
Now that today’s iMacs and iPads are essentially the same in terms of their internal hardware, maybe it’s time for Apple to do the unthinkable and allow the iPad Pro (and only the iPad Pro) to run macOS in a virtual machine.
I love this, no matter how unlikely.
Accidentally stumbled on my old post from 2011 titled “30% of the future”:
The new Apple has fallen into the trap of thinking they should also be an advertising company and an overpriced payment processor. It’s a slippery slope from here to becoming just another mega-corp that has their hands in everything that can make money instead of standing for something.
Thirteen years later… Mission accomplished.
I wonder if there’s an update on how Apple is helping employees in Texas deal with the abortion ban. Not finding much newer than this 2021 article in The New York Times:
Asked what Apple was doing to protect its employees from Texas’ abortion restrictions, Mr. Cook said that the company was looking into whether it could aid the legal fight against the new law and that its medical insurance would help pay for Apple workers in Texas if they needed to travel to other states for an abortion.
As an Austinite, I don’t love seeing all of Texas painted with the same brush, but I understand it.
This is a nice write-up by @leonp of the iPhone app Beluga, which essentially publishes a static microblog site to S3. Includes a tip for integrating with Micro.blog too.
Speaking of Alec Baldwin, I loved his Trump impressions on SNL, but James Austin Johnson as Trump is uncanny. It’s funny but also real, not overplayed. Last night’s opening (video clip on YouTube here) is one of his best… Just perfect.
I’ve read too many articles about the accident with Alec Baldwin’s gun firing on the Rust set, like this new one in The New York Times, and I still don’t get it. Prosecutors really don’t have anything else to do? It’s a tragedy, but I’m not losing sleep that Alec is out there running free.
John Gruber asks the relevant question for Apple’s new linking rules:
Here’s a simple thought I had today regarding whether Apple’s new External Purchase Links entitlement policy is a good faith compliance with Judge Gonzales’ order: Will any developers actually choose to use it?
It is hard to imagine even a single developer using this entitlement, even among the many developers like me who want to link outside the store. It doesn’t save money and just creates a whole new headache of tracking users and extra bookkeeping.
David Pierce at The Verge on the Vision Pro and Safari-based web apps:
Embracing the web will mean threatening the very things that have made Apple so powerful and so rich in the mobile era, but at least at first, the open web is Apple’s best chance to make its headset a winner. Because at least so far, it seems developers are not exactly jumping to build new apps for Apple’s new platform.
It’ll be great if we see Safari improvements because of this. Maybe Apple can relax the 7-day cookies and local storage.
About halfway through the 4th season of For All Mankind. Enjoying it. Sort of forgot some of the characters from previous seasons… Would love to rewatch the whole series when it wraps up.
On the latest Core Intuition, Daniel and I talk about Apple’s new external linking rules and their attempt to audit developers for 27% of revenue. From the show notes:
They talk about what Apple’s balance of priorities with money-making vs. world-changing should be, and whether they are on the right track. Finally, they ask whether Apple is destined to gradually lose its soul over time…
Micro.blog has always stubbornly stuck to static-site generation (first Jekyll, then Hugo) and probably always will, even as there is a lot more complexity layered on top. There’s just something future-proof about having a folder of HTML files. We need to better expose this foundation, not hide it.
While troubleshooting today, I took a minute to notice how many posts are on my blog. About 6400, of which 4700 are short microblog posts, 1700 long-form posts. But the surprise was over 12,000 replies, which I don’t really think about. All of this needs to funnel through Micro.blog and Hugo.
Life is short, make the most of it. This is on the old El Milagro building. Shame about the misspelling.
Good post by Paul Frazee on why Bluesky uses rich-text facets. I’m not quite convinced — I think a subset of HTML is a more universal solution that scales from microblogging to feeds to the full web — but lots of respect for the thought Bluesky has put into this. Can’t wait to do more with AT Proto.
I’m not ordering a Vision Pro, but I went through the buying process out of curiosity. Apple put a lot of work into this. The integration with the face scanning and web checkout is very nicely done.
I said I’d stop writing about Apple for a minute, but this is a really good post over at Daring Fireball:
Essential to the Mac’s continuing relevance is that it is continuously evolving. Much has changed since 2010, and much will surely change between now and the Mac’s 50th anniversary in 2034. But one thing that can’t change without destroying it is its openness to software outside Apple’s control.
I agree that Apple isn’t likely to force a 27% fee on all purchases from Mac apps outside the store. Just the idea that they could — with the same legal justification as iOS — is concerning.
Recorded a new @coreint that’ll be published in a day or two. I think I got all my “App Store 27% tax” gripes out on the show, so now I can resume non-Apple microblogging. 🙂
Fantastic blog post from Andy Baio about the fall of Ello. I would poke in on it every once in a while but didn’t realize it was completely offline now. Andy writes:
I was worried that, by taking outside funding, Ello’s values were no longer fully-aligned with the community: they were aligned with their investors. In time, given more money and more pressure, they would be inclined to do something the community, or even the original founders, didn’t want to do.
There are rarely any shortcuts. Steady growth and proven business models are the best path to sustainability.
Iowa sues TikTok over the app’s 12+ age rating. From attorney general Brenna Bird:
It’s time we shine a light on TikTok for exposing young children to graphic materials such as sexual content, self-harm, illegal drug use, and worse. TikTok has sneaked past parental blocks by misrepresenting the severity of its content.
This sounds like a legitimate complaint. Does TikTok even have a special algorithm or curation rules for kids?
Apple can be frustrating with the App Store because they will have policies that are plainly wrong, morally if not legally, and still try to convince you that you’re the crazy one. Increasingly this is what I hear from Apple: “I’ll only be a dictator on day one.” Hubris + total control is dangerous.
Read And Find Out shirt from Dragonsteel. Brandon Sanderson picked up this phrase from Robert Jordan, answering reader questions that might be covered in future books. 📚
Not sure if anyone noticed but there was a bit of a rollercoaster going on behind the scenes with Micro.blog’s queueing and ActivityPub the last couple of days. Lots of little tweaks later, much happier with everything. Faster and more reliable.
Brent Simmons blogging after the new Apple linking policy:
But I need to remember, now and again, that Apple is a corporation, and corporations aren’t people, and they can’t love you back. You wouldn’t love GE or Exxon or Comcast — and you shouldn’t love Apple. It’s not an exception to the rule: there are no exceptions.
I like Tim Cook, but there are moral issues he seems completely blind to, like this 27% tax nonsense. Forget iOS. By Apple’s logic, they could also charge 27% (or anything!) for any business that has a Mac app and links to their web site. Never in computing have we seen a company so overreach.
There’s some interesting stuff in Bluesky’s moderation report. Kudos to them for being as transparent as possible. The screenshot of the backend is fascinating too… It’s often hard to prioritize tools that no one else sees.
Tim Sweeney reacts to Apple’s new linking rules (Twitter X):
Epic will contest Apple’s bad-faith compliance plan in District Court.
I’ve said before that for devs who want to see the App Store’s payment rules change, Epic was an imperfect champion, but they’re who we’ve got. Glad to see Tim keep pressing this.
Apple’s new rules for linking out of an app are totally unacceptable. The whole point of the court ruling is that we shouldn’t have to play these games. I’m not going to opt-in to Apple’s terms and probably no developers will.
My track record of blog posts that go a little against the grain (but which are later proven right) is pretty good. Early essays about Twitter and the App Store. But I’m wrong sometimes! I was wrong about AI. Ignored it for months, thinking it was a distraction. Maybe I’ll be wrong about Vision Pro.
I have a knee-jerk reaction to products that only the well-off can afford. See also: Apple Watch Edition. All product design is a trade-off on limited time and the constraints of technology. The first iPod was $399 but a few years later it was affordable and everywhere. Apple Vision Pro is not that.
I like this closing in Victoria Song’s Apple Vision Pro hands-on for The Verge:
I’d been furrowing my brow, concentrating so hard, I felt the beginnings of a mild headache. That tension dissipated as soon as I took the headset off, but walking back out into Manhattan, I kept replaying the demo over in my head. I know what I just saw. I’m just still trying to see where it fits in the real world.
I remain skeptical that this product should be a priority right now.
Created a very simple web page at blogarchive.org, mostly just a couple links to other resources. Later will have a more formal spec. Now it’s at least easier to point people to one place.
Thinking about Iowa results… To the most liberal, progressive folks in the Democratic party: Trump is coming for us. I hear a lot about world events and cultural issues, and not enough about what Biden has done and can still do. Let’s get real. Republicans are not going to stop Trump. It’s on us. 🇺🇸
Supreme Court has denied both appeals in Epic v. Apple. My reading of this: we can now link to payments on the web from within apps. Apple should update dev guidelines which are now (partially) illegal in the United States. A small win.
Mark Gurman on Apple’s EU plans, although it’s not clear whether this is his speculation or actual plans:
Apple will need to split the profit-generating App Store in two: a version for the EU and a version for everywhere else. Those living in the EU will get to install apps from outside the store, use outside payment processors to pay for services and get better integration between first- and third-party apps and features.
Maybe time to relocate Micro.blog HQ to Europe.
Iowa caucus night! It all feels a bit ridiculous, like a parallel reality… the freezing weather, clunky voting process, and leading candidate arrested and awaiting trial, but I’m glued to the news coverage anyway. 🇺🇸
Finished reading: Godkiller by Hannah Kaner. If I knew this was going to be this good, would’ve started it earlier. Great pacing and length. Glad there’s a sequel not far off. 📚
There has been a long-standing issue in Micro.blog where blog category names had to be ASCII characters. No more! Today I rolled out a few major, related improvements to categories:
These customizations are available with a new field on the edit category page. I hope folks enjoy this extra flexibility. Also note that it’s possible to create new conflicts, such as the same path being used for standalone pages and categories… Just be mindful of this when creating pages.
Really enjoyed Monarch: Legacy of Monsters. I had kind of tuned it out when it first popped up on Apple TV… We just watched through the whole first season over the last few days. 📺
Rabbit R1 has now sold out of their first 30k units (Twitter X link). Still questions about their business model, but maybe they’ll make it up on volume. 🤪 I really do think they’re on to something with this. Wish I had pre-ordered one, and still might.
Glad we can count on Apple to feature MLK on their home page today. Sometimes I worry Apple has lost their way and it will just be another big Vision Pro ad, but thankfully no. Great quote they highlighted: “Because of our involvement in humanity, we must be concerned about every human being.”
Micro.blog supports importing from a lot of different services: Twitter, WordPress, Medium, Tumblr, Ghost, Markdown, Substack, Write.as, Foursquare, Goodreads, and others. For each one we want to add, I download an archive from a test account on the external service to figure out what the format looks like, then write custom code to handle it.
None of these formats look anything like one another. Just a few examples:
__GHOST_URL__ being used in image URLs.Some services have an even less stable format. Both Twitter and Instagram have changed their format after it was widely used, requiring us to retool our import. And Glass’s export file does not include post dates or text captions.
One of the great things about indie microblogging is owning your own domain and so being able to move between services. But without a common format, it can be very difficult to migrate posts.
This is why I proposed the Blog Archive format (.bar) back in 2017. It’s essentially a ZIP file with all the posts and images for your blog. It uses JSON and HTML. There is nothing in it that is specific to any one blog platform, but it’s easy to extend with your own data if needed.
Micro.blog for macOS even supports previewing these .bar files. Double-click the file and it will show a list of the posts that will be imported. And because it’s really just a .zip file, you can rename it and use it anywhere. Or treat it as a single file that can be backed up.
In the years since I started using .bar, I’ve still yet to see any competing file format that solves the same problem. I’d love to see it become more widely supported.
Brr, woke up to about 25°, cold walk with the dog. Hope everyone across the country is bundled up and staying warm today. Looks like we’ll get some freezing drizzle but hopefully not much in the way of serious sleet or snow. Still slightly traumatized from the ice storm a couple years ago. ❄️
New video from @numericcitizen all about Micro.blog standalone pages and related tips. Cool!
Rolled out several behind-the-scenes improvements this morning to cross-posting and ActivityPub. This from @news may be helpful:
Calm before the storm. Slept in a little, catching up on work now before Home Depot and related errands. ❄️
On this week’s Core Int, we talk more about AI devices, comparing the Rabbit R1 and Humane Ai Pin, and speculating about where things go from here.
I’ve decided to opt-out the Micro.blog apps from the Apple Vision Pro store. My boring CEO take: it’s not something we have time to test and support with a small team. More rant-y take: I don’t believe in the product yet, and worry about us all living in a headset. Touch grass, friends!
Finally figured out why I hadn’t had much luck with edited posts on Micro.blog making their way to Mastodon. Mastodon requires an “updated” date, not just “published”. Fine, but these are the little things that make interoperability in the fediverse essentially trial and error.
Going to be a cold weekend in Austin. But iced coffee is still my default as long as we’re above freezing. ☕️
I have gripes about Substack even aside from content moderation, but I do think it’s worth giving them credit for letting you bring your subscribers — email addresses and payment info — with you when you leave. Imagine if Apple was cool with developers having their own customers in the App Store?
John Gruber in a post on the passing of Niklaus Wirth:
Most of the apps that established the Macintosh as the platform for people with good taste in the 1980s and early 1990s were written in Pascal. THINK Pascal was an IDE years — maybe over a decade — ahead of its time.
THINK Pascal really was amazing. I’ve got fond memories of that era, reading Inside Macintosh books at the cafe or school and going home to tinker in THINK Pascal at night.
Last month I mentioned we have a brand new feature rolling out later this month. It is coming along really well, but probably will slip until early February. Any launch is a lot of work and I don’t want to get too pulled away from the other maintenance and fixes we’re always doing.
Because my thinking-out-loud about news headlines in Micro.blog went over so well, for my next trick I’m planning to go into hardware: Micro.phone will have a really small screen.
Rabbit has sold through their initial 10k units already. @danielpunkass and I talked about this for the upcoming podcast… I’m fascinated by the cloud backend (would be neat to train it to post to a microblog) and the personality they’ve managed to get into the branding and design.
Missed this Patreon blog post from last month on accounting for Apple’s 30% cut:
Apple is requiring us to start using their in-app payment system in order for Patreon to remain available in the App Store, which means purchases made from our iOS app will be subject to Apple’s 30% App Store fee.
The default setting will be that users on iOS will have to pay more than on the web to cover this fee. And last week we had the Hey Calendar rejection. Strange that Apple is tightening the screws with the EU’s Digital Markers Act waiting in the wings.
Got some really interesting replies on my post about a potential news section in Micro.blog. To be clear, this is not being worked on anytime soon, maybe never. We have our hands full with other things! But the discussion gave me a lot to think about.
Just did some research for a reply to “someone who is wrong on the internet”, drafted the reply in detail, then discarded it. It doesn’t matter! Have to keep reminding myself that not everything is an invitation to debate.
2024 is going to be something else. One feature I’ve had in the back of my mind for a while is a news section in Micro.blog curated by a journalist. We just aren’t big enough to hire anyone for this. Maybe volunteers? No algorithms, no misinformation.
Outrage is like a poison. It’s good to be passionate, thoughtful, outspoken even. But if there’s a trend in the last handful of years of social media it’s that everyone is mad about everything. It’s sometimes warranted and always exhausting.
Doing more work with CloudKit. Honestly haven’t really done much with it before. Everything I do has a custom backend service, so CloudKit is just rarely needed.
Weird morning, apparently I forgot my Apple ID password? The password in 1Password didn’t work. Either someone in the family reset it, or I’ve been hacked, or I’ve lost my mind. 🙂 Reset it.
Excited to see the Rabbit R1. Only $199! Not sure who is going to crack this AI device category, but it’s going to happen. Nice line from the keynote: “Our smartphone has become the best device to kill time, instead of saving it.”
If you use Micro.blog on the web, you may notice the layout has changed slightly. These kind of design updates are my favorite. Just a little better, not throwing everything out in a way that would be jarring.
ActivityPub plugin for WordPress has bumped to version 2.0, lots of good changes. No-brainer prediction that blogging with ActivityPub will continue to improve throughout 2024, in Micro.blog, WordPress, and elsewhere.
2024 has started busy. Juggling a lot of different things, hopefully it all settles out. Still aiming to release a major new feature toward the end of the month. There is a new companion mobile app too that @vincent has taken the lead on.
Usually CNN.com is not great. Shallow soundbites and clickbait along with your breaking news. But sometimes there’s a true surprise, like this long article about Chinese immigrants to America. Flight to Ecuador, then the trek north. A stunning journey that it’s hard to fully comprehend.
It seems really easy to trip up Safari into trashing localStorage, even before its 7-day window. For example, if I load the same site in private browsing mode, then go back to the regular session, the cookies remain but not localStorage. Seems like a bug, or privacy protection gone awry.
Created a page to track my goal of visiting all the Texas state parks. It’s a pretty daunting list, but it’ll be fun to update it throughout the year. This is the kind of thing you lose if everything is just a post on someone else’s social platform.
I’ve been critical of the $3500 price specifically and the entire premise of the Vision Pro more generally, but now that I know it comes with a polishing cloth, I’m in. 💰
I don’t enjoy flying. This 737 Max 9 news is actually reassuring, though, that the plane landed safely after a huge hole was made in the cabin at 16k feet. Kudos to the pilots for keeping their cool. Also, phones sucked out and found in working order after making the drop! Must be a nice phone case.
Trump lies so much it’s bonkers. Meanwhile, I kind of like it when Biden accidentally goes off script, starts to say a little too much, and then you can see him bite his tongue and pull himself back, smiling. He’s human and honest. Is he old? Yes. Is he perfect? No. Still, good guy, I think. 🇺🇸
I remain convinced that normal people don’t want the Vision Pro, but I’m not willing to go quite so far as predicting a flop. The fascinating question to me is whether it’s possible to take a mediocre idea and make it succeed through excellence in tech and design alone.
Ray Roberts Lake State Park. First state park of the new year as I attempt to visit all 88 parks in Texas over the next couple of years.
I get Apple’s stance on privacy and tracking, but clearing cookies and especially localStorage after 7 days inactivity is just too extreme. Hurts legitimate usage of these web APIs.
Today I sent the following update to Kickstarter backers about the ePub version of Indie Microblogging. Note that the link to download the book is disabled below. This is for Kickstarter backers first, then we’ll sort out how to get it to everyone else.
Today I’m making a near-final draft of my book Indie Microblogging available to Kickstarter backers in ePub format. You can load this up on a Kindle, Apple’s Books app, or your favorite e-book reader. The latest version is also available on the web at book.micro.blog.
Over the last year, I’ve updated the book for recent events that affect blogging and social networks, such as Elon Musk acquiring Twitter, Meta’s Threads launch, and the latest with Bluesky. There’s also a new interview with Om Malik. I’m still planning to go through the book one more time and refine what is there before we officially call this done.
If you aren’t ready to jump into the book, I suggest skimming the version on the web to get a feel for the content, but wait to download the ePub until later, to make sure you have the latest draft.
The ePub file is [available for download here].
What about the PDF and print edition of the book? I’ll be sending another update to Kickstarter backers with more information about that. It has been years since the original Kickstarter campaign, so I expect many of you have moved, and I want to make sure that we have everyone’s correct shipping address.
Thanks as always for your patience and support! And especially to everyone who is using Micro.blog. The platform has come a long way, and there’s more to come in 2024.
Just published the first episode of Core Intuition for 2024. We talk about finally winding down the writing on my book, and another book Daniel is reading that is well-timed for the new year.
Going to roll out a slight layout change to Micro.blog on the web later this month, to better use the full browser width. I’m using it now and really like it. Might push it earlier if I get impatient.
At the restaurant for lunch they had the highlights from Spurs vs. Bucks on the TV. So good. I watched the 4th quarter last night… That final shot to tie it just didn’t go in. Some great moments from Wemby, including a late block on Giannis and then back the other way for a 3. 🏀
Added a footer on book.micro.blog to show that the book is Creative Commons (CC BY). This means you can do basically anything with it, even sell some version of it yourself. Also pushed more edits, including a new chapter in the conclusion.
Fun fact about my book Indie Microblogging, it has about 300 quotes. This is partly why it’s so long. I wanted to capture lots of little important quotes that might otherwise be lost to time and link rot.
For his birthday, Matt Mullenweg just wants you to blog. I love it because it’s actually a gift to the web. “No wrapping paper or bows. Just blogs and blogs and blogs, each unique and beautiful in its own way.”
Finished reading: Age of Death by Michael J. Sullivan. Fifth book and I think the weakest in the series, felt like an unnecessary detour. Still a fairly quick read. 📚
ePub fiddling today. Still don’t have a great workflow. Ulysses export → ePub with CSS tweaks, then run a script to download inline images and rewrite the XHTML inside the container, then try to piece things back together with Calibre.
Love seeing all the “year in books” blog posts from folks. If anyone’s curious about how Micro.blog handles this, I recorded a video on YouTube a few months ago that walks through the Epilogue interface and how it integrates with your blog. For 2024, more blogs please!
The draft of the book is in Ulysses, each of the 70+ chapters as sheets, and the web site is hosted on Micro.blog with a couple theme tweaks for the contents sidebar. I wrote a little Ruby script that will push all my changes from Markdown files back up to Micro.blog, via Micropub’s “update” JSON.
Updated book.micro.blog with the latest draft. Lots of little edits, and more updates for X, Mastodon, and Bluesky. Near final, planning to link up the ePub tomorrow and call it done.
Mickey and Minnie in Steamboat Willie, finally in the public domain. Happy New Year! 🎉
I like John Gruber’s airport lounge analogy for iMessage. Michael Tsai takes it one step further to underscore how Apple’s control still twists what is possible.
I’m sure I’ve blogged about this before but deploying Micro.blog is like a hilarious 15-step process. So dumb! And yet I do it at least once a day usually. Eventually it’ll be worth burning a couple days to automate it.
I said during Micro Camp back in May that I hoped Micro.blog would be open source by the end of the year. Didn’t happen, too much else to do. Still have plans along those lines, as soon as I can carve out time to get the structure for everything set up correctly.
Feeling like it’s time to travel again. For 2024, I’m going to start a new challenge: visit all of the 88 state parks in Texas, spread out over a couple years. Will try to camp at many but not all of them. Blog posts and photos along the way. 🗺️
Blogs and social networks talking to each other is still kind of magic. If you’re on the latest version of Micro.blog’s Alpine theme, replies from Bluesky can now flow into Micro.blog via Bridgy. We’ll be updating all the blog themes to support this, or you can modify your theme.
This works by signing into Bridgy so that it knows how to link your blog and your Bluesky account. Then if you have cross-posting enabled to copy blog posts to Bluesky, Bridgy will look for replies and match them up to the canonical version of the blog post. It then sends a webmention to Micro.blog.
In the Alpine theme, I’m telling Bridgy about this relationship using the u-syndication microformat. I have it hidden for now, but it can just as easily be an icon or text link to Bluesky:
{{ if .Params.bluesky }}
<a class="u-syndication" {{ printf "href=%q" .Params.bluesky.url | safeHTMLAttr }} style="display: none;">Also on Bluesky</a>
{{ end }}
Eventually this will all be more automatic. Replies back to Bluesky aren’t possible yet, so you’ll still need to click through to Bluesky to reply. But even now if you don’t mind tinkering, a lot is possible. It’s cool to see replies from Bluesky just show up like normal replies in the Micro.blog timeline. Because Bluesky uses domain names for usernames, they fit naturally into the way Micro.blog thinks about the web.
“I just had this weird feeling that my money wasn’t safe here anymore.” — Sneakers
Some people wondered about my vague microblog post last week. I didn’t post the details because I didn’t know everything about the situation yet, but now I do.
After 16 years in the same house, we moved this year, putting our old house on the market. The kids had all moved out. It was a good time to downsize, move a little closer into town, and maybe simplify. We had accumulated so many things, including thousands of books which I didn’t want to part with. The easiest way to solve this seemed to donate everything we could and then just box the rest up and rent a storage unit somewhere, to give us time to move and go through things more slowly.
This mostly worked out great. We recently downsized the storage to a smaller unit, because almost everything had been moved.
Fast forward to last week, I got a message from the storage facility that the lock on our unit needed to be replaced. No other details. We went up there and discovered a new lock on our door. The metal around the door was a little bent out of shape. I was able to point my camera into the grate at the top to look in. Someone had clearly broken in and messed everything up. Boxes were moved and at first it looked like half of our stuff was missing.
I often reflect on how lucky I’ve been in my life. Very few regrets, only a couple true setbacks to complain about. No one has ever robbed me! (Except identity theft to go on a shopping spree in my name, which was annoying and a huge waste of time, but fixable.)
What hit me hard about this was the irreplaceable stuff. I was imagining photos that were never scanned, family videos on VHS from my grandparents, my kids' old artwork from school, random documents, some stuff I’ve never even seen because I kept putting off digitizing it. I don’t worry about losing laptops, tech gadgets, or books. It’s the stuff that money and insurance can’t fix that hurts.
The next day I got to meet with the manager and get inside our storage unit. Turned out someone had made a run on multiple locations. They rented a unit to get an access code for the gate and elevator, then I guess cut locks or used a crowbar to open whatever they could. Other renters were there like I was, trying to understand what in their stuff was missing.
This is where the story ends with good news. Sorting through our stuff, I think everything actually important remained, just tossed around, boxes ripped open. The thief even skipped over old MacBooks and iPods. Maybe they were looking for guns? TVs to pawn? Who knows.
I’m still trying to understand what is missing, but even worst case now it might be a few inconsequential things or nothing at all, not what I had feared. Mostly a happy ending, and lessons learned. Please make copies of everything that matters.
Learning from this blog post that GitHub has 1200 MySQL servers.
Finished watching the Dragonsteel spoiler Q&A. It took a few days, off and on. I’ve read about 20 of Brandon Sanderson’s books and I still don’t even understand many of the questions! Love the super fans. 📚
In Evan Prodromou’s list of big and small fediverse traits, I lean more to big, but I don’t agree with everything in the big list. As one example, I think billion-person servers would recreate many Facebook-like problems. Evan’s list is great for sparking discussion, though.
I was thinking about Nick Heer’s post about the current top few social networks to replace Twitter, and specifically performance. I feel like Threads and Mastodon are fast, but it’s true that Bluesky is really fast. Wonder if federation performance will end up being AT Protocol’s strength.
Nitpick with some modern web services: I don’t like the trend of expiring URLs, like temp S3 resources for profile photos. It makes caching more difficult. In everything I design, I assume that a human might see the URL. That makes everything simpler and more stable.
At some point in the last few days, one of the changes to my blog has caused Hugo to go off the rails… Instead of taking a couple seconds to run, takes minutes. Having some difficulty tracking it down.
Watched some of the usual Christmas movies over the last week, and a couple new ones… 🎄 Then went on an anime tear with Princess Mononoke, Nausicaa, Tales from Earthsea, Weathering with You, The Wind Rises, and Kiki. 🍿
Happy holidays, everyone! A new episode of Core Intuition just went up, the last episode of 2023. We talk Apple Watch, Adobe and Figma, and look forward to next year.
This weekend I added limited support for following Bluesky users in Micro.blog. This isn’t federating with Bluesky yet. Instead, it uses a combination of Bluesky’s RSS feeds and the AT Protocol.
To follow a Bluesky user who has an account username in the form username.bsky.social, just search for the username in Micro.blog. It doesn’t work for custom domain usernames in Bluesky, because Micro.blog will think you want to follow the user’s blog instead.
Here’s a screenshot showing a search:
Note that Bluesky’s RSS feeds are brand new, and there are a few missing pieces. Photos in posts are not included and inline links may not work perfectly. Still, I expect Bluesky to improve this over time, and already it’s a useful way to follow many Bluesky users.
I’m planning to improve the Micro.blog side of this in the coming months, such as supporting replying back to Bluesky users. Bridgy can also take Bluesky replies to your blog posts and send them back to Micro.blog via Webmention. (I’ve updated the Alpine theme in Micro.blog to include the IndieWeb’s u-syndication microformat, so services like Bridgy can more easily map Bluesky posts with the canonical microblog post on Micro.blog.)
Happy holidays! 🎄
More good progress in Bluesky: there are now RSS feeds for all user profiles. This is just a useful baseline for supporting different things. Nice, clean microblog feeds without titles.
I like the new Bluesky butterfly logo. Still invite-only, but I have a handful of invite codes if you want to try it out.
Writing a blog post draft in Micro.blog for Mac this morning and I guess I’m hitting ⌘-S pretty often. This saves it to the server and Micro.blog keeps a copy of each version in case you need to revert back. Here’s the web version where I happened to notice the saved count.
Watching the Substack drama unfold but just taking notes for now. Trying to put most of my writing time into book editing, and these big picture topics of indie blogs, newsletters, and moderation fit right in.
Got some bad news last night that really shook me. Nothing family or health related, which is what matters, but still bummed. (Also nothing to do with Micro.blog or business or money.) It was balanced a couple hours later with some really welcome news! The world gives and takes.
I should’ve done more testing with audio apps after upgrading to Sonoma. Things went off the rails while recording @coreint — noise while recording and also audio getting handed off to my phone. I think we mostly salvaged it.
I finally installed macOS Sonoma, so I’m testing Micro.blog as a saved web application for the first time. Works well. The most awkward thing is not having an address bar. Nice that Apple included Edit → Copy Link.
As the year winds down, thinking about the fediverse, I want to do a better job in 2024 of making the case for independent blogs. Lots of platforms with thousands of users on each server talking via ActivityPub is great, but more blogs also helps with portable identity and a more distributed web.
Great article from David Pierce at The Verge about the potential of the fediverse:
Forget the hand-wavy protocol stuff for a second — one of the best things about embracing ActivityPub is that it sticks a crowbar into a single Voltron-ic product like Facebook or Twitter or Snapchat and pries it apart into its component pieces, each one ripe for innovation and new ideas.
Continued my Redis spelunking last night and managed to cut 10 GB off our memory usage. Makes a big difference because forking and saving the db is faster, less chance of churning the disk too.
Love how Brandon just drops this sentence into the State of the Sanderson:
Tress would make a pretty great animated feature though, don’t you think?
Yes indeed. Many of his books would work really well in animation, but Tress of the Emerald Sea would be fantastic.
Spending the morning going through a lot of bloat in Redis, clearing out unused data. It has been a little out of control using a ridiculous amount of memory, which hurts performance saving to disk and just generally costs more to run.
I thought we had mostly avoided the Mastodon spam from the last couple of days, but it must’ve hit some users because there were a bunch of extra spam reports. I continue to have mixed feelings about how Mastodon handles private messages. Need to rethink Micro.blog’s implementation.
I don’t mind flying under the radar. There are benefits for a product to start small and grow slowly. But I’m still kind of puzzled why Micro.blog is rarely mentioned when articles talk about platforms that support the fediverse. We first added ActivityPub in 2018. Must be doing something wrong.
Flipboard is rolling out the first phase of joining the fediverse:
In this first phase we are partnering with 27 publishers and creators to help them federate their Flipboard accounts and gather feedback. This includes a range of publishers covering global news, tech, music, gaming, travel and science as well as a few content creators like Erin Brockovich and Jefferson Graham.
I tested following one of these accounts in Micro.blog and it’s working pretty well.
I don’t have strong feelings about the Adobe/Figma deal falling through. I guess if we’re unsure, better to err on the side of fewer big acquisitions. Om Malik makes a really interesting point too that more regulation could mean fewer startups will have “just get acquired” as an exit plan.
Starting to see a path for Nikki Haley to be the nominee. I have mixed feelings about this. On the one hand, I don’t think she should be president, so I’d rather Joe Biden face a weaker candidate. On the other, it’d be such a relief just to definitively know Trump can’t be president again. 🇺🇸
I really liked Leave the World Behind. There are some great scenes in it. Left with a few things to think about too. 🍿
Threads starting opt-in for the fediverse is fine. In fact, it’s what we did in Micro.blog too back in 2018, because I wanted to focus on personal domain names and that requires a little more configuration. However, I do hope that Threads expands to enable federation by default for all users.
Don’t want to jinx it but we finally have Micro.blog performance under control after a couple rough days. Also gotta give credit to Threads, it is one of the fastest of the new social networks. The bar is higher than it was in Twitter’s fail whale days.
Jamie Thingelstad is today’s interview on Manuel Moreale’s People and Blogs series, with some nice words for Micro.blog:
When micro.blog was launched, I intended to use it as an alternative to Twitter. But then, as Manton built and improved the system, I realized it could host my entire site. I now have 8,449 posts in micro.blog and growing, with a total blog archive size of over 7 GB. It makes me chuckle since I think the “micro” in micro.blog makes folks think they can’t use it for everything, but you can.
Thanks @jthingelstad!
Brick Oven on Red River has been closed since the pandemic. Last week they made it permanent and bulldozed the building. Sad to see it go. 🍕
Good quotes from Bluesky CEO Jay Graber in this Fast Company interview. Surprised to learn that Bluesky has 30 people on their team already.
Love this update to Mimi Uploader that can generate photo alt text for you with AI. Mimi is a convenient batch photo uploader for Micro.blog, great for posting a few photos to your blog all at once.
Yesterday, Meta started enabling limited support for ActivityPub in Threads, mostly around following Threads users from platforms like Mastodon and Micro.blog. Adam Mosseri had an excellent video update on Threads that gave the most detailed look into their roadmap:
This work is taking longer than we thought given our safety work, given our compliance work, and given all the scrutiny on our company. But over 2024 we’re going to be adding the ability to post from Threads to these other servers. We’re going to eventually also support the ability to show replies in Threads natively, and eventually allow you to even follow accounts on those other servers from the Threads app itself.
I made a transcript of his video because it contains more than his text posts on Threads. I transcribed it with Audio Hijack and Micro.blog and then double-checked it with the subtitles on Adam’s video. You can read the full thing in this Gist.
Figured out where this delivery robot is from. They are made by Avride and do deliveries for restaurants. Free delivery! Replacing humans, one job at a time.
From a post-trial interview with Tim Sweeney, he reiterates why settlement talks with Google didn’t go anywhere:
We were rather far apart, let’s say, because what Epic wants ultimately is free competition and fair competition for everybody, and the removal of the payments tie and removal of the anticompetitive measures, which obviously leads to far better deals for consumers and developers.
Epic remains an imperfect messenger for App Store reform but they really do have this part right. It’s about the overall market for decades to come, not Epic or any other single company.
The slow rollout of ActivityPub in Threads continues, but it doesn’t appear to be accessible from Micro.blog yet. Hopefully soon. What I wrote in June is holding up well. This is an important step forward for open protocols.
After posting about not wanting to push unannounced features to a public repo, I got suggestions to create a private repo. I did eventually do that. I think my gut instinct is for simplification… Fewer dependencies and duplication to keep track of.
Mark Zuckerberg posted to Threads about starting ActivityPub testing, but it’s not clear what the scope of the test is. Doesn’t appear to be available to outside platforms yet. Still, a big deal just announcing it.
The day has finally come… I’ve added Swift to the Micro.blog for Mac project. Yes, I know it’s 2023, almost 2024. After tinkering with Apple’s Security framework and Common Crypto, decided CryptoKit was the way to go and it’s Swift-only.
Working on encryption and understanding the best initialization vector lengths and then all of a sudden I’m down the cryptography rabbit hole, reading about the birthday paradox. Might be time to call it a night.
Because the Mac app for Micro.blog is open source and we’re holding off announcing some new stuff until next month, I can’t just push in-progress changes to GitHub. Kind of makes me nervous having this code only on my Mac. (I do have backups but just daily.)
Walking down our street yesterday, I was thinking about how only one person for at least several blocks gets the newspaper delivered. We all get different news in our own bubbles. I love the web and the freedom of publishing, but we have lost something to no longer have a shared set of facts.
Thinking about renaming Micro.blog to the letter M. The subtitle will be “the everything app”. Blogs, pages, photos, bookshelves, social network, bookmarks, highlights, podcasts, link archiving, email newsletters… and maybe banking features early next year. Anyone else doing something like that? 🤪
When we added bookmarks to Micro.blog, I used 🐘 to make sure emoji worked. Now I’ve stuck with using that as a tag for Mastodon-related bookmarks.
Epic gets a win against Google. Everyone is trying to make sense of the differences between Epic v. Apple and Epic v. Google. To me, it’s fitting that the outcome is different not just because the facts are different but also because the app stores are fundamentally subjective and randomly unfair.
Trying Apple’s new Journal app for the first time after upgrading my phone to iOS 17.2. Not bad, but I don’t think it’s for me. Day One is a better fit. Just text notes without anything clever.
Beeper Mini is (partially) back. From their blog:
Make no mistake, the changes Apple made on Friday were designed to protect the lock-in effect of iMessage. The end result is that iPhone customers have less security and privacy than before.
I’m all for openness and interoperability, of course, but using a company’s private API in a way that competes with that business is not okay. Even so, I’m kind of rooting for Beeper to shake things up.
Increasingly thinking that we’re too worried about AI hallucination. AI is never going to be perfect, and humans aren’t either! We should focus on using AI in the right context. Running without supervision is the problem. If a 5-year-old kid shouldn’t be in charge of something, AI shouldn’t either.
We’ve gotten some good feedback about the latest Core Intuition, so this is a rare “in case you missed it” post… Episode 579 is a good place to start if you want to pick up the podcast. AI, Beeper, and related fallout.
Not trying to overhype this but I’m so excited about what we’re going to launch in Micro.blog next month. It’s coming along really well and expanding beyond what I first thought it would look like. Meanwhile the everyday stuff continues too, working on fixes and servers this week.
Finished reading: Age of Legend by Michael J. Sullivan. Didn’t expect this one to end so suddenly because the last 15% left on Kindle was actually an excerpt from another book. 📚
Speaking of self-promotion… 🙂 There’s a new Core Intuition out. On episode 579 we talked AI, Google Gemini, Apple’s MLX, Beeper, iMessage, and all the tech and ethical implications of the above. Recorded before Beeper Mini broke yesterday, so we’ll see how that shakes out.
Sometimes people ask for link preview cards in the Micro.blog timeline. Maybe eventually we’ll add them, controlled with a preference. But so often they are in your face, cluttering the timeline, overshadowing perfectly good content. Here’s yesterday’s post on my blog, displayed as intended:
There’s a subtle link on the text “a brand” because I thought people might be curious about the shoes. But that wasn’t the point of the post. I almost didn’t include the link at all.
And now here’s how the same post looks on Mastodon:
What the…? Did I write a short post about serendipity, or did I post an ad for a shoe company?
(Now there is a secondary issue, especially on mobile, where inline links can be confusing or even abused with spam links. There are other ways to solve that.)
So much of social media feels like a show, where everyone is outraged or promoting their own content, the timeline itself just a collection of billboards along the highway, one after another getting your attention. I don’t want that experience. Not having ads is a strength we should lean into.
Thinking about what Mosseri said introducing Threads search:
…having a comprehensive list of every post with a specific word in chronological order inevitably means spammers and other bad actors pummel the view with content by simply adding the relevant words or tags. And before you ask why we don’t take down that bad content, understand there’s a lot more content that people don’t want to see than we can or should take down.
This is what we’ve always thought at Micro.blog too. Meta solves it with algorithmic timelines. We don’t do that, so we’ve been admittedly slow to improve here.
I’m using ChatGPT more and more for coding help. Sometimes I don’t fully trust the answer and double check with Google or Stack Overflow. Today the AI produced some code that I thought it must have completely hallucinated… Does this even work technically? But it ran perfectly.
Love developing for the web and learning how to do something new for the first time. Processing a ZIP file fully within JavaScript in the browser instead of server-side? Never really considered doing it but it works great.
Sometimes the choices we don’t mean to make end up perfect. When I was traveling this year my shoes fell apart and I stopped at a random shoe store in Boulder. They had one pair of shoes in my size, a brand I’d never heard of, bought them, and they are now some of my favorites. Wear them everyday.
Threads launching in the EU next week. My earlier theory was they were waiting for ActivityPub (and so better account portability) before going live. Guess I was wrong.
Noticed load averages briefly jumping up to 10.0 so it’s going to be that kind of day. There’s always something to optimize! Looking okay now, though.
It’s been a couple weeks since we got our first Roomba, so here’s my review: it’s great. Took a day for us to settle into how best to use it, what to pick up from the floor or block, and when to run it… Now it just does its thing every day. Surprisingly good with dog hair too.
Testing new in-progress features and everything is kind of working. Maybe at this point in my career I shouldn’t be surprised when my code actually works, but it’s still a nice feeling.
Interesting juxtaposition of releases today… The new Ivory with Mastodon hashtags support and the Threads update with hashtags for the first time, limited to one tag per post. Also major Mammoth release, with open source on the way.
Watching a few clips from last night’s GOP debate. Chris Christie still fighting the good fight against Trump when no one else will. From Christie’s closing statement:
…picture in your mind election day. You’ll all be heading to the polls to vote. And that is something Donald Trump will not be able to do. Because he will be convicted of felonies before then and his right to vote will be taken away.
🇺🇸
I love these robots. We’ve seen more of them but it’s not clear if they are actually going anywhere or just practicing for deliveries.
Congrats to @cheesemaker and the Silverpine team for announcing the beta of Evergreen.ink, an interactive fiction authoring tool. Think: “choose your own adventure” stories. I’ve been helping with this behind the scenes too, and the upcoming iOS app… Really cool to see it come together.
Beeper Mini looks like an impressive feat of reverse-engineering. Apple will surely try to break this in the future, but if doing so requires an iOS update for iMessage API tweaks, it may take years before they can realistically cut off Beeper along with very old iPhones.
Made a little architecture diagram for Micro.blog that reflects the recent server upgrades. A couple simplifications but it’s pretty close to how things work.
I’ve been putting off an infrastructure upgrade because 💰, going to bring online another new server today. This would be a great time for everyone to upgrade to Micro.blog Premium. 🙂 Seriously though, you’ll get a major new feature launching next month.
Matt Haughey in a blog post about renting a Tesla:
I wish other EVs could be this good. I will never own a Tesla, but I can see the appeal now. It was easy to drive, even easier to recharge, and was quite comfortable and made every other car I’ve driven feel like a relic from a past era of personal travel.
As a side note, seems a trend where execs are becoming more public characters — with their random dumb thoughts posted online — at the same time that everything is becoming political. So now we buy products based on our values instead of quality. Sometimes good, sometimes taken too far.
Finished reading: The Ocean at the End of the Lane by Neil Gaiman. Absolutely wonderful. 📚
Can’t believe I’m still working on the book. Just a few final end-of-year updates. New excerpt:
Even the name itself and the bird branding are gone. The letter X feels like an appropriate placeholder for the platform’s grave. Here lies a dying platform. X marks the spot where it used to be.
Tweet Marker’s whole purpose was for cross-platform, cross-app timeline sync. There was never anything like it because it’s not actually a profitable idea on its own. But there are many apps that could benefit from something like this. Imagine note sync across Ulysses, iA Writer, Bear, and Obsidian.
The future of Nostr might not actually be for microblogging but instead as a cross-platform generic sync API for any type of small data. I know this was baked into the original idea, but the more I think about it, the more it feels like a unique solution to several things.
Apple Pay has made me lazy about credit cards and it finally came back to bite me. Drove to Dallas yesterday and forgot my wallet in Austin. Generally hasn’t been a problem… restaurants, gas, movie, coffee, all fine. Until the hotel where they assume you’re a criminal if you don’t have an ID.
Went to the early IMAX screening for Miyazaki’s The Boy and the Heron tonight. Managed to avoid seeing any trailer, plot summary, or review, so everything was a surprise. Still thinking about it so won’t say more for now. Subtitled, and I’d like to see the dubbed version later. 🍿
I’m excited that Texas is in the playoffs, but only picking four teams is always going to leave someone out who should have a shot at it. College rankings have always felt subjective to me so I don’t give it much thought. The Longhorns barely lost that game anyway. 🏈
My quick 5-minute demo from FediForum is now on YouTube. I show off Micro.blog and fediverse integration. It’s a whirlwind tour of several different things including how we think about cross-posting.
Just published Core Intuition 578 about the MarsEdit 5.1 release, AI and copyright, software licensing, and more. Lots of good stuff in this episode I think.
Working more this weekend on the feature I teased about a few days ago. Work has accelerated and now I’m confident in the design and technical bits. The hardest part is pulling myself back every day to work on smaller fixes and improvements.
Castro is back online and Tiny is considering finding a new home for the app, via Rob Fahrni. For Micro.blog we host podcasts, and we have our Wavelength app, but we’ve thought about doing more. Kind of neat to imagine Castro in our suite of apps if we had a non-$0 acquisition budget.
Glass announced they are raising their prices for next year, but it looks like even with the change I would save money if I switched to the yearly plan. Interesting to see how different companies handle yearly discounts. 50% off is an unusually good deal.
December already! I still have 9 books left on my reading goal for the year. I’m halfway through a couple things already so I might hit it if I read more over the holidays. 📚
Nice approach in iA Writer 7 for pasting ChatGPT output into your writing and tracking your edits to make it your own. There is also a Markdown extension for attribution in a range of text. However, I found this part of their blog post a little puzzling:
While the format is open, avoid cloning our work. Draw inspiration from what we made. Change it. Improve it. Design it yourself. Work on it until it is substantially better. If you can’t beat our design, then let it be and do something else.
There is a long history with text editors of drawing inspiration from features in competing products. What iA Writer has built here is not easy technically. If someone eventually copies it, I would chalk it up as praise and move on to the next thing. (Admittedly that’s easy for me to say as an outsider, though.)
Also, a reminder that iA Writer supports native publishing to Micro.blog! It’s a great writing app with elegant support of Markdown. Despite my nitpick above, I do like their thoughtful take on AI integration, and I think version 7 is going to be well received.
Seems there aren’t many notes apps that are end-to-end encrypted. Obsidian is one, and there’s also Day One for journals. Wondering how important this is to folks. Personally, I like that Day One is encrypted but I would use it even if it wasn’t. And most of my notes are just on Dropbox.
Putting on my sys admin hat this week, evaluating what we can improve. Our primary MySQL server has been running for over three years without a restart. Not bad! (Hopefully I didn’t just jinx it.)
One year ago today, ChatGPT was released. It’s not that often that products truly change things. Whether you think artificial general intelligence is just a few years off or that it will remain a pipe dream forever, there’s no question that some form of AI is going to be part of so many products going forward.
AI is a tool. Even imperfect, it is incredibly useful. Looking back, I can’t believe I was so skeptical of its impact. I ignored ChatGPT for months.
This week I was creating a web page to show a grid of Micro.blog feature names, experimenting with different ways to highlight all of the things Micro.blog can do. I turned to ChatGPT to help me get started, like asking it this question:
Can you generate 10 colors that look kind of like #f80 and go good together?
Or this one:
Let’s say you have 87 HTML spans with id attributes 1 to 87. Write JS that randomizes the numbers 1 through 87, then loops over each one and sets it’s background color from an item in a list called colors.
And then:
Add a random delay before setting each color, from 1 to 2 seconds?
And so on. It probably saved me an hour. I’m still working on it, but you can see the result so far in this video.
This kind of functionality is why Microsoft’s “Copilot” branding is so good. AI is the little assistant that helps you with random tasks. Coding, brainstorming, writing. In the above examples, it didn’t replace my job. I still needed to take the output and tweak it, move things around, add my own code, think about the design.
Earlier this year when we added Twitter import to Micro.blog, I used AI to help make an illustration for the web page. I combined the output with my own sketches, compositing things together, adding color. AI was my junior artist assistant, helping me create something that I couldn’t dedicate enough time for on my own.
And in Micro.blog, we now use OpenAI to automatically transcribe podcasts for all Micro.blog Premium subscribers. I’m interested in finding more use cases like this: not using AI to replace our creativity — Micro.blog will always be about personal blogs, written by humans — but to automate tedious work.
I have no idea where AI will be in another year. I won’t obsess about it too much, and I won’t follow where it leads blindly, but I’m fascinated to watch it evolve, waiting for the opportunities that bring clear benefits to our work.
Not sure what to make of Elon Musk’s interview yesterday. It’s so easy to say he’s unhinged that I’m questioning whether I should dig deeper. Ultimately my core belief about huge social networks hasn’t changed in years: too much centralized power opens the door for user-hostile, dev-hostile leaders.
MarsEdit 5.1 is out with support for posting to Mastodon and improvements for Micro.blog too, like attaching photos in the micropost window and updated character counts. Congrats @danielpunkass!
Usually I work on improvements to Micro.blog for a couple days or weeks and roll them out. Very rarely does something sit for months before customers see it. But sometimes very big features need a little more process and restraint… Working on something new off and on that will launch in January.
Interesting conversation about web hosting and AI in this interview on Decoder with Avishai Abrahami, CEO of Wix. But this also stuck out to me:
The developers, they just read a very fantastic post by somebody on how to do something in a much nicer or interesting way, and then they want to try it. They want to play with it. They want to build something with it. And suddenly, it’s like, “Oh, no, this is how we do it. You have to do it like that.”
It takes a lot of discipline to ignore tech fads. I’m convinced this is why large teams often spin their wheels, getting very little done for users.
Today we’re rolling out some major improvements to domain name support in Micro.blog. We’ve had domain name registration for a while, but it was fairly limited. Now you can transfer domain names to Micro.blog hosting and let Micro.blog handle all the details. We also have a better management interface for adding custom DNS records.
Here’s a screenshot:
To register or transfer a domain name, in Micro.blog on the web click Account → Get a Domain Name.
There’s no requirement to use Micro.blog for domain names if you want to keep your domain name at another hosting provider. Some people like to keep domain name registration separate from their blog hosting. But if you’d like everything under your Micro.blog subscription, now it’s easier.
Playing around with Raindrop.io today. It’s really nicely done. I’ve added support for importing Raindrop.io bookmarks to Micro.blog bookmarks. There’s also an API, so maybe we’ll have more integration later.
There have been a bunch of “what apps am I using?” blog posts recently, inspired by an episode of Hemispheric Views. Robb Knight has a page with links to other people’s posts.
Here’s my list:
I added a few at the end that I’ve seen other folks use even if they weren’t in the original list. There is scoring too, but I don’t understand how it works. 🙂
I’ve been eyeing a specific domain name for several months. It’s a premium TLD and I can’t really justify the price. But every once in a while like today I come this close to grabbing it, then talk myself out of it. Whew.
Reminded by this post from Vincent that Arq exists. I used it years ago when I was frustrated with something from Backblaze, but I didn’t stick with it. Going back to it, backing up to S3 and skipping a backup subscription altogether.
Sarah Perez writing at TechCrunch about Evernote’s experiments with a more limited free plan:
…a pop-up message that informed them that unless they upgraded to a paid plan, they would now be limited to only 1 notebook and 50 notes. That change would dramatically limit the service for longtime Evernote users who have accumulated hundreds or thousands of notes over the years.
Evernote is a perfect example of a company getting too big for what it’s trying to do. It could’ve been a great 20-person company. The billion-dollar valuation ruined it.
Roomba vs. dog. It takes a lot for Ollie to move… Certainly more than a robot nudge. If he’s sitting in front of a door you want to open, for example, forget it.
Fixing one last thing after our server problems yesterday. I almost finished it last night but realized I was too tired to risk making a mistake restoring data. Much better in the morning with coffee and triple-checking backups and scripts. One day we’ll have a full-time sysadmin!
We talk about domain names as your web identity, how it’s more permanent and meaningful when you’re microblogging on your own site instead of someone else’s domain. Some social network is down? Shrug. Your web site is down? That feels personal. We’ve had good uptime but it’s gotta be even better.
Dealing with fallout from another server failure. We have pretty good redundancy most places, except ironically some of the most stable parts that always felt low on the list to prioritize because they never failed… until they did. Picking up the pieces, improving a few things for later.
Cool driving by REI on Black Friday and seeing the store closed. Kudos for thinking of employees and customers before profit. On the other hand, we participated in the shopping craziness by getting a Roomba. Figured the vacuum robot tech must be well along by now. Mixed results in the first run.
Super Mario Wonder is excellent on replay. I’m slowly finding all the levels I missed. Some of the levels are actually kind of difficult, which I love, and seems rare since the NES and SNES days. 🍄
The ads on TV for Humane’s pin are pretty effective. I don’t expect much success for the first version of the pin, but I do think they’re on to something if they can keep iterating. Best comparison is the Newton — a little ahead of its time.
Happy Thanksgiving! 🦃 I finished Mario Wonder. Great game, I’ve been playing a couple levels every day since its release. Missed a few things that I can still go back to, or play different characters. 🕹️
We just posted a new Core Intuition all about the chaos at OpenAI over the last several days, including the resolution with Sam Altman returning as CEO. The full episode is all on this, the relationship with Microsoft, the odd company structure of OpenAI, and the impact of AI on… well, everything.
Happy to keep growing the list of formats that Micro.blog can import to your blog. As of today: Twitter, WordPress, Medium, Tumblr, Ghost, Markdown, Substack, Goodreads, and Write.as. Plus cross-posting out of Micro.blog: Medium, Mastodon, LinkedIn, Tumblr, Flickr, Bluesky, Nostr, and Pixelfed.
Most companies would delay any product changes if they were in the middle of leadership chaos. Rolling out ChatGPT Voice to everyone this week says a lot about their confidence. Who is even CEO? Who cares, let’s ship it.
Pretty big deal that Spotify didn’t have to pay Google the usual in-app purchase fees. The inconsistencies across developers is just as unsustainable as the high 15% or 30% cut. As I’ve been saying forever, the ultimate solution is side-loading and external payments. Getting closer to that future.
Uptown in Dallas over the weekend, coffee and work at Foxtrot as the trolly goes by in the background.
Marlin from Finding Nemo:
I just can’t afford any more delays and you’re one of those fish that cause delays. And sometimes it’s a good thing. There’s a whole group of fish. They’re delay fish.
I think about this when I’m trying to get something done and not making progress. What is slowing everything down, making simple tasks more complicated than they need to be? Or is it my fault, overthinking something that should be simple?
Not everyone has the same priorities. That doesn’t mean everyone else is necessary wrong, but they don’t have the same urgency. Meetings might have people with good intentions. Emails might have good counter-points to consider. But they are delay fish, getting in the way of accomplishing anything.
After the OpenAI fallout this weekend, I’m pretty confident that Satya Nadella gets this. Friday afternoon he was probably looking forward to the weekend without a clue of the crisis unfolding at OpenAI. Then by Sunday night he had announced that Sam Altman, Greg Brockman, and other folks from OpenAI were joining Microsoft to lead a new AI research team, while preserving Microsoft’s relationship with OpenAI. Lemons to lemonade.
You can be sure there were meetings in those 48 hours. I bet there were delay fish, urging for a pause, time to reflect on what Microsoft should do. There was chaos and so also a moment to act and Satya took it.
Sometimes you need Dory. You need to be innocent, joyful, thoughtful, creative, brainstorming, slowing down. But sometimes you just need to get shit done and move on.
Catching up this morning on all the OpenAI and Microsoft news. Hard to overstate how dramatic a weekend this was for the tech world. As a (small) OpenAI customer, I’m not sure where this leaves me. One thing is clear: Satya Nadella is a really impactful CEO. He turned a crisis into a triumph.
Wanted to make my blog Creative Commons licensed again, so I created a little Micro.blog plug-in that adds a rel="license" tag. Defaults to “CC BY” but can be changed to another license in the settings. Not sure yet how licenses should interact with our future AI overlords, though, if at all.
Om Malik on the OpenAI news:
…the big question is what this really means in the long term for the forward momentum of artificial intelligence and its impact on the broader technology ecosystem. While it might sound pessimistic, the past 24 hours have exposed a massive and obvious foundational risk in placing all bets on a single entity.
The latest Core Intuition has everything about my road trip, getting COVID, seeing U2 in Vegas, and then back to blog-related topics with the state of Tumblr under Automattic’s ownership.
I’ve been quite happy with OpenAI as a developer. We use their API to transcribe podcasts hosted on Micro.blog. It’s cheap enough that we can include the feature for everyone at no extra charge. I’ll admit I don’t know much about Sam Altman beyond the superficial, though. Ready for leaks.
Friday bombshell, Sam Altman is gone from OpenAI:
Mr. Altman’s departure follows a deliberative review process by the board, which concluded that he was not consistently candid in his communications with the board, hindering its ability to exercise its responsibilities. The board no longer has confidence in his ability to continue leading OpenAI.
Didn’t see even a hint that something like this might happen. Pretty shocking.
Amazing that we’re only a month and a half away from Steamboat Willie being in the public domain. Hoping animators experiment with remixing it, within the limits of copyright trademark. I think there’s a lot you could do. Probably won’t have time myself but maybe one day.
Very positive review of Coyote vs. Acme over at Cartoon Brew. This is the film that was finished but cancelled anyway as a tax write-off. Did the Warner CEO even watch it? When money comes before art, you’ve lost your way. (This is even worse than when Warner botched the marketing for Iron Giant.)
Good news from Bluesky that a public web interface is coming this month. They’ve had a “staging” web app, but it required signing in. Also:
As a reminder, Bluesky is a public social network, so your posts, likes, etc. have always been publicly accessible through the API. We designed Bluesky with the openness of the internet in mind, and you can think of your profile as a blog on the internet.
In the future, it will be easier to have actual blogs that seamlessly act as ActivityPub and AT Protocol profiles. We’re halfway there with Micro.blog already.
Great news that Apple will be adopting RCS, via 512 Pixels. iMessage is the biggest lock-in to Apple platforms for me. RCS won’t change that overnight, but if it makes Android interoperability better, I’m for it.
Kudos to Matt Mullenweg for making public the internal memo about the future of Tumblr. It seems they’ll pivot to a smaller team, acknowledging that maybe Tumblr can’t be competitive with other massive social networks, but could do just fine as a more niche platform:
We are shifting from the mode of “surging” on Tumblr with tons of people to get it to exciting growth, to working on how we can run Tumblr in the most smooth and efficient manner. Pretty amazing things in the social and messaging space have been accomplished with small teams, so I’m actually quite curious to see a smaller and more focused Tumblr’s performance in 2024.
I’m a little confused about what Tumblr has been up to in the four years since the acquisition. Automattic had ambitious plans both for ActivityPub and to rebuild the foundation of Tumblr on WordPress. But there are a lot of smaller things they could do, like add support for IndieWeb standards Micropub and Webmention, simple protocols that are straightforward to implement.
Even so, Automattic is a great home for Tumblr. Social networks come and go, but I expect Tumblr to be with us in some form for years. It still has a lot of potential.
Going to record a new @coreint today. It’s been a while… Traveling and getting sick didn’t help the schedule.
Some really good thoughts here from Chuck Grimmett about preserving web sites after our death. I’ve also been thinking about this. There’s a little in my book about it. Hope to have more concrete plans by the end of the year.
Very reasonable take by Jason Snell about AI assistants. Siri needs to be completely gutted and rebuilt with generative AI. This will take, what, 2-3 years? The question is who can build a compelling device (“pin” or otherwise) in the meantime, before Apple gets there.
CNN’s web site is usually a mix of news headlines and dumb clickbait, but sometimes it’s exactly what you need to start the day. Love this story about a pilot and his daughter. I’m a sucker for this style of photos separated by decades.
Finished reading: Divergent by Veronica Roth. Wasn’t planning on getting this but it was on Libby’s no-wait list when I was queuing up books for my trip. Never saw the movie. 📚
Finished reading: Age of War by Michael J. Sullivan. Another good audiobook to finish on the road. Been working through this for a little while. 📚
Finished reading: The House in the Cerulean Sea by TJ Klune. Listened to the audiobook version. Love the way the narrator interpreted all the kids' voices. 📚
Silver lining to getting sick and rerouting my trip back home for speed is I got to see Joshua Tree National Park. The original plan had me in Utah today.
For futuristic products, Humane’s AI Pin is actually a better idea than Apple’s Vision Pro, but it seems clear especially this week with spatial video that the Vision Pro will have better polish and completeness. There might be some clunky duds before someone makes the first indispensable AI device.
A follow-up on my gripe about the digital download version of Mario Wonder. As pointed out by a couple helpful folks, I was holding it wrong. When you have multiple Switches, you can de-register the “primary” Switch. That fixed the internet check for me.
Going to attempt to catch up on some work today. Long story short, I got COVID this week while on the road. I had the new vaccine a month ago, also just started Paxlovid, so I’m as prepared as I can be. Swapping out cold camp sites for warm hotel rooms for the trip back home.
I’ve been traveling and now I’m sick, so of course Micro.blog goes down. Think I was too ambitious in the planning for this road trip. Hoping to shift things around so I can get back home sooner.
Great interview on Decoder with Barack Obama. He is so knowledgable and thoughtful. Plenty to think about with AI and social networks.
Millerton Lake. I’m still not used to how ridiculously early the sun is setting. This was a few minutes before 5pm!
First world problem, but I made the mistake of buying the digital download of Mario Wonder instead of the physical card. Every time the game opens, it has to check the internet, and when traveling sometimes there’s no good wi-fi. So I have to tether to my phone just to open the game? Not great. 🍄
Camping at Calico Ghost Town. Didn’t get here much past 5pm and it was already dark. There are over a hundred camping spots but only a couple other people here, far away, so it feels like just me and rocks and the wind. 👻
I posted a photo the night of the concert, purposefully picking something simple at the beginning in case people were planning to see the show and wanted to be surprised. Lately I’ve been trying to avoid spoilers for movies, books, and concerts as much as possible. Don’t tell me the setlist; I just want to experience it.
But let me share a little more about the concert. First of all, my bias is that I’m a U2 fan. I’ve seen them live several times. I bought tickets for Vegas a few months ago without a clear idea of who could go with me or how I would get there.
This is where you can stop reading if you are planning to go to the Sphere no matter what and don’t really need to hear my opinion or see more photos.
Over the last month, I concocted a plan to drive to Vegas, where my kids would fly in and meet me for the concert. Then I would continue on to California before heading back through Utah to see whatever I can see. I would work every day from the road. More about all of that later.
A lot could’ve gone wrong with all of this. Honestly, sitting in our seats at the Sphere, I reflected on how I wouldn’t have been at all surprised if none of this had panned out. Someone gets sick, can’t make it, or countless other problems.
The venue is unlike anything I’ve ever seen before. Photos don’t do it justice. Such a ginormous screen allows them to create scenes that are stunning. They can play tricks with movement that make it so immersive and new.
In a way, it’s an experiment, a spectacle. This is balanced by some quieter moments too, where the band plays without any fanciness on screen to distract you. I think this kind of show could continue to be tweaked as the producers better understand what works in the venue.
If you’re a fan of U2 or like visiting Las Vegas, I highly recommend it. I’ve grown to love and hate different parts of the city. For me, it’s best in moderation. Come for a couple days, have a great time, spend too much money, and then it’s time to get back to the real world. Roller coasters on the top of New York New York, a recreation of the Eiffel Tower, a pyramid… the Sphere is unique and amazing and fits in perfectly.
U2 at the Sphere. This is from the very beginning of the show, no spoilers. Incredible concert and venue.
During COVID, I thought for sure no one would ever want to go to Las Vegas again. Stuck in a poorly-ventilated room with no windows and people smoking? No thanks! Yet here I am in the city. U2 at the Sphere tonight.
On this week’s Core Intuition, we react to Apple’s M3 Mac event. Are we planning on upgrading? Plus thoughts on Apple talking about AI.
James Harden this week after joining the Clippers:
I’m not a system player. I am a system.
It’s a great line. Unfortunately for Harden, I think you need a few things to win an NBA championship: skill, chemistry, and luck. Doesn’t seem like he’ll ever be on a team with all three. 🏀
Finished reading: She Who Became the Sun by Shelley Parker-Chan. An ambitious book that kept surprising me. Not everything worked, but I was hanging on until the end anyway. Curious if some unresolved threads will get attention in the next book. 📚
In between audiobooks and podcasts, had a lot of time to think on the road today. Why do we travel? The more I see, the more obvious it is that there are nearly countless beautiful things still to find. Only our time is limited.
Wasn’t planning on stopping at Petrified Forest National Park but it was a great break from I-40. Tiponi Point over the Painted Desert.
We have a new page highlighting Micro.blog’s support for IndieWeb building blocks. Thanks @paulrobertlloyd for the new icons!
Cabra Coffee, a perfect cute coffee shop to work for a little while, only a mile from where I camped last night in New Mexico. ☕️
Now that we’re in a new neighborhood, not sure how much candy we’ll need for trick-or-treaters. Have a feeling there will be more kids. Also I might’ve opened the Reese’s already.
If you’re new to Micro.blog, you might not know that there are some secret pins you can unlock on various holidays and events, based on words or phrases used in microblog posts. Happy Halloween! 🎃
Looking back on this post from three years ago when I bought my Intel MacBook Pro, previous me would be surprised that I still haven’t jumped to Apple silicon. Now is not quite right, but hopefully early next year. M3 will be a great upgrade.
Busy evening so I just watched the spooky Apple event replay. Feel like they got the timing right, not padded unnecessarily. And the MacBook Pro lineup makes sense again for the first time in years, with clear product differences and prices. 🎃
Got my car battery replaced. And in a ridiculously well-timed coincidence, just got an “our records indicate it’s time to get your battery checked” email from the Honda dealership. I don’t usually buy into the most extreme surveillance marketing conspiracy theories, but the timing is uncanny.
Even though we now share most code across iOS and Android, I wanted to keep the version numbers separate so that each platform can evolve as it needs to. Today we are bumping Micro.blog for Android to 2.0 because of a big addition: a system share action from other apps to Micro.blog.
Now when you’re in another Android app, you can start a new blog post or save a bookmark. Here are a few screenshots showing text selected in Chrome and then shared to Micro.blog to create a new post with the quoted text and URL.
Thanks as always to Vincent Ritter for developing this. Meanwhile I’ve also been tweaking things for iPad, so there will be another iOS release not too far off.
Looks like some great session topics at IndieWebCamp Nuremberg. I wasn’t organized enough to attend remotely because of the time zone difference… Catching up on the notes and chat now.
Back at the old house (still hasn’t sold) to mow the yard in between the rain. Mushrooms popping up.
Spurs win in OT. That was a good one. Can’t wait to see Wembanyama in person sometime this season. 🏀
We’ve just posted a new episode of Core Int. This week we talk about The Verge article on POSSE and the potential for AI in customer support email.
Watching the news at lunch. I want to blog about the war in Israel but it’s too divisive and terrible. Not interested in inviting a debate right now. Strong feelings mean everyone is quick to hit reply. I’m okay writing about American politics but this is much harder to get right in a short post.
Strongly agree with everything in @gruber’s post about pushing for gun legislation:
The aftermath of a massacre is the time to demand sane gun control measures. That’s when the issue is clarified.
There are already so many assault weapons out there, we won’t fully see the impact of new laws for years. Why are we okay with waiting even longer to start? Now is the time. It’s beyond frustrating to wait.
Biden should focus his 2024 campaign around banning assault weapons. Keep it simple, nothing else except guns and some basics about the economy. I think most people across parties are ready for it. 🇺🇸
Testing out SupportAgent.ai which uses AI to draft answers to support email. It is blowing my mind. However, human replies are always better, so not sure I can actually use it. Also, it replies to spam! 🤣 Here’s a screenshot to give an idea of how powerful it is but also how potentially wrong.
Spurs throw away the game in the last couple minutes but still a lot to like, despite the turnovers and foul trouble. Going to be a fun season. 🏀
I saw a couple Cybertrucks on the road today, in northeast Austin, presumably Tesla testing things out. Such a bizarre vehicle. I don’t get the appeal but I like that they tried something weird.
This one ended a little more quickly than I expected:
Our goal was to build a kinder, safer, public square. We grew from 6 users on the first day (Dec 9, 2022) to a community of 20k by October 2023. But we weren’t growing fast enough justify additional investment, and we also underestimated the number of new competitors with a similar vision who would enter the field.
I liked the name Pebble. From their about page:
From our early days as T2 to our evolution into Pebble, our ethos is consistent: creating an inviting space for genuine dialogue. The name “Pebble” signifies that even small interactions can leave profound impacts.
The company was founded as Twitter started to implode under Elon Musk’s leadership. The Pebble folks seemed to have good intentions and they started building a nice product, with maybe more polish than the usual Twitter competition.
But when I signed up several months ago it struck me that they had built another data silo without either a client API or integration with other platforms via ActivityPub. Without any changes to embrace the open web, Pebble was probably always going to fail, it was just a matter of when. This is a lesson we should have learned years ago, going back to App.net’s rise and fall.
In 2023, no one wants a centralized, closed microblogging service. We already have Mastodon, Micro.blog, Bluesky, and Nostr, and even Threads will be embracing a more open approach. This is also part of my criticism with Glass.
It also might be a story about the erratic success of VC-backed companies. Pebble received $1.1 million in funding earlier this year. That seems like a lot of money to me, but I guess it provides too short a runway for a company that needed to get very big before turning a profit. I believe the future is smaller, more open platforms, and that means we can’t lean on ad-supported models. That strategy has served us well with Micro.blog and blog hosting.
Most small businesses fail and most Twitter clones fail. It has always been this way. Hopefully we can learn from Pebble, and I wish the founders good luck on the next thing.
Watching the courtroom statement and apology from former Trump lawyer Jenna Ellis, on CNN video here. Some of these lawyers and supporters were caught up in something much bigger, lost their good judgement for a while. Contrast with Trump who will never admit he lied, will never apologize. 🇺🇸
David Pierce at The Verge: The poster’s guide to the internet of the future:
The idea is that you, the poster, should post on a website that you own. Not an app that can go away and take all your posts with it, not a platform with ever-shifting rules and algorithms. Your website.
The podcast episode in The Vergecast has even more quotes from me, Tantek Çelik, Cory Doctorow, Mike McCue, and Matt Mullenweg. I love how well this captures the foundation for POSSE and where the web is headed.
Planning another road trip for next month, here to Nevada, California, and points in between, then back through Utah. The key is having enough downtime so I can work and not be on the road all day. My notes just have dates, reservations, nearby coffee, things to see, driving time. Works for me. 🗺️
Finished reading: Shadows for Silence in the Forests of Hell by Brandon Sanderson. Hadn’t realized until I had finished The Sunlit Man that I had missed this Cosmere novella. 📚
The kids took all our Nintendo Switches to their own apartments. Seriously considering picking up a Lite to play the new Mario Wonder. 🕹️
Picked up Killers of the Flower Moon a few weeks ago and only now starting it. Got tickets for the movie next week so I have a little time to make a dent in the book, at least. 📚
Happy Friday! New @coreint podcast to wind down the week. Episode 573 covers Apple’s “video reactions” feature and what we can learn about rolling out a surprising feature. Then we jump back into Twitter/X news with the $1/year subscription announcement.
Thinking about Biden’s address to the country last night, he did something remarkable that I didn’t realize at first. After the Hamas attack, I assumed that any chance of peace had been set back decades. Biden steered me back from the cliff: no, we cannot give up on peace, even when it is hard. 🇺🇸
This post from @mia@void.rehab will ring true to anyone who has actually implemented an ActivityPub server. We talk about ActivityPub as if it’s a fully-formed spec, but it’s really a suite of specs, and trial and error. I’d love to see the specs streamlined without breaking compatibility.
Matt Mullenweg on the experience of riding in a self-driving taxi:
The thing is I know these self-driving cars exist, I’ve seen them around San Francisco forever, but the experience of being picked up and dropped off by a robot navigating the tricky SF hills and streets just hits different.
We have these in Austin now too. Seeing a car just driving down the street with no one in it is absolutely wild.
The last big upgrade for my Honda Element was to build a bed platform to use for car camping. I worked on this a little bit at a time over about a month. I was inspired by designs from other people, but ended up just sketching out something that I thought would work for me.
I wanted it to be exactly the size of a twin mattress. Also wanted enough space for storage underneath, but not so much that I would feel cramped with limited space from my head to the roof. I got a trifold, 4-inch mattress on Amazon. The platform itself would be in two sections, with one section folding down over the front seats when set up as a bed.
First building the basic structure:
Not pictured, later I ended up adding little metal braces everywhere for more support. Screws alone did not hold the legs in well. It was too wobbly and would even come disconnected. In hindsight, I might’ve been too worried about minimizing weight. I used pretty thin pieces of wood, mostly pine.
I sanded everything, stained it, and added hinges:
Testing it in the car, fully extended and folded up:
I plan to do another coat of polyurethane later. By the time I was ready to use it, I felt like it was really only about 90% done. You can also see some screws poking out from the hinges, which I covered up with several layers of tape after these photos were taken.
Here’s the final bed set up, plus a shot inside at night from camping at the Davis Mountains State Park:
Overall, very happy with my little micro camper. I learned a lot during the first trip and there are some obvious things to improve for next time. I’ve collected the posts in this series in a category on my blog here.
Looks like Georgia knew what they were doing with the 19-person indictment… One by one the defendants agree to tell the truth until only Trump and a handful of people are left for a trial? Sidney Powell pleads guilty, via CNN:
Fulton County prosecutors are recommending a sentence of six years probation. Powell will also be required to testify at future trials and write an apology letter to the citizens of Georgia.
Thought I had a good job for our robot overlords. I grabbed a list of language codes from Wikipedia, ran some regex on it to make it JSON, then asked ChatGPT to trim it to the most popular 50 languages in the world. No luck, the output was wrong and not usable. AI still has a ways to go.
Finished reading: Age of Swords by Michael J. Sullivan. Still enjoying this series. 📚
Wow, great game to wrap up the WNBA finals. Liberty so close to forcing a game 5. Congrats to the Aces! Becky Hammon building a heck of a coaching career so far in Vegas. 🏀
Didn’t take many photos while in west Texas. Here’s a random shot as I stopped for a minute driving back to I-10.
Need to remind myself when on an interview or podcast: I usually do okay the first 15 minutes, then get a bit worked up, talk too fast, and lose my train of thought. Especially when the AC is off and I start sweating. Argh, summer.
Reviewing the cross-posting chapter of my book, several things are out of date. I’m doing a final pass through the book, cutting a few sections. Would rather most of the book withstand the test of time but things change too quickly, calling it “done” has been hard.
Seeing some variety in reactions to Marc Andreessen’s techno-optimist manifesto. I read it quickly and haven’t thought enough to have a strong opinion, except that I don’t like how “enemy” is used. Technology’s role in society should be a conversation, not a war.
On the last Core Intuition, I joked about a hypothetical manton.ai… But then I sort of worried someone else would register it, so I decided to grab the domain myself. Whoops! Too many domains. Just made it a placeholder site hosted on Micro.blog.
Finished reading: The Sunlit Man by Brandon Sanderson. Listened to the whole audiobook on the drive to and from the Davis Mountains. Brandon giving us a taste of the Cosmere endgame! Loved it. 📚
Kottke.org is bringing back blog comments. Members-only, which seems like a nice solution. I think we’ll see more of this as the social web evolves away from silos.
It’s that time of year when my iTunes Match subscription renews and I don’t know what will happen if I cancel it. One day need to figure out how to find iTunes Match tracks that are not on streaming. Or do I even care anymore? Just throwing money into Apple’s services revenue pot.
Another upgrade I made to my car is to add the weBoost Drive Reach Overland antenna on top. It essentially takes whatever cell signal it can find and rebroadcasts it inside your car. The antenna can rise several feet over the top of the car, picking up distant signals that the iPhone’s built-in antenna can’t reach.
I knew I needed something like this after my trip to Colorado earlier this year. I still needed to work but I was sometimes without any cell coverage. Starlink would be great but it’s a pricey $150/month. The weBoost is just a one-time cost without an ongoing subscription.
I attached it to my roof rails, keeping it rotated so it’s parallel with the roof and turned off most of the time. It’s easy to flip it up when needed at a campsite. The wires are a little all over the place right now. I’m considering drilling a hole in the roof but not ready to make that leap yet.
It works as advertised. I first tested it in the city where I had 2 bars. I turned it on and right away had 4 bars. Out in the Davis Mountains, I had 0-1 bars and with the weBoost that jumped to a reliable 2 bars.
Of course, it’s not magic. If you are too far away from a cell tower, there’s nothing it can do. But I’m amazed by it. It’s a game-changer when you’re just a little too out in the middle of nowhere.
Drove out to west Texas today. Left late, felt like I was always chasing the sun, and it was dark before I got to the Davis Mountains. Forgot how amazing the stars are.
Just published a new Core Intuition episode about ActivityPub support in WordPress.com and its impact on Micro.blog, plus a discussion of Humane and the potential for new AI-based devices.
Watching Biden react to the chaos in the world, the narrative that he is “too old” just does not match reality. He’s competent and thoughtful. Meanwhile almost nothing Trump says makes any sense. Biden is doing the job of president and Trump is still on some kind of improv stand-up comedy tour. 🇺🇸
Basketball fans who don’t usually have a way to tune-in to Spurs games: Spurs/Heat on TNT tonight. Big change from the last few years when we had almost no national coverage. And it’s still just the preseason! 🏀
The updated vaccine floored me for a couple days. I was starting to wonder if it was worth it, but then I remembered that I haven’t been actually sick in three years. Knock on wood, feeling lucky about that. I used to get a cold or flu or something every year. 💉
The Morning Show does a great job of reinventing itself each season. I wasn’t sure after the first season if they could sustain it, keep it relevant, but here we are in season 3 and it still works. Last episode with the Paul Marks interview was really good. 📺
Great to see WordPress.com’s support for ActivityPub. Following WordPress blogs from Micro.blog looks good, although @-mentioning Micro.blog from within WordPress isn’t working for me. I’ve been testing and reviewing the code, will make any tweaks I can so everything is compatible.
Went to the HEB on Lake Austin Boulevard today to get the updated COVID vaccine. When I was growing up, this was a Safeway that they had literally built around a big tree rather than cut it down. But nothing lasts forever, and the site is unrecognizable now. There’s a great history of it here. 💉
A random shot from a few weeks ago, walking down Steck over Shoal Creek back to the Honda dealer, waiting for service. 🚙
Updated the Epilogue beta on TestFlight with a new feature for book cover management using your own Internet Archive / Open Library account. Still early. You can browse editions of books and upload new covers. Here’s a quick video demo:
We don’t get a lot of disputed charges in Micro.blog. Maybe once a year. But it’s especially frustrating when a potential spammer disputes a charge. Every dispute costs us a $15 fee, so now we’re effectively paying extra for someone to violate our guidelines.
It’s only preseason but great to see more of what Victor Wembanyama can do. Great first half, so much potential for this Spurs team. 🏀
Evan Prodromou had an important post a few days ago, arguing for backwards compatibility with future ActivityPub work and discouraging competing protocols. I found some things to agree with in his post, but I’m less certain that there is a single path forward. On Bluesky and others, Evan writes:
We get exponential growth based on having one protocol, not a half dozen. I think Blue Sky, Nostr, and others are a threat to ActivityPub breaking out and becoming ubiquitous. There can’t be multiple winners. I often reference Metcalfe’s Law in this regard; one big connected internetwork is much better than 3 or 4 disconnected ones.
Maybe. But the web has always been more muddled than that. We have multiple feed formats, like RSS, Atom, and JSON Feed, and it’s okay. We have multiple blog APIs, like MetaWeblog, AtomPub, and Micropub, and it’s okay. We have multiple social web notification mechanisms, like ActivityPub, WebSub, and Webmention, and it’s okay.
What makes it all work is that the web is the network. The fediverse is one aspect of that network. If we go too far elevating the fediverse as the only ubiquitous network, it risks disconnecting it from the blogosphere (!) and the rest of the web. Already I’d argue that some Mastodon decisions have isolated the platform, such as loading content via JavaScript so there are no longer basic HTML web pages for post permalinks.
ActivityPub is a huge success story. Yet there are still good ideas to pull from competing protocols. For example:
If we never let other protocols get off the ground, there would be fewer experiments to help push ActivityPub along. It’s also curious that with Mastodon so well established, Bluesky recently hit 1 million users as an invite-only beta. How? Answering that may help Mastodon and ActivityPub adoption too.
I’m the guest on the latest ShopTalk Show! Really enjoyed talking with Dave and Chris about blogging and social networks. We cover a bunch of Micro.blog features.
Wheel of Time season 2 had a few good moments, but overall it’s just too much to squeeze into 8 episodes. No time to develop the most important character because the writers can’t seem to decide who the show is about. Veering way off the books probably doesn’t help. 📺
Sad watching the coverage of war in Israel. Meanwhile in this country we don’t have a Speaker of the House for petty, incompetent reasons. Reminder to voters that we actually got a bunch accomplished the first two years of Biden’s presidency. 🇺🇸
Between trying to sell our house, moving to a new place, and keeping up with actual work, I’ve managed to squeeze in some time here and there to work on my car. I recently put new OEM cross bars on it and our old rooftop box. The Element’s roof has a really nice design that makes this easy, with bolt holes under a little plastic panel.
Here are some photos:
I’ve also finished building the bed platform that’ll go in the back to make the car a micro-camper. That’ll be the next blog post in this series.
Just posted Core Intuition episode 571. From the show notes:
Daniel and Manton discuss Apple’s latest round of in-person and online “Apple Experts” events, the Apple Vision Pro sessions and whether the NDAs allude to anything exciting, and Daniel’s shoulder injury and worrying about getting older and being stuck in our ways as the technological world changes.
I’m finding so many old things as I clean out boxes from the garage. WWDC 2001 bag was a nice find. I’ve donated most away. Here’s a sticker from WebEdge, a web conference I helped run in a former life.
Our old house hit the market today and the professional photos are kind of stunning. Looks like a nice place. Hope a new family enjoys it as much as we did. 🏡
Spotify will include 15 hours of audiobooks as part of paid subscriptions. This sounds great to switch over to listening when I get stalled reading a print book or e-book, if the audiobook isn’t available quickly on Libby. Not in the US yet, though.
It’s one of those mornings. Accidentally texted some Redis info and server logs to our realtor instead of @vincent. 🤪
We’ve had an hours-long outage at our hosting provider Linode, mostly affecting photos using the CDN. They have rolled out a fix and we’re hoping things get back to normal. You may want to disable the CDN for your blog under the Design page temporarily if you’re still seeing issues.
Dan Moren writes about a bizarre 12-hour iCloud meltdown on his account. Doesn’t seem like much has changed since 2016 when I blogged that iCloud is too opaque. I still prefer Dropbox for everything important.
Not sure I’ve ever been this busy, simultaneously moving and getting our old house ready to sell. Dozens and dozens of little things to do. I fell behind in almost everything else, slowly crawling back to writing code, editing podcasts, email, etc. Thanks for your patience if you were waiting on me.
I get that Democrats wouldn’t be thrilled to save McCarthy after… well, everything he’s done. I’m sure they know what they’re doing. Yet, this is all a waste of everyone’s time. Matt Gaetz running amuck, sowing chaos. Felt like this was an enemy of my enemy is my friend moment. 🇺🇸
“Open web” is redundant
I like IndieWeb because it emphasizes smaller, more distributed sites run by people, not big companies. But Dave is right. The default for the web is openness.
Nice post by Remy Sharp about intercepting broken links and redirecting them to the Internet Archive. Reminds me of the Micro.blog Premium feature (see video on YouTube) where we archive a copy of any web page you link to. I’d love to do more with this.
This is a cool look at old icons from Rogue Amoeba. Fission probably needs an update but overall it’s a really nice set. That bottle for Audio Hijack is still one of my favorites.
Losing my mind trying to get fetch or axios or superagent or anything in React Native to not follow redirects. About to give up and write my own Obj-C or Swift networking bridge.
If anyone has doubts about Threads supporting ActivityPub, listen to Mark Zuckerberg on Decoder. Some of what Mark says is almost IndieWeb-esq at times! I still believe Facebook has done a lot of harm to society, but they are clearly hoping to be more open with Threads and that’s a good thing.
We’ve updated Micro.blog for iOS to version 3.2.1 with some additional improvements. One change you’ll notice right away is that the formatting toolbar now has more traditional “b” for bold / “i” for italic buttons. In previous versions I thought that showing the Markdown syntax on the button titles would help educate people on how Micro.blog worked, but it just created more confusion. I like the simpler buttons.
For Micro.blog Premium subscribers, you’ll also see a new audio icon for attaching an MP3 (or any file) to a blog post.
Full release notes:
Enjoy!
A couple interesting bits in the letter about Epic Games layoffs: six months of severance pay, and Project Liberty continues:
We’ve been taking steps to reduce our legal expenses, but are continuing the fight against Apple and Google distribution monopolies and taxes, so the metaverse can thrive and bring opportunity to Epic and all other developers.
It has now been two years since Fortnite was banned from the App Store. The legal fight didn’t pan out, but I still believe side-loading is inevitable. Maybe next year when the EU’s Digital Markets Act goes into affect.
Our sleepy dog kept me company today during podcast recording. Lots of dog snoring, which may or may not be picked up on the microphone. Preferable to the usual barking, though. A quiet day with no package deliveries.
Why am I watching another Republican debate? It’s chaotic, awkward… Just kind of a mess. Maybe this should be like the State of the Union format so Biden gets a few minutes to respond at the end. 🇺🇸
Looking forward to macOS Sonoma, but decided to hold off with the install until next week, after we’ve shipped Micro.blog 3.2.1 for iOS. Don’t want to risk any last-minute Xcode build problems.
For day 26 of the photo challenge: beverage. My go-to coffee when at home, cold brew with oat milk. Getting started for the day with Micro.blog timeline catch-up and code pull requests. ☕️
When we first added ActivityPub support to Micro.blog years ago, I used the phrase “Mastodon-compatible” because I was worried that “ActivityPub” would be confusing for normal people. It now seems time to adopt “fediverse” as a term throughout our UI instead. Curious how Threads will handle this.
Skimming through more of this interview with me that was posted yesterday, really happy with how it turned out! Except the part in the middle where I forget @vincent’s name and you can see my brain turn to mush in realtime. We’re just human here at Micro.blog HQ. 🙂
With the writers strike ending, wonder how soon we can expect a return of SNL. No need to film anything in advance and I’m imagining all these comedians have a backlog of ideas.
Fun to see this new take on a Micro.blog client from @heyloura. It’s a great example of using the API to build a different user experience that can prioritize different aspects of navigation and features.
I love reading the perspective of people who have moved from their own Mastodon server to using Micro.blog hosting, like this post from @rachsmith. Thanks! There’s still more we could do to make this integration better.
There’s a new video interview with me up on YouTube. Thanks @numericcitizen for talking to me! We cover a lot about Micro.blog, thoughts about social networks, travel, hosting beyond someone’s lifetime, user experience, and what might be coming to Micro.blog in the future.
On the latest Core Intuition we talk about whether to order new Apple products, gripes about managing online payments for phones, and the macOS Sonoma upgrade from a dev perspective.
It’s a special photo challenge for day 23: a day in the life. This is me testing my camera this morning before being interviewed by @numericcitizen.
I’ve got a bunch of Bluesky invite codes. I’m just gonna put them in this Gist if anyone wants to grab one. I’ll update the list as I can, but you might need to try a different code if one is already taken. (I check in on Bluesky occasionally and let M.b send most of my posts over there.)
I’ve been ordering a lot of little things from Amazon lately as I try to turn my car into a micro-camper. Amazon has let way too many sponsored search results clutter up the buying experience. It’s going to hurt them long term if they don’t clean it up.
Love what Patrick Rhone is doing with this new blog For You. From yesterday’s post:
When you ask for help, you are not admitting failure or lack of ability to solve the problem. To the contrary, you are using your ability to bring further resources to bear.
Finished reading: Cloud Cuckoo Land by Anthony Doerr. Takes a little while to get there but love when all the threads start to come together. Wonderful. 📚
Ran through my Micro.blog demo at FediForum pretty quickly because I wanted to stay under the 5-minute goal, but also because my dog has been barking all morning. Can’t believe he was quiet for the whole demo.
I often tune into the news while eating breakfast. Impressed with Airbnb co-founder Brian Chesky on CNN this morning. He always seems more grounded and human than most CEOs.
I’ll be joining FediForum today. It starts in about half an hour. Mostly will lurk today, but looking forward to hearing what people are working on and what to solve next in the fediverse. Then tomorrow I’ll show off a little of Micro.blog.
I don’t usually look at Wordle stats. I solve the puzzles for fun and to wake my brain up a little, doesn’t matter if I get it in 2 tries or 6. But apparently I’ve played 543 times… Not sure I’ve played any game that many times before.
Today’s photo challenge word is “edge”… The retaining wall in our yard is currently being destroyed and rebuilt. Gotta make things nice for new potential buyers. 🏡
The second FediForum is this Wednesday and Thursday! Two half days. I’ll be doing a quick demo of how Micro.blog fits in with the fediverse, including recent Pixelfed integration.
Got my signed copy of Sword of Kaigen from the Kickstarter. The hardcover turned out great. 📚
Huge downpour as I was leaving HEB. I guess my life is boring, because running through the rain with my groceries, getting drenched, is the most alive I’ve felt in a while. Woohoo! We needed all of this rain. 🌧️
We “lost” an episode of Core Intuition because of audio quality problems, so we decided to post an edited transcript as a bonus for members. I’d like to make it public later, but for now you can get a link in the members channel on our Slack. See the membership page for more info.
Thanks to Hunter Biden for taking one for the team on the gun charges. Maybe the GOP will get serious about gun legislation and we can ban assault weapons next? (Sigh.) 🇺🇸
Skipping the iPhone 15 this year, my 14 Pro is still in perfect condition. No case, no scratches. I do envy USB-C upgraders, though.
Updated to iOS 17. No problems, seems like a good upgrade. I think it fixed the web view refresh flicker problems we’ve been having in the Micro.blog app.
I’ve just loosely been following the Pennsylvania inmate’s escape and now capture. Wild story. Kudos to law enforcement for capturing him without firing a shot, and no one injured.
iPhone 15 Pro action button is interesting. I wouldn’t mind a rethink of the volume and power buttons too. I still accidentally take screenshots or otherwise fumble with the buttons.
I enjoyed the Mother Nature video at the Apple event. Usually these videos seem overdone and unnecessary, but this was actually a fun format to list the same somewhat dense environmental facts. On the other hand, we’re 30 minutes in and no products I’m particularly interested in.
Took the new-to-me Honda Element in to get checked out and the cost for a bunch of random fixes is a little mind-boggling. It’s got 127k miles and I thought maybe I could push it to 250k… Now I’m starting to doubt. 💰
Over the weekend while I was working on my Letters from Europe page, I integrated footnotes using the Barefoot library. Completely forgot that @jsonbecker had already created a Bigfoot.js plug-in for Micro.blog. Anyway, now there are more plug-in options for footnotes!
24 years ago, Traci and I went to Europe with a rail pass and hardly any money or plans. We worked remotely: her as a contractor for Apple and me at a small Mac dev shop. Last week I rediscovered some emails and postcards we sent while traveling and I decided to put them together as a web page.
When the threads-api project was announced, it was so tempting to use it but I knew it would be too fragile relying on undocumented APIs. Sure enough, Meta has sent them a cease and desist letter and the project is now shut down. Trust in ad-based platforms will always get you burned.
The capitol and downtown buildings over yonder, reflecting in the windows. Eighth day of the Micro.blog photo challenge.
A couple people have read between the lines of my recent posts and wondered what is going on with my life. Short answer: we are selling our house of 17 16 years in northwest Austin and renting a place closer into town. Downsizing is hard. Feels like the right time for a major change. 🏡
App Store Connect is barely holding on today. Errors and more errors. Apparently this is the day I complain about other people’s software while I try to fix my own.
Starting to get the new Slack redesign in one of my workspaces but not others. I’m fine with the UI changes, but it’s jarring the way they roll these out so they don’t apply everywhere in the app.
Fascinating fallout happening in the JavaScript vs. TypeScript debate. In my experience, changing a language rarely brings the productivity gains you were hoping for.
More good advice from Manuel Moreale:
Please, for the love of all things web-related, if you decide to do anything online, get yourself a domain name.
We try to make this easy in Micro.blog, but it should be even easier. I’d like to spend some more time on it this year, so that transferring or configuring custom domains is effortless.
To follow up on some of the replies I’m getting about my hard drive, my philosophy is that nearly everything should be in one place. Less chance you will lose something important. Backups are simpler. Work anywhere. Same goes for what I post on the web: everything is on my blog.
Another new Micro.blog 3.2 beta is out for TestFlight. @vincent is tweaking the tags design and it’s looking really nice. I think we can probably ship this to everyone next week. And it’s a great time to try bookmarks and tagging in Micro.blog Premium if you haven’t upgraded yet.
Apple’s sending emails about getting apps ready for the Vision Pro App Store. Folks in the Apple dev community won’t like this, but I think Vision Pro will be a bust in the short term. Only develop for it for fun, not for a market. I’ll revisit it in 10 years when the tech catches up to the dream.
Can’t even calculate the number of hours and probably days I’ve lost because I cheapened out when I bought my MacBook Pro with too small of a hard drive. Still really like this computer (16-inch Intel) and don’t want the hassle of upgrading it just for more space.
We’re ramping up the TestFlight betas again for Micro.blog 3.2 with bookmark tags. The UI is still evolving. We’ll iterate quickly from here and get the final release out pretty soon.
Manuel Moreale follows up with some thoughts after interviewing me for his People and Blogs series:
That’s one of the main advantages of owning your place on the web: you can bend it and shape it to do exactly what you need it to do.
I love even the small tweaks we can make to our own sites. Having control over your site helps it fit your words and photos in a way that just isn’t possible when plugging content into the cookie-cutter mainstream social media platforms.
So many things are happening right now. Car, house, work. Change starts slowly but once momentum hits, it’s kind of unstoppable.
Love this new bookstore + coffee shop in Austin, First Light Books. Lots of thoughtful touches like the laptop-free book nooks for reading.
The photo challenge grid for Micro.blog is so cool right now. Lots of green for today (“forest”) and orange for yesterday (actually “orange”). Thanks everyone who is participating!
For technical folks who are interested in the plumbing of the social web, @snarfed has a great feature grid that compares IndieWeb, ActivityPub, Bluesky, and Nostr.
Found some old postcards and emails we sent from Europe in 1999 and they are absolute gold. May try to put some of them online as an archive if I get permission from @traci. Here’s a highlight from traveling before wi-fi existed:
We won’t be connecting the PowerBook to the Internet again until we get to the next city, probably, but we should be checking email the rest of the week anyway. There’s a restaurant here that gives free Internet access when you order a dinner, which should be nice if it’s true.
Nice blog post from Allen Pike about link formatting. I’d add that overthinking SEO is a good way to lose your way. Design links for readers and the rest will take care of itself.
After owning a house for 20+ years, submitting a rental application is a nerve-racking process. Don’t usually have this kind of fear of denial.
Manuel Moreale has started a new People and Blogs series where he interviews people about their blogs. The post with me just went live today. I love this idea and look forward to future posts in the series.
This is how Amazon always wins… I want to pick up an organizing storage-type thing and think IKEA would be perfect. But it’s a bit of a drive, so I check Target and they have basically the same thing. But then I realize Amazon also has something similar that can be here tomorrow for zero effort.
It’s just about time for the September photo challenge! Got any ideas for prompt words to inspire each day’s photos? Jean has the details here and her email address to send them to. We’ll pick a random word each day and collect everyone’s photos together.
The third-party Mastodon web app Phanpy has a conversation view that reminds me a lot of Tweetie on iPad. The multi-pane layout in that app never really caught on, but I always thought it was a nice use of space.
Sarah Gooding, writing at WP Tavern about Automattic’s 100-year plan:
What resources will a URL (Uniform Resource Locator) point to 50 years from now? Or will URLs be discarded into the scrap pile of obsolete building blocks as soon as there’s a better, more efficient way to identify web addresses?
I think URLs and HTTP are here to stay. The web is over 30 years old and the basic foundation is strong.
There’s a new episode of Core Intuition out. We talk about Daniel shipping a beta of MarsEdit with Mastodon support, the value of feedback from customers, upcoming plans, microblogging and social network differences, and how sometimes we have to cut features to ship.
There are a bunch of things I want to add to my Honda Element to make it my own. I just finished the first upgrade: CarPlay. I didn’t really know what I was doing but somehow stumbled through it. It is a huge improvement compared to the 15-year-old factory radio.
Documentation online is a little inconsistent for this kind of upgrade. I wasn’t totally sure if the parts were correct until they arrived. In the end I used these:
If you are reading this in the future to upgrade your own car, note that I have a 2008 Honda Element SC. I don’t know if these parts would work perfectly with earlier or later models, or the EX or LX trims.
First step, disconnect the negative on the battery. Finding the right socket wrench in our garage took nearly as long as anything else.
With a little plastic removal tool, I popped up the faceplate around the radio. After that it’s easy to unscrew the old unit and take it out.
I stripped the wires on the new Sony unit and connected them to the appropriate wires on the Metra wiring harness. I didn’t have any fancy wire connectors so just threaded them together, twisted them, and wrapped in electrical tape. I went very slowly and think it turned out fine.
Finally, all that was left was to install the unit. I screwed everything in and popped on the new plastic covering. Some of the original wires from the car weren’t used so they are just dangling hidden inside. Hopefully they weren’t too important!
I also fed the microphone wire down to the floor so it can attach on the dashboard or behind the steering wheel. Haven’t totally figured out the best place for it yet.
Very happy with this upgrade overall. I probably should’ve had a professional do it, but I learned a lot. My car feels like it belongs in this decade now.
The music video for Used To Be Young by Miley Cyrus really struck me. Simple. Powerful. 🎵
Restaurants usually wrap a fork, spoon, and knife in a napkin. I got three knives instead! Someone in the kitchen is laughing. Keep it weird, Kerbey Lane.
And to follow up on this, there’s a little known policy for Micro.blog hosting: when you have a paid subscription, we continue to host your blog forever even after you cancel and stop paying. Good URLs don’t change and don’t go away, unless you want them to.
I love this idea: WordPress.com’s 100-year plan. But at $38k, it’s too expensive for most people. I’ve been planning something similar as a complement to Micro.blog, but from a completely different angle.
Looked through my old Clipstart source code for the first time in years, to answer a rare support question. Probably should’ve open-sourced the app. Everything broke when Apple abandoned QuickTime.
Heck of a mugshot, Trump. It feels like an angry, fitting reflection of that line from his inauguration speech: “This American carnage stops right here and stops right now.” 🇺🇸
Funny how different I drive depending on the car. In the Subaru Outback, adaptive cruise control on and let the car steer itself. In my son’s manual transmission Honda Civic, kind of recklessly like I’m street racing. And in the Honda Element, in the slow lane as if I have all the time in the world.
Made a sort of impulsive purchase of a used car: 2008 Honda Element SC, for a mini camper. Full details, photos, build, and more to follow in a longer blog post when I have it in my hands and set up. “It doesn’t make any sense. That’s why I trust it."
Jean just announced our next Micro.blog photo challenge! Starts September 1st.
Two years ago this week, Glass launched for iPhone. I had subscribed right away because I wanted to support their work and saw potential in it, even if I will always default to posting photos to my own blog first. Since then, Glass has added an Android version and a web version, along with other improvements like tags and appreciations.
Not long after Glass launched, we added special support in the Micro.blog iOS app for it. You can see a video of how it works in my blog post here. Unfortunately in the rewrite for Micro.blog 3.0, we had to temporarily remove the feature, although it’s slated to come back in version 3.3.
In that post about supporting Glass in 2021, I wrote:
Glass is so new that it remains to be seen where the app will go, and how it might expand in the future. It shares some of the same principles as Micro.blog — no ads, no algorithms, no likes — but Glass lacks important open web features like domain names and IndieWeb APIs.
Glass still lacks those features for the open web. After a couple years, if having an open API was at all on the radar, it probably would have happened by now in some form. The founders seem more interested in creating an Instagram alternative — another silo without an API or federation with other networks. And in 2023, I don’t think that works.
There is now mainstream pushback against big centralized platforms. We have Micro.blog and Mastodon. We have free photo platforms like Pixelfed. It is a harder sell for customers to spend $5/month for a photo service that is mostly disconnected from the rest of the social web.
I was thinking about Glass while looking into their export format, in case we wanted to support importing it into Micro.blog. I don’t plan to cancel my subscription, but I would not be surprised if many Glass customers have slipped away. The latest big announcement from Glass — an optional $99/year Patron membership — is geared toward increasing revenue from existing customers rather than growing the customer base.
We’ve been running Micro.blog for 6 years. I know how hard it is to balance marketing to new subscribers, keeping churn down, and offering new features regularly, including upgrades to higher subscription tiers. We barely have it figured out now and we were certainly a long way off after only 2 years. The default for SaaS platforms is the slow ramp of death.
There are effectively no success stories for Glass’s current business model. Small clones of Instagram and Twitter usually fail. To break out, there has to be something fundamentally different. For Micro.blog, the answer is simple: we are a social network but our business is blog hosting, a proven model. For Glass, the answer is less clear: they care deeply about photography, community, and design. I think the founders deserve a lot of credit for creating something beautiful. Is that enough?
I don’t know what the right model is for Glass, but I’m confident that it should include a strong foundation for open web standards. I hope that can be part of their vision. It might even be critical to the future success of the service.
Discovered the Snow Peak brand of camping-related products this week… Love the design. I didn’t know I needed $50 chopsticks for camping, but now I want them! Seriously though, some amazing stuff here. Camp stove with modular kitchen setup looks great.
August is halfway over? Summer must be slowly winding down. Last chance to get our special Summer of Blogging $1/month blog hosting. A great value that includes all the standard features that are built into Micro.blog, like full blogs, photos, book blogging, and cross-posting to 8 platforms. ☀️
This year I’ve fallen behind in email again. Very sorry to Micro.blog folks who have waited patiently too long for an answer. Attempting to dig out by replying to all emails from today and also some of the oldest emails, each day until caught up.
NBA in-season tournament dates announced. It’s a little odd to me how it’s spread out over so many weeks, but I’m still excited about it. Should make all of those games much more interesting. 🏀
Stayed up late watching the Georgia indictment details get revealed. Incredible to see the conspiracy outlined so thoroughly even though it was expected. There was also an excellent interview with Hillary Clinton on MSNBC. Trump will not be president again. No way. 🇺🇸
I recorded a video walk-through of Epilogue today and posted it here. Shows off the basics of tracking books you’re reading, and also a few not-so-obvious features.
It has been a great summer for movies. We’ve wrapped up seeing most of the “big” movies, so here’s a mini review of each.
Spider-Man: Across the Spider-Verse. I love the art style in these movies. When the big animation studios moved from 2D to 3D, we lost some of what made hand-drawn animation so beautiful. Getting a little bit of that back now.
Mission: Impossible 7. So much fun. The driving off the cliff scene might’ve been a little over-hyped leading up to the movie. Super dangerous but I think scaling the skyscraper (in 4) and hanging on to the side of a cargo plane (in 5) were both more stunning. Still, some great action.
Barbie. Really enjoyed this. It’s the kind of movie that you wouldn’t think would work. In the hands of a less-capable director, could’ve walked the line poorly between bad and brilliant. Still listening to What Was I Made For? by Billie Eilish.
TMNT: Mutant Mayhem. Pushing the boundaries of 3D animation again like the Spider-Verse movies. I remember reading my friend’s original black and white TMNT comics back in the day, but the new movie doesn’t require any previous knowledge to enjoy it.
Oppenheimer. Possibly a masterpiece. I was expecting great visuals, which is why we waited to see it on 70mm IMAX, but the pacing and acting and everything else also blew me away. Lots to think about afterwards. The best movie I’ve seen in years.
Packing up some old books. I’m trying not to look at everything, but every once in a while there is something priceless tucked away in a book that I had forgotten about, sometimes decades old. An old letter, postcard, or sketch.
I added a tags window in the latest Mac app for Micro.blog. Makes it easy to filter your bookmarks to a tag from the keyboard. Hit command-shift-T, type part of the tag, then the return key to focus the list, and return again to navigate to the tag. (Tags are for Micro.blog Premium.)
I enjoyed the conversation on the latest ATP about text editors. Lots of deservedly good praise for BBEdit. I’m sure the hosts have gotten feedback about this already from listeners, but surprised there was no mention of Panic’s Nova.
Feels like a good time to give an update on what text editors I’m using these days.
Xcode: This is obviously still the only reasonable way to go for Mac development. In the last few weeks I’ve shipped some updates to Micro.blog for macOS. Always fun to fire up Xcode, hammer out a feature, and ship it without much fuss. A couple things seem slower than they used to be, like debugging and auto-complete, but otherwise no complaints.
Nova: This is my go-to text editor for web projects now. Ruby for the Micro.blog web platform, JavaScript for the React Native app. Nova is arguably the most modern, native Mac text editor, and regularly updated. Lots of depth and I haven’t even scratched the surface with extensions.
Ulysses: This is essentially my note-taking app. I sync to a Dropbox folder with thousands of little text files. I prefer Dropbox instead of iCloud so I can edit more easily in any app, with backups and restoring old versions. I put draft blog posts here, notes about projects, upcoming trips, and anything that isn’t code-related.
BBEdit: This is for everything else. Looking at JSON and XML. Processing large text files, find-and-replace, grep. As a quick scratchpad for code or notes that I’m going to throw away. I haven’t totally customized it like John Siracusa, but I do have a couple shortcuts and scripts that I depend on. Rock-solid app that has withstood the test of time.
Austin this morning from the train station. Unfortunately just a drop-off, not going anywhere myself.
Whenever I create a new file in Xcode and choose Objective-C as the language, I laugh a little. Am I creating more technical debt or am I saving countless hours of time not dealing with the sharp edges of half-baked new tech? Zig when they zag.
Just posted this week’s episode of Core Intuition: Homemade Granola. Not actually about food. We talk through my frustration with Apple-only development, Apple’s power over distribution, and where the Vision Pro sits on the spectrum of open to closed Apple platforms.
Back to cool air after our upstairs A/C went out for a day. Something usually breaks every summer, and the heat has been especially ridiculous in Texas this year. Very thankful for a quick repair, less than 24 hours. ☀️
Did some testing this morning with Goodreads and it’s slow and clunky. Timeouts. Really happy with how much we’ve streamlined Micro.blog’s bookshelves so they are fast. Paraphrasing a Jason Fried quote: we can’t predict the future of technology, except that no one is going to want apps to be slower.
Spent the afternoon polishing up the next Android release of Epilogue and submitting it to Google. Because I don’t use Android often, I don’t have a great sense of what UI feels right. Things like swipe-to-delete are very inconsistent across apps. New version is definitely better, though.
Congrats to Casey Liss on shipping Callsheet. I’ve been using the beta. Great app for quickly looking up someone from a movie or TV show while on the couch. This will replace IMDb for most people… It’s just a better experience.
Great article by Christina Warren on the history of the App Store and why we’re due for some kind of change, likely helped along by the EU’s Digital Markers Act. Apple taking a cut of all developer revenue is not sustainable forever.
Interesting news on GitHub for Mastodon search, noticed via @darnell@one.darnell.one. Full-text post search is coming, will be opt-in. Discoverability and search is a frequent topic on Micro.blog so I’ll be following this closely.
I’ve gotten out of the habit of posting to Threads. I like the foundation Meta has built with Threads and expect it to be successful, but I’m going to scale back my use until ActivityPub is ready. Most of what I write (including this!) needs to start on my blog.
Fixing bugs and submitting apps to App Review this morning. As a long-time Apple developer going back to the 1990s, I now spend most of my time on web and cross-platform technologies. I’ll always love the Mac, but what a trap the Apple-only development rabbit hole is. Apple is too big and dominant.
Today we added Pixelfed cross-posting to Micro.blog. This joins our existing set of cross-posting services like Mastodon, Tumblr, Flickr, Bluesky, Nostr, and others.
Now you can post photos to your own blog, at your own domain name where you control your identity, and have Micro.blog send a copy elsewhere automatically. When posting, you can optionally select which services you want to include:
Because Micro.blog has built-in support for ActivityPub, your friends on Mastodon can also follow your blog directly without you needing to copy anything, or without you needing an account on any other platforms. There’s a lot of flexibility in how you want to configure this and which services you want to use. Some people even like to create a separate microblog just for photos.
As with all Micro.blog features, we’re looking forward to hearing how people use this. Photos are special, and there’s always more we want to do with them. We’ll continue to tweak the Pixelfed cross-posting based on feedback. Enjoy!
Snapped this photo while we were making a u-turn in Dallas the other day. Took my daughters here 14 years ago for lunch with their dolls. 🥲
I’ve driven by this tower a bunch of times on I-35 and was always curious about it. Turns out it’s an experiment in wireless energy transmission, built in 2017. A century after Nikola Tesla, fascinating that folks are working on this again.
We added a new about page with a little more about what Micro.blog is and what our values are.
I’m still waiting to see how DMs evolve in the fediverse before deciding what to do with Micro.blog, but one thing I’m sure of: we’re not going to have messaging that isn’t encrypted. Private replies to Mastodon users (which works now) will remain as a legacy feature, mostly hidden away.
Interesting what @dansup@mastodon.social is up to with a new messaging app called Sup. Early video demo is here. Sounds like it uses Mastodon to connect with users, but Signal protocol instead of ActivityPub for messaging. Meanwhile I still like Nostr’s approach to encrypted DMs.
Frustrated with Dropbox ever since Apple required these sync apps to move to a new official API. Dropbox was rock solid, always working. Now I see frequent Finder errors or refusal to move files around. I know, “security”, but from sandboxing to this, not convinced locking down macOS actually helps.
For folks who have been using Micro.blog bookmarks… First of all, thanks! I’m curious: do we need a workflow for tracking “unread” or “read” articles? I’ve been wondering if we could do something clever so you could “tag” an article as read, maybe with an emoji or special tag.
Empty apartment with built-in bookshelves, just one potential future. We’ve been thinking about downsizing ever since all the kids moved out. Change is hard, though.
Finished reading: Age of Myth by Michael J. Sullivan. This was great. Really well paced, seems like a perfect setup for the series. First of six books. 📚
Writing some new web page text and maybe it’s early in the morning or maybe I watched too much of the news already today, but when I tried to type “independent” I misspelled it and it auto-corrected to “indictment”. 🇺🇸
Wasn’t expecting this kind of profound wisdom from the apartment sales guy today: “The world is too big to stay in one place.”
If you’ve been fascinated with the Worldcoin Orb, but not sure how to feel about it, check out Molly White’s comprehensive write-up:
Having my eyeballs scanned by a shiny chrome orb so I can someday receive cryptocurrency disbursements because artificial intelligence has stolen my job sounds like something from the pages of a half-baked sci-fi novel. It also sounds like the kind of operation that venture capitalists would value at over a billion dollars.
Over the last couple years, I’ve gone from mostly reading books on a Kindle (Paperwhite), to only on the iPad Mini, and now back to the Kindle (basic 6-inch). Actually prefer the smallest screen.
Recorded another very short screencast to show the latest Micro.blog for macOS update. Less than a minute long. It’s here on YouTube.
Didn’t realize how exhausted I was toward the end of the week. Yesterday shipped new features, then took a nap after dinner, then read, then had a full night’s sleep. Up early and worked on the Mac app, shipping the 3.0.1 bug fix update. Feel back on schedule now.
Today we are shipping a new feature for Micro.blog Premium subscribers: bookmark tags. This is a big improvement for using bookmarks, and it touches several parts of the platform and apps.
There is updated documentation for bookmarks with new screenshots. There is a new version of the Mac app: version 3.0, with not just bookmark tagging but also a new interface for seeing recent highlights.
Wait, highlights? Yes, a little-known feature in Micro.blog Premium is that you can bookmark anything, not just short microblog posts. When you bookmark web pages, Micro.blog downloads a copy of the text so you can read the web page later without all the clutter. In this reading mode, you can select text and save highlights to your Micro.blog account, making it easier to find passages of important text or blog about them later.
I recorded a screencast video here on YouTube with a demo of bookmarks and highlights. It’s 8 minutes long. 📺
We’ve been thinking a lot about how to improve bookmarks. One seeming disconnect is that your hosted blog uses categories, not tags. This was deliberate: categories are generally simpler and more obvious as a navigation aid on your blog for readers. In other words, categories were chosen as an optimization for your readers, and deciding to only have categories and not tags keeps the interface in Micro.blog streamlined.
You’ll need different tools to organize bookmarks, and you may eventually have thousands or tens of thousands of bookmarks. Micro.blog imports existing bookmarks and tags from Instapaper, Pocket, and Pinboard. The ad-hoc nature of tags is more flexible and optimized for quickly adding bookmarks, compared to blog posts where you may want to put a little more thought into where readers expect a blog post to live within a shorter list of categories.
We’ll continue to improve bookmarks as we hear from folks who are consolidating their data to Micro.blog. I expect there will be feedback about different workflows people are used to.
A note on pricing. Micro.blog Premium is our $10/month subscription, with the bookmark features plus podcast hosting, video hosting, and email newsletters. While nearly every other service in the world has increased their prices in the last few years, Micro.blog’s base subscription remains at $5/month. We can do this because we have customers who have upgraded to the optional $10 plan.
If you’ve been wondering about Micro.blog Premium, I hope these new features give you a reason to check it out. You can upgrade or downgrade whenever you want. We never delete your data when downgrading, so it’s always there if you want to come back to it.
Happy bookmarking! 🏷️
At this point I just laugh when Xcode tells me WebView has been deprecated since macOS 10.14. I know! I could set aside a week to rewrite code that works, or wait until it’s removed from macOS, which I’m skeptical will ever happen. (Haven’t updated to Sonoma yet, though…)
Finished reading: Dungeons & Dragons: The Druid’s Call by E. K. Johnston. I think I was drawn to these prequels because of the fond memories I have of reading Dragonlance back in the day. 📚
This time we got him! 😜 New surprise indictment:
According to the court filing, Trump employees attempted to delete security footage at the Florida resort and one said “the boss” wanted a server deleted.
🇺🇸
This week’s episode of Core Intuition is up! We talk about X.
Going to bump to version 3.0 for the update to Micro.blog for macOS tomorrow. I think it’s warranted with the new bookmarks stuff, but also because the last version was 2.9.1 and I don’t believe in .10 versions. (It’s hard to explain… Somewhere in the Core Intuition back catalog we talk about this.)
Listening to What Was I Made For?, by Billie Eilish. Went to see Barbie a couple days ago and still thinking about it a little. Really good. 🎶
Threads appears to count every character in a URL as part of the 500 characters. A little surprising because I’m used to either Micro.blog (with inline links so no URL counts) or Twitter and Mastodon (with all URLs counting as a fixed size).
Micro.blog doesn’t have full search or hashtags by design, and I know it can be frustrating sometimes. I hear it. But this report on child abuse material across Mastodon instances is part of why:
During its search, the team found 554 pieces of content that matched hashtags or keywords often used by child sexual abuse groups online
Until moderation and automatic flagging can be deployed at scale, it’s better to go slowly.
Dave Winer posted a 12-minute audio recording on his blog, addressed to me but applicable to everyone who is creating tools for the social web. Listening to it, I have a bunch of thoughts. In this post, I just want to start with server-to-server ActivityPub, and leave some of the other technologies Dave brings up for later.
A few days ago I was revisiting the ActivityPub code in Micro.blog because we have some interoperability problems with Calckey, now called Firefish. Firefish is a Mastodon-like platform with a few unique design twists and features. To narrow down where things were going wrong, I read through the ActivityPub spec again and also looked at JSON responses from other platforms like Mastodon and Bridgy Fed.
To frame this blog post I’ll put forward this question, at the heart of interoperability on the fediverse:
Is it possible to implement a social web platform by reading the suite of ActivityPub specs, and have that new platform be compatible with Mastodon?
I would argue no, it is not possible. A new project would only be compatible with Mastodon by accident because there are some things that are not spelled out in precise detail in the specifications, and no JSON examples that exactly match what any server sends or expects. The specs have all the pieces, but not how to fit those pieces together.
In addition to the specs, Mastodon’s own documentation is very good, and it has improved even in the last year. But again, if you ask a developer to implement ActivityPub, they will naturally start at the W3C.
I hope this doesn’t sound overly critical. The fact is, ActivityPub is complicated, and by design this kind of architecture can only be simplified so much. A lot of great work came out of the W3C’s Social Web Working Group, including IndieWeb standards, and I don’t think the authors had enough time to get consensus on some parts of ActivityPub before publishing, nor could they predict everything a platform like Mastodon or Micro.blog might need. Recently, Evan Prodromou has been leading the effort to address GitHub issues and move things forward.
I said “suite” of ActivityPub specs above because ActivityPub is not really one thing. There’s the ActivityPub spec itself, but also ActivityStreams, HTTP Signatures, WebFinger, JSON-LD, and the working group note on authentication.
And there are other features, such as account migration between instances, that are not documented outside of Mastodon. This is why the IndieWeb principles warn of monoculture. We are lucky that Mastodon cares deeply about the open web, because other dominant platforms might have less incentive to make their extensions work outside their own ecosystem.
The current fediverse is impressive. It’s further along than most people would’ve guessed possible a few years ago, largely thanks to Mastodon’s polish and Twitter’s implosion. The next step should be getting to the point where the answer to my question above can be “yes”. How can new developers add support for ActivityPub without feeling like they are reverse-engineering every existing server?
We don’t necessarily need a new spec, although it would be helpful to have a single document that ties everything together — a guide that a developer could use to build something and be confident that it has a chance of being compatible with other platforms. I also think we should consider further simplification, such as making JSON-LD optional (!) and drafting a streamlined version of ActivityStreams with only the bare minimum object types that most servers need.
There is a lot of work to do, even outside of ActivityPub. As Dave mentions, we also need a common posting API. The most popular Mastodon client apps do not support either ActivityPub or Micropub. But a lot of progress can be made focusing on interoperability for the server-to-server part of the API. That should be the top priority with Threads set to join the fediverse.
Working on a new Mac feature that would be nice with SwiftUI, but we still run back to macOS 10.14 Mojave. Would have to jump forward several versions of macOS. Not worth it. Do plan to bump up the requirements a little, though.
Got my copy of Yumi and the Nightmare Painter in the mail today. I continue to be amazed at how great these print editions look. My favorite so far. 📚
Interesting that for single-letter .com domains, only q, x, and z are in use. They were registered before ICANN reserved the rest of the letters in 1993. I typed a through z in manually but could’ve saved time by reading the history on this Wikipedia page.
I’m still a little stunned that Elon followed through on x.com, even though it was expected. It’s remarkable how he both fixed the last decade of indecisive leadership at Twitter and used that new power to destroy the brand, maybe the one thing at Twitter that wasn’t broken.
The second FediForum has been announced, coming up in September. I really enjoyed the discussions at the last event and plan to attend this next one. They also have the video for the quick demo I did of Micro.blog and how it interacts with Mastodon.
Occasionally I go looking for new domains and I’m always annoyed with all the new TLDs that Amazon has reserved that they don’t allow anyone else to use: .book, .read, .like, and others. They’ve been sitting on these for years. It’s like domain squatting at a massive scale.
Spent a few hours yesterday trying to get Micro.blog to work better with Calckey (now Firefish). Made progress but not enough. ActivityPub remains extremely difficult to debug without reading the source code for other projects.
Finished reading: The Ember Blade by Chris Wooding. Read the first half of this a few months ago and then took a break before picking it up again. Really gets going in the second half. Excellent. 📚
A new episode of Core Intuition is out. We talk about Apple’s threat to withhold iMessage from the UK, what is acceptable for public surveillance, and the larger issue of powerful tech companies leveraging their size for good and bad.
Dusted off the old Drobo, which hasn’t been plugged in for a year. A little surprised it still seems to work. Don’t feel great about investing in a dead product, but might get another drive to put in it anyway.
Thinking about ActivityPub made me wonder what Tumblr has been working on, so I clicked around over there for a bit. I missed that Tumblr has live video now, with tipping in “diamonds”? Seems a little out of place with the rest of the platform.
Reminder that it’s still summer, which means we’re still offering blog hosting for only $1/month to new folks who join Micro.blog. There’s no easier way to blog that’s as full-featured and affordable. Feel free to share the link to anyone who might benefit from it! ☀️
Major addition to bookmarks in Micro.blog is coming along really well. Likely will ship next week. 🏷️
Power in the house went out. Summer in Texas is never a great time for this. Hopefully not long, lots of worker trucks in the neighborhood trimming trees and scheduled maintenance on the meters. Getting almost no signal on Verizon, so had to go to the coffee shop for a while to work. ☕️
I still believe we should welcome Threads to the fediverse, but the news that ActivityPub seems far off has soured my experience posting manually to Threads from my microblog. They grew too big, too quickly. Meanwhile, sounds like Tumblr’s ActivityPub effort has also stalled.
As I think about how to add tags to bookmarks in Micro.blog, I’ve been drawing inspiration from services like Pinboard but also my own (now sadly defunct) Mac app Clipstart. This video demo was from way back in 2009… I think the tagging UI is still really good.
Just posted a new episode of Core Intuition all about the Threads launch. Misunderstandings about ActivityPub, judging the leadership of Meta and Twitter, and whether Threads will beat Tumblr to supporting this open standard.
Frustrated with emails not reaching Micro.blog users, I’ve been working through steps to make things more robust. First added SMS as an option, then Sign in with Apple, and today we’re moving a percentage of emails from SendGrid to Amazon SES so we’re not reliant on a single platform.
We finally installed a new smoke alarm that has only been sitting unopened in its box for about two years. Feels like a major Saturday accomplishment. Very slowly upgrading everything.
First thoughts on Retro: great design and for me fills a similar role as BeReal. Not a true Instagram or photoblogging alternative because it’s focused more on private-ish photos. We don’t need another silo but in that niche they can get away with not being open.
Love this post from @adactio not just because he’s using Micro.blog cross-posting (thanks!) but also because the approach is exactly what we believe in. Start with your blog first:
When the current crop of services wither and die, my own website will still remain in full bloom.
I don’t plan on using Threads indefinitely, but I am curious about the user experience, both good and bad. The algorithmic timeline is so puzzling to me. Despite following people who are posting, I first always see posts from people I’m not following. Seems overly tuned to the popular.
Over the last few days we rewatched Mission: Impossible 4-6, then went to see 7 tonight. Enjoyed it. Intense as expected. The audience was into it, laughing and clapping. 🍿
As the fediverse grows, new people will hear about Micro.blog and send us feedback about how we can improve. Always good! I listen to everything. On the other hand, the fact that the fediverse is so big means we can do things differently and still be successful. Not all platforms should be the same.
Reminded by Jeremy Keith’s post of this quote from Robin Sloan. Beautiful, true:
The speed with which Twitter recedes in your mind will shock you. Like a demon from a folktale, the kind that only gains power when you invite it into your home, the platform melts like mist when that invitation is rescinded.
Finished reading: Yumi and the Nightmare Painter by Brandon Sanderson. This book alone was worth backing the Kickstarter project. Loved it. 📚
A new TestFlight beta is out for Micro.blog 3.1. The big changes for this release are per-post cross-posting options and video upload. (Might still be some problems for certain video files. Proceed cautiously in that part of the app.)
We’ve known for years that our onboarding in Micro.blog is bad. It’s tough to start with no followers and no recommended users. But even so, we’re not going to do the Threads or TikTok thing to just show a bunch of random popular crap. There’s gotta be a middle-ground to help people without that.
There are some quirky code design decisions in Micro.blog. For example, I prefer flat structures and all model classes are single words. Most are database tables and some are background tasks. Sounds obvious until you look at literally any other large web server project (and try to name things).
Accidentally clicked the “Post” button instead of “Bookmark” on that last link. Deleted it and the deletion should’ve propagated everywhere. I’ve fully switched to Micro.blog for managing bookmarks and web highlights… Perhaps we need an additional check to avoid accidental posts of just URLs.
The wild thing about Twitter’s demise is that it’s not too late to turn the platform around. Now that it has been burned to the ground, it could be rebuilt with a focus on standards, community features, and useful paid subscriptions. Would need new leadership, like a reverse-takeover from Bluesky.
Love what we saw from Victor Wimbanyama over the weekend. I missed some of the 4th quarter from yesterday’s game, so rewatching the highlights. Go Spurs Go. Next season is going to be fun. 🏀
I thought it would be a fun weekend project to port a simple WordPress.com theme to Micro.blog. What a mess! Lots of different CSS files that look like they were generated by machines, not humans. It’s drifted too far from the “view source” web.
Working on some more flexibility this morning to give people options for blocking Threads and other instances. Mixing lots of account types in one system is increasingly complicated: Micro.blog usernames, Mastodon handles, IndieWeb domains, newsletter email addresses… Spaghetti code.
Evolving thoughts on web scraping. First, I figured anything goes. Later, I was hesitant to depend on any web site structure that would break, and I wouldn’t work around attempts to stop scraping. Now, I’m back to thinking if you don’t want people to see something, don’t put it on the public web.
With Threads hitting 80 million users already, a lot of folks are dismissing Bluesky. But maybe it’s more important than ever for Bluesky to succeed. Or pivot slightly and implement enough of ActivityPub to co-exist? Micro.blog already cross-posts to Bluesky and I haven’t ruled out full federation.
Fighting with our Nest thermostat all week. It wants to save energy and I want to not die of heatstroke in my own house. ☀️
Finished reading: The Magician’s Daughter by H. G. Parry. 📚
“I can’t wait to wear that Spurs jersey for a first time.” — Victor Wembanyama, ready for NBA Summer League in Vegas tonight 🏀
Ben Werdmuller blogs some second thoughts about Threads:
But there’s a bad taste in my mouth that isn’t going away, that has its roots in the genocide that Meta enabled through its actions and inactions, and the political polarization in the United States that it was undoubtedly a part of, and in Cambridge Analytica…
Good post. We haven’t forgotten about this or any of the other problems with massive ad-based platforms. I think it’s okay to hope that Threads is a step forward for open networks and want Facebook to fail to control social media again.
My posting workflow this morning: I post to my blog from my Mac, it goes out via ActivityPub, RSS of course, and Micro.blog sends it to Bluesky and Nostr. Then I go to my iPhone and… copy/paste it into Threads! iPhone-only may have been alright for Instagram, but it’s not gonna fly here for long.
There’s some great stuff in this comic. This rings true:
One of the most fun things about Twitter is complaining about being on it all the time because I am wildly addicted to it and how miserable it makes me. I hated it until Elon came and ruined it now I want old Twitter back again so I can hate how it was before again.
🤣
Watching CNN this morning over breakfast, they said “fediverse”… So yeah, decentralization is edging into the mainstream. Progress.
Finished reading: A Prayer for the Crown-Shy by Becky Chambers. A great second book. Hope there are more of these. 📚
One of the things I’m most proud of with my blog is how consistent I’ve been about the problems with social media. It felt a bit tilting at windmills to quit Twitter in 2012. No love for Facebook, either! But now we have a framework for solutions and can judge these big companies beyond gut feeling.
I’ve been blogging short posts this week about Meta’s launch of Threads, but I think it’s worth a slightly longer post with a quote from this interview with the head of Instagram, Adam Mosseri, on the Hard Fork podcast. Adam has a couple answers to why ActivityPub. The part that is most revealing to me is that he sees the industry going this way already:
I do think that decentralization — but more specifically or more broadly — more open systems are where the industry is getting pulled and is going to go over time. And for us, a new app offers us an opportunity to meaningful participate in that space, in the way that it would be very difficult to port an incredibly large app like Instagram over, and so to lean into where the industry is going.
This didn’t happen by accident. Many developers have been working to bring awareness to the problems of massive, centralize platforms — and bloggers and journalists have been doing the same — so much that users increasingly understand the value of decentralization and content ownership. Not everyone has jumped into Mastodon for various reasons, and not all smaller platforms have taken off, but it still helps get to where we are today that one of the most closed platforms ever (Facebook) is on the verge of rolling out support for an open protocol.
Eugen Rochko also blogged about this as an important milestone:
The fact that large platforms are adopting ActivityPub is not only validation of the movement towards decentralized social media, but a path forward for people locked into these platforms to switch to better providers. Which in turn, puts pressure on such platforms to provide better, less exploitative services. This is a clear victory for our cause, hopefully one of many to come.
What’s next? Imagine if later this year or early next year, Tumblr is able to follow through on their goal to support ActivityPub. Having such large platforms be even halfway interoperability was only a dream a year ago.
Posted this week’s episode of Core Intuition. Random topics like the potential Elon vs. Mark fight and then a first-look at macOS Sonoma’s support for saving web apps.
Blaine Cook on Threads bootstrapping from Instagram. I’ve seen a couple variations of this from other folks too:
Threads is blowing up because Facebook is using their monopoly on the social graph. Legislation to guarantee easy, fast access to your own contact lists for use in non-billionaire-owned media would help level the playing field, because Zuck & co sure aren’t going to give the connections they stole back to us otherwise.
Ignoring fairness, it would’ve been more interesting if Threads had started from scratch, even just as a comparison with e.g. Mastodon stats.
Nice instructions from @Mtt on how to use Micro.blog to verify your Bluesky or Nostr domain. Hopefully we can make this a plug-in or setting later.
I’ve been saying for a while that the fediverse will likely evolve to having maybe 10 medium-sized platforms, not 1000+ small servers. It won’t be a failure if Threads is one of those. It’s still much better than a single platform with a billion users.
Manually cross-posting to Threads to play with it and learn. As soon as it federates I’ll stop posting and people can just follow my Micro.blog-based blog directly.
Meta’s Threads will obviously have ads later. Until now it hasn’t been clear what business model Bluesky is going for and whether it aligns with most users’ interests. Great to see their first paid service is domain name registration.
Setting up Threads. No surprise that getting started based on Instagram identities is super easy, even though I stopped posting to Instagram years ago. Smart move by Meta. (Doesn’t mean I like Facebook. Just exploring.)
This is not what you’d expect to hear from a Meta executive, but it’s exactly right:
…you may one day end up leaving Threads, or, hopefully not, end up de-platformed. If that ever happens, you should be able to take your audience with you to another server. Being open can enable that.
Finished reading: The Frugal Wizard’s Handbook for Surviving Medieval England by Brandon Sanderson. Another totally different book from his usual. Fun. 📚
On pretty much a daily basis I’m torn on whether to enforce real tabs everywhere even in shared code or give up and use spaces. Tabs as spaces are so much worse, it’s still surprising that most of the JavaScript and Ruby world has settled on them. Trying to fight it creates new problems.
Just noticed this cool Glitch project from @AngeloStavrow to test styling Micro.blog’s Sidebar.js feed. Pretty amazing what Glitch can do.
Very frustrated with our Micro.blog emails being flagged as spam too often lately, so today we added the option to get a text message when signing in. This is a little experimental and will likely evolve. Should be fast and reliable if you want to add your phone number to your account.
Realizing that Brandon Sanderson’s secret project #3 is coming out in just a few days. And it’s another book in the Cosmere! Want to try to finish #2 this week even though they’re not related. 📚
Always feels good to release Mac software. No need to get permission from Apple. No delays when the build is ready to when it gets in people’s hands. Today we updated Micro.blog for the first time in a little while. Nothing major, just a little better.
Just in case we needed another reason to re-watch Across the Spider-Verse:
“I was wondering when people might start noticing…” Andrew Leviton said in response to a fan who noticed two different versions of a scene.
🤯
Spilled beer on my laptop yesterday. Seemed fine, but this morning the trackpad isn’t very clicky. It’s an older Intel-based MacBook Pro… Really did not want to upgrade yet. 🍺
Meta is working on a Twitter-like platform called Threads, codenamed Project 92 or P92, rumored to support ActivityPub soon after launch. Some Mastodon instances are committing to proactively block it. I’m here to take the opposite view.
Meta adopting ActivityPub has the potential to fast-forward the progress of the social web by years. Ever since I grew disillusioned with Twitter a decade ago and started pushing for indie microblogs, then writing a book about social networks and founding Micro.blog, I could only dream of a moment where a massive tech company embraced such a fundamental open API.
I get the concerns. I’ve never trusted Facebook either. I don’t post to Facebook and in Micro.blog we had to disable cross-posting to Facebook after they burned us with API changes. But this is an opportunity with Threads that I’m going to celebrate because it could have a significant, mostly-positive impact on growing the fediverse.
Johannes Ernst raised an important question: will the fediverse grow faster organically, cut off from Threads, or faster with the chance to bring Meta users over to the larger fediverse? And I’d zoom out from that to the big picture: do we really want to be a community that discourages for-profit companies from adopting open APIs?
To succeed with mainstream users, the fediverse should encompass many types of platforms and business models. Not just open source. Not just volunteer-led instances. Micro.blog charges $5/month for blog hosting so we can keep doing this and growing for the next 20 years.
Let’s talk about data privacy. My blog is public already and Meta is free to crawl it and its connections to other blogs. Admittedly, there are problems… For example, Mastodon direct messages were a concern in SciComm.xyz’s decision to block Meta:
Federation would allow Meta to cache non-public data too, such as followers-only and direct messages, which pass through its servers as part of the normal workings of ActivityPub.
This is valid. It’s effectively a design flaw that direct messages can leak out in plain-text to Meta’s servers. The good news is that people are already thinking about how to handle encrypted direct messaging in future revisions of ActivityPub. There have been a couple recent discussions on the SWICG mailing list about this.
Unfortunately, it’s likely that Threads will implement only the parts of ActivityPub that serve Meta’s business, ignoring features such as account migration that would allow users to move their followers from Threads to Mastodon or Micro.blog. Before we judge Meta too harshly, I don’t think most non-Mastodon servers support account migration either, and even Mastodon itself doesn’t support post migration.
In other words, maybe we get our own house in order, so that if larger platforms come on board there are clear best practices for doing things the right way. There is still a lot to do. As impressive as the ActivityPub adoption has been over the last year especially — and kudos to Eugen Rochko and the Mastodon community for ramping up so well to welcome Twitter refugees — it’s still early days compared to where we can go.
I don’t worry about Meta embracing ActivityPub and then extinguishing the fediverse as we know it. I worry that all this pushback will force Meta to reconsider whether they should even bother. Maybe they give up and Threads is yet another silo, cut off from the rest of the web. Then the current fediverse will have to compete directly for users instead of collaborating on a more open vision where the walls of closed gardens are finally starting to break down.
Tim Chambers blogged about how we can react to Threads. Perhaps most important is to prioritize our existing communities:
And remember we only have to protect the 1.3 million monthly active users inside the Fediverse. And we do that now every day. Spammers and toxic accounts inside the P92 network we or our social graph don’t follow is their problem. Our problem is protecting our people.
For Micro.blog, we will not proactively block Meta. We will, however, build tools for users to choose how they want accounts to federate with Threads.
Our users are passionate about indie blogs. They often support small companies and distrust big corporate-y platforms. There could be an account setting to effectively opt out of Threads, just as someone can disable ActivityPub in Micro.blog and only participate in conversations with other Micro.blog users.
I can’t predict how Threads and ActivityPub will play out. Meanwhile, Twitter continues to melt down. Back in 2018, I chose to implement ActivityPub instead of trying to compete with Mastodon. And just this year, we added Bluesky and Nostr cross-posting to Micro.blog, to make it easy to get microblog posts out to these emerging networks.
Let’s build stronger connections across platforms. I don’t want a monoculture where a single platform dominates, whether it’s open or closed. The web will be better if we have a variety of platforms that can interoperate, and users have the power to choose where to host their content, what their web identity is, and who can connect to their posts. The default should be open.
New episode of Core Intuition: AppKit Is Dying. We talk about visionOS, what platforms to dedicate our time too, and Meta’s rumored use of ActivityPub.
New update to Micro.blog for iOS is out with a bunch of fixes.
Did not finish: The Reading List by Sara Nisha Adams. I usually like books about books, but could not get into this one. I think I was too impatient for the plot to go somewhere. 📚
Can’t get enough of these James Cameron + Titan sub interviews. He seems to really know his stuff. Also not a bad track record as a director… Every movie starting with Terminator is good. Not just a few. All of them. 🍿
News media loves the suspense of an unfolding story. Can’t totally blame them for the Titanic sub coverage. Tragic now that the sub likely imploded days ago while we continued to sit around and watch the coverage. 😔 Rest in peace to those trying to do something amazing, hopefully knowing the risks.
Excited for the NBA Draft tonight. Even though the #1 pick is a lock, there’s a tiny part of me that is worried the Spurs will do something insane. 🏀
Pushed a new TestFlight build with some additional fixes. Likely will wrap this up as version 3.0.4 before we move on to 3.1 features.
I said on @coreint last week that visionOS might be a “zig when others zag” moment for me. As nearly everyone downloads the new SDK, I’m sticking to that motto. Going to ignore as much of Vision Pro as I can and work on stuff I can ship now to users who have $5 but not $3500.
Love these eWorld photos posted by Stephen Hackett at 512 Pixels. Brings back a lot of memories. 1990s Apple software had so much personality, and this was the height of it.
I don’t have much to add to the Meta vs. the fediverse debate beyond what John Gruber has written about. Big platforms using open APIs is a good thing! Much better than closed silos and locked-down APIs. I don’t trust Facebook either, but preemptively blocking them is shooting ourselves in the foot.
Good morning, Libby fans. Experimental feature now available in Micro.blog: go to this special path in Micro.blog in your web browser: /account/libraries. Enjoy! 📚
If you’re frustrated and typing in Terminal, the harder you pound on the keyboard, the more effective whatever you’re working on is. It’s science.
Spent some time last night figuring out how the undocumented Libby API works. Fun. Hope they eventually make an official supported API, but in the meantime we can do some things on an experimental basis. Seeing my library holds within Micro.blog was the last missing piece I wanted. (Stay tuned.)
Across the Spider-Verse was amazing. Love the art in these movies so much. I wish all comics adaptations were like this. 🍿
It has been too long since we’ve updated the emoji in Micro.blog. Via @news, added a few new ones that were in the queue, hopefully can do more this year:
Added two new emoji to Discover: 🧘 for meditation and 🎭 for theater. Also added 🏳️⚧️ to LGBTQ+ in addition to 🏳️🌈.
There’s a new Core Intuition out. We talk more about last week’s WWDC, debate whether Apple is using “AI”, revisit Siri, and skim over some of the other session topics.
Another Brandon Sanderson book has arrived! Secret project #2: Frugal Wizard’s Handbook. Love the illustrations in the margins. I started this on e-book last month but will finish with the print version.
Rolled out changes to the default uploaded filenames in Micro.blog. This is the beginning of the end to the random filenames, although it still falls back on those for many situations.
Despite the chaos at Twitter this year, I’m a little surprised that after paying Twitter for API access for the last couple months my app was still suspended. Just can’t trust big ad-based platforms.
Watched the BlackBerry movie and enjoyed it. Relevant for today too: it’s not a good idea to bet against Apple. Vision Pro is still quite different than every previous Apple product, though… Trying to perfect a niche device category vs. improving a mainstream device that people already want.
Federico Viticci got me with the Don Draper quote for his Vision Pro story. One of my favorite scenes in television, and a quote I used in my book too. Federico goes on:
I’m convinced that Vision Pro and the visionOS platform are a watershed moment in the arc of personal computing. After trying it, I came away reflecting that we’ll eventually think of software before spatial computing, and after it.
I still think it will be decades before this technology is usable and affordable in more AR-style glasses. But it is exciting to read everyone’s hands-on experience of the future.
I posted a video to YouTube to demo Micro.blog’s new reading goals interface on the web. By default it’s private just for you, whether you want to read 2 books or 20. Or none! No pressure.
Great game. Congrats to the Nuggets. And an impressive postseason for this underestimated Heat team too. Now just 10 days until the NBA Draft. 🏀
Since ditching cable years ago, I feel like we’ve tried everything… Sling, PlayStation TV, Hulu + Live TV, even back to cable streaming with Spectrum TV. New favorite: YouTube TV. Only downside is no regional sports networks. Need a better over-the-air antenna for Spurs games.
Only just occurred to me that Apple Vision would’ve been a great product to introduce at the height of the pandemic. Now, we want to reconnect in person, not hide away behind screens.
I recorded a very short (12 seconds!) video on YouTube showing the new toggle in Micro.blog to quickly show just photo uploads or video or audio. It appears for Micro.blog Premium subscribers because that’s where we support video hosting and podcasting.
New web analytics tool from @vincent looks like a nice fit for blogs and small web sites: tinylytics.
I made a little video of my time in Colorado last week, from short video clips and live photos. This is also a test of potentially longer videos on Micro.blog… I cheated to upload this because the file is bigger than the current limit.
Went to a wedding yesterday. No masks, hopefully no COVID. 🤞 My mind kept wandering back to A Psalm for the Wild-Built… Do we need a purpose, or is it enough to be happy and appreciate how remarkable the world and people are? Feeling lucky.
To create this transcript, I split the episode into 15-minute chunks with Fission, because Micro.blog’s OpenAI-based transcription is limited to 15 minutes. Then uploaded the MP3s to Micro.blog and copy/pasted the resulting transcripts into BBEdit. Fixed mistakes and edited to be more readable.
I listened to the latest Core Intuition again to see if my initial take on Apple Vision Pro was way off or unfair. I think it holds up. Here’s a transcript of the conversation with Daniel, lightly edited.
Daniel: Hello, this is Daniel Jalkut.
Manton: And this is Manton Reece.
Daniel: And this is Core Intuition. “Something wrong about this product.” This week’s show is sponsored by RevenueCat.
Daniel: All right, Manton, as so many people are this week, you are traveling, of course, because it’s the most important week of the year for Apple ecosystem developers. So you are in…
Manton: Colorado. Haha, not California. I think I mentioned this a couple weeks ago that I had thought about going to Cupertino and planned a road trip around California again. And it kind of changed to Colorado.
Manton: So totally missed out on all the in-person stuff at WWDC. I did watch the keynote and I did watch some sessions. It was a big WWDC, really big. I’m still wrapping my head around everything and what it means.
Daniel: Yes, me too. A lot of podcasts, a lot of people commentating on WWDC start from the beginning of the keynote and progress through. I really enjoyed the ATP recap along those lines. I don’t think we have time for that.
Manton: No way.
Daniel: I think we jump right to the headset. Because the headset is… That’s the part that I’m still having trouble wrapping my head around. That’s the only thing, quite frankly, that I’m having trouble wrapping my head around. Everything else more or less about WWDC and the announcements made there makes perfect sense.
Manton: Yep. Lots of good announcements, lots of good OS updates.
Manton: Before we get into the headset, I think a lot of people have been lost in the reality distortion and have forgotten to follow up on the fact — I don’t know if ATP mentioned this because I haven’t listened yet, I haven’t listened to a couple of podcasts — but have forgotten to follow up on: did Apple do anything with AI?
Manton: I think the answer is no. Although they did mention transformer-based language models and machine learning, but they skirted around it. I don’t think they did anything significant with AI.
Daniel: Yeah.
Manton: And I don’t think they did anything significant with Siri. They dropped the “hey” from “hey Siri”, but I don’t think that counts. So I just want to point that out because we are so distracted with the headset, rightly so. I don’t want to give Apple a complete pass on totally missing the big story of this year.
Daniel: Agreed. And I was frankly a little surprised by that. I thought that they would… And as you know, I wrote an article about it a couple of weeks ago. I knew that my specific take on it, that they would announce something called Apple Intelligence and that would be their way of kind of owning the initials AI without having to join the pack, so to speak. I didn’t think that was necessarily going to happen. I would have been thrilled if it did.
Daniel: But I thought the minimum was going to be some, especially at a developers conference, something like, we’ve made a arrangement with Microsoft so you can run Copilot at native performance in Xcode. Something like that.
Daniel: It didn’t have to be Apple has reinvented AI. It just had to be: we we can see the elephant in this room.
Manton: No. They had a lot of good updates to Xcode. I mean, I watched sessions. I was really lucky, I was able to hang out with some of the other Colorado iOS developers up in Boulder yesterday. Watched some sessions with those guys.
Manton: And yeah, good updates to Xcode. No problems. But yeah, totally ignored anything with code generation as far as I can tell.
Daniel: Yeah. And real quickly, I’ll just say, I also said something about this. I said, oh, well, you know, sounds like they didn’t say anything about AI.
Daniel: And a few people chimed in, of course, with: well, of course they did. Like you said, the whatever mechanism transformer, blah, blah, blah.
Daniel: That’s not what we mean right now when we say AI. Right now, when anybody in this world we live in, who is not like an AI researcher says AI, they mean large language models and the way that they provide chat or completion based services to users.
Manton: Yeah. Assistant-like stuff and the way Apple is using, I think the transformer language model they were talking about, of course that is part of like chat GPT and whatnot. But I think they were talking about better auto-complete and behind the scenes, seamless stuff. Great. Fantastic.
Manton: But that is just not the same thing as assistants that help you and that feel intelligent, even if they aren’t.
Daniel: Right.
Manton: All right, headset. Vision Pro.
Manton: I was simultaneously blown away by this, and also I still really question the strategy. But from everything I can tell — I was listening to Dithering and Ben and John were just like, this exceeds our expectations of how technically good it is.
Manton: And so I’m trying to take a step back and kind of separate, did they nail this versus should they have bothered to build this?
Daniel: I’ve been joking for a while now, and I mean, the joke has totally come to a head with this idea that the reality distortion field is actually the product now.
Daniel: It’s hard to know, and I agreed with you, I was watching the keynote and everything is so stylized because obviously they can’t show you, or maybe they could, they definitely could show you what it looked like just from the point of view of the wearer. I’m sure there’s like a screen capture recording released in their debug builds right now.
Daniel: But obviously the way they presented it was kind of like giving you an idea by showing you video of a person who’s allegedly looking at the stuff.
Daniel: I actually had the thought during the keynote, wouldn’t it be cool if the way they made those videos was one person wearing a headset looking at a room that happened to have another person wearing the headset in it?
Manton: Welcome to the future, everybody’s wearing headsets, even when they’re in the same room with real people.
Daniel: Well, and that gets at the real… To be honest, when I say my version of wrapping my head around things has a lot to do with the social implications of what such a product means.
Daniel: I had the same gut reaction with Google Glass 10 years ago. You know, products that draw the user inward do not make me feel comfortable about them as social interactive products. You know what I mean?
Manton: Mmm hmm.
Daniel: And I mean, I guess to be honest, I wear my AirPods all the time everywhere. And I know there are people out there still who believe it is rude to be in public and to have headphones on, which I don’t agree with that assessment.
Daniel: And so that might be like kind of an instructive example of people have different takes. But my take is if you’re going to block your eyes out to the world, do not talk to me. Do not talk to me.
Manton: Haha. Yeah.
Daniel: And even with my AirPods, I have social standards, I take my AirPods out when I’m going to like a retail counter.
Manton: For sure. Yeah.
Daniel: And I find it very rude if people don’t do that. I forgive it if they at least turn off the volume and the person doesn’t know that, you know, I kind of forgive it. But the case of something literally covering your face, I don’t want anybody interacting with me like that.
Manton: No…
Daniel: And I definitely do not want anybody interacting with their kids during like pivotal moments of their childhood.
Manton: Yeah. And people will push back maybe on that and say like, well, at the birthday party, we all have our phones out anyway, taking video. It’s just not the same thing. It is not the same thing.
Manton: And I have missed things because I’m looking at my stupid screen. It’s just not the same as covering your face.
Daniel: I think it’s so instinctive to us that covering your face is a way of, I mean, like we do it as humans. We do it when we’re scared of something or we don’t want to engage with something.
Daniel: And I think there’s a lot of instinctive, like animal response to this idea that somebody’s face is covered. And the eyes showing through is very impressive, but very not enough for me.
Manton: Yeah. It was really impressive in the keynote, but I do wonder in real life if it’s just creepy.
Manton: And I wanna acknowledge that we’re judging a product that we haven’t seen. Like some people have actually tried it, friends of ours have tried it, and their opinion goes a long way. We’re just reacting based on what we’ve seen in the keynote and heard people talk and blog about.
Manton: But even putting that aside, I kind of went into the keynote thinking, if it’s technically amazing, would I still want to use it? And would I still develop for it?
Manton: And it turns out like it’s even better than I thought. Even my wildest like expectations of Apple just completely getting this right for what they’re trying to do, it’s even better than that. Super impressive.
Manton: And yet there’s something wrong about this product. And we’ve talked about like AR versus VR, mixed reality, etc. And I even more strongly feel now that I’ve seen it that the number of years I have in my head is 20 years.
Manton: It’s gonna take 20 years for this product to be more seamless with actual glasses-looking things that you can actually see through and people can see your real eyes. More like real AR, at least 20 years, if it ever happens.
Manton: And so it’s certainly a bet on the future, but it’s so far away. It’s so far from being a product that I could use in public, that I could use anywhere that there are people.
Daniel: Yeah.
Manton: I think that is an issue for me.
Manton: I was thinking about this last night, so I’m in Colorado. I’m going to campsites with this van that I rented and just seeing nature and whatnot. And last night I made dinner. I sat at my like picnic table at my campsite and I pulled out my laptop, popped open a can of wine and I caught up on some work.
Daniel: Haha.
Manton: I’m chilling out, kind of in nature, but there are other people around. And I thought, I’m working on my Mac. Would I put a headset on here? No, I wouldn’t. It would be so weird.
Daniel: Even in a fairly remote like.
Manton: Yeah. Because people might walk by, drive by, it would just be weird.
Daniel: You would be so self-conscious.
Manton: Yeah, I wouldn’t be able to concentrate. It wouldn’t matter how much better the virtual screen is than my 16-inch, old-fashioned screen.
Manton: And I think there are areas like that. I work in coffee shops every day. I was working at a coffee shop here outside Denver this morning for a couple hours. I just can’t imagine this product ever being used in that environment.
Manton: Like I said, in 20 years, maybe it’s more like AR and more like real glasses, but this device is so powerful. It’s more powerful than my own Mac. To get it to the point that it can be seamless around people, man, it just seems so far off. I don’t know.
Daniel: I think I’m not quite as pessimistic about the timeline that this technology stands a chance.
Daniel: It’s funny because if you compare it to some Apple products, the chances are not great that it advances very quickly. For instance, the iPad was released 13 years ago. So if it advances at the rate, and just to be clear, the iPad today is an amazing device, so much more advanced than the original, but on the whole, it hasn’t changed that much.
Daniel: The usage is the same, basically. And I think a lot of people expected a lot more development on that front.
Daniel: On the other hand, something like the iPod is about 20 years old and is now essentially something that you wear in your ear. And that is the kind, so just to say, yeah, 20 years, maybe you’re right in that respect. But I could see it happening a lot faster because the unique technological angle here is going to fund this thing.
Daniel: I think even with a very modest amount of buyers, even as a loss product, even if Apple were losing money, I think staying ahead of the pack on this type of product is going to pay dividends for Apple. And the saving grace for me is that I do think there is a point at which it’s kind of the difference between the AirPods being a helmet you wear over your head or the little device you pop in your ear.
Daniel: I still feel a little self-conscious sometimes about my AirPods, but if it were a helmet that I had to wear, you know? Like, this is the helmet, and we’re going to see, you know, assuming everything goes the way I expect, we’re going to see, I think, a lot sooner than 20 years, the equivalent of the AirPod of this.
Manton: Yeah, I dunno. Okay, but let’s think about that, though. The technological leap from wired headphones to the AirPods, I mean, it is significant. There’s, you know, cool chips in the AirPods that allow it to do what it does, but it’s not the kind of leap we’re talking about from a $3500 headset that has 12 cameras to something that looks more like glasses that you could wear in public, even if they’re awkward, bulky glasses.
Manton: I’m really having trouble with that leap. I don’t see how you can do it. And think about how far the iPhone has come from gen one, couldn’t take video, to today. The iPhone’s great, it has come a long way, but even that is not the leap that we’re talking about, or I’m talking about.
Manton: That is a very natural year-by-year evolution, and that’s their core product, where they sell hundreds of millions of these things. They’re not going to sell very many of these. They’re not going to update it every year. I’d be surprised if they update the headset more often than every three years. So we’re talking five or six generations. I don’t know.
Manton: Man, I hate to be so negative. I just don’t think this is a product that Apple needed to build, or that I personally am gonna be into. I don’t know. It’s cool, though. It’s really cool.
Daniel: It is, well, and like you, me hearing the dithering, John Gruber and Ben Thompson describing it as not being able to distinguish the edge of the quote-unquote screen. That kind of was a wake-up call for me.
Daniel: There is no product, I think, I think even all the other VR headsets, I don’t think there is a product in the world. The combination of like, whatever Apple did to make the thing sit so close to your eye, and the fact that it’s such a high resolution, there’s no product in the world where you can kind of fool your mind into thinking you’re looking at reality.
Daniel: And that’s why the whole reality kit, whatever, sort of all makes sense now.
Manton: And really, every time they say, “only Apple could combine blah, blah, blah”, I always kind of roll my eyes a little bit. It’s totally accurate in this case. There is no company that could have built this.
Daniel: Nobody else has the money to do the research and the social influence to make it, you know, even vaguely. Like some random little like company headed by a billionaire could have come up with something like this, and it wouldn’t have gotten traction because it wouldn’t have captured the public’s imagination.
Manton: Right, and only Apple, they have all the right skills to pull this off. And they don’t have a great track record of hobby products improving. I would say none of their hobby products have really improved very quickly, which makes sense. Their business is built around the iPhone and the Mac. Apple TV is more or less the same as it was, you know, a dozen years ago.
Manton: And that’s fine, but they obviously care a lot about this product and they could change that reputation. They could have this fringe side product that they pump millions and millions, billions of dollars into, and they’re patient.
Manton: Again, they wait 20 years and then you have the Vision Pro and you also have the Vision Air or the Vision Lite or whatever you want to call it, a more mainstream device that is not as bulky, not as powerful, something that more like normal people maybe would be into. That could totally work. It feels really far off. I’m gonna be old or dead by the time this happens.
Daniel: I think there’s two things that are remarkable about this product. One that struck me right away was how much of an amalgamation of other Apple technologies it is in one unit. And you think about all the things they’ve been working on.
Daniel: The little digital crowd is just like the Apple Watch. The cameras actually remind me of whatever research they may have been doing into self-driving cars. You have super high resolution screens. The audio playback in the device is also using that kind of room reading, LIDAR type stuff.
Daniel: That’s one aspect of how “only Apple” could do this because they had all these other products in the works that sort of contributed to this device. But I also think this device is, regardless of its commercial success, it is a technological test bed that can easily spin off other devices that benefit from the advances they make with this.
Manton: Yep. And I can definitely buy the argument that someone had to build this. That’s not true, but there’s value in building this purely for the research and technology and just to see what’s possible. Because if no company pushes the edge and tries new things, we don’t get anywhere. There is a role for pushing, just seeing what we can do, whether it’s a compelling product or not.
Manton: So yeah, I totally respect that. And I think the people that worked on this should be very proud of what they’ve built. It really does look incredible. It’s just a question of, strategically, is this something that Apple should do? Is it good for humanity? And then secondarily, for developers, is this something that should be part of our strategy or not?
Daniel: Right.
Manton: If this is the — again, 20 years in the future — this is the replacement for the Mac, is this something that we should be fiddling with and paying attention to and watching all the WWDC sessions and playing with the simulator. I’m curious what you feel as a mostly Mac developer, how much are you going to pay attention to this?
Daniel: Yeah. I mean, it’s so much to take in because as you saw during the keynote, there’s like elements of how it, how it stands to just like integrate with your Mac and show you your Mac desktop apps on like virtual monitors within the device.
Daniel: And then there’s the other angle of native apps for this thing, maybe subsuming the uses of traditional Mac software, iOS software, all the above. So I’m going to keep an eye on it. I do, my instinct is to mostly ignore everything, especially since there’s no SDK yet. And I find it kind of awkward to even consider jumping into WWDC sessions about this when there’s no hands-on opportunity to do anything, even with a simulator. So I’m going to keep a cautious eye on it.
Daniel: I think there is something to what, I mean, you know me, like both of us have been pretty dismissive of AR VR the past several years. And I think the way we’re talking about this still reflects our skepticism about it, but it brings it into the real world in a way that I don’t think is going away.
Daniel: Having a point your iPhone at a table AR experience never felt compelling beyond the slightest novelty. But let’s just assume that this thing didn’t cost $3,500 and it costs $350, which might be the case in five years, 10 years.
Manton: 20. I’m sticking to 20 years.
Daniel: Haha. Well, the situation will be different when there’s a massive market of people who have these things.
Daniel: And I just want to say one more like slightly optimistic thing. I think my reticence and spooked-outness about this device is somewhat to blame on Apple’s presentation of it during the keynote. The way that they tried to frame it as something in particular that you would wear, like I mentioned, like when you’re engaged with your kids during special moments, that’s the opposite of what I think this type of device should be used for.
Daniel: And if I focus on the things that it’s good at… I won’t fault any parent for wearing a welding helmet while they’re building, you know, a rocking horse for their kid. That’s a special moment in a family’s history as well.
Daniel: But let’s not try to conflate the wearing the welding helmet with spending special time with your kids. Likewise, I think there are a lot of parallels actually with this to a device like a television, because televisions are famously attention absorbing. You can’t really talk to somebody who’s watching a television. And frankly, in my opinion, having a television on in any kind of social environment, unless you’re like watching a sports game with somebody is not conducive to sports or to social interactions.
Daniel: But I think if I try to look at this more generously, as like, it’s another kind of TV, or it’s another kind of welding helmet. You use it on your own time for your own purposes to either entertain yourself or achieve specific productivity goals. Then a lot of my negativity about it goes away. It’s just the idea of it being integrated as an everyday piece.
Daniel: It’s the same idea as if I envisioned everybody walking around with a television hanging off their forehead. No, we, nobody really wants to live in that world. So don’t highlight that as the use case for this device.
Manton: Yeah, I agree with you. I think that was a bit of a miss. Overall, I think the keynote will go down as the best in years, but I feel like some of those parts of the, you know, advertisement video that we watched, basically, we’ll remember them a little bit like the watch Apple Watch introduction. There was a lot of sort of gimmicky features. You know, texting your friend in class or sending pictures.
Daniel: Sending your heartbeat to somebody.
Manton: Exactly. I think some of these things will go down in that light. I love the Apple watch. I’m wearing mine now, I wear it all the time. But I think they were a little bit confused about their message when they introduced the watch and they sorted it out.
Manton: And I think this is going to be the same way. I think we’ll look back on some of those and be like, no, we’re not putting this headset on for a birthday party. That’s not going to be right.
Manton: And really, that’s why I kind of think about just strategically. I mean, we already have this problem that we didn’t have 15 years ago, which is that the family is sitting around TV, watching a movie or something and all the kids are on TikTok. This is already an issue.
Daniel: Yeah.
Manton: I’m not interested in it getting worse by actually having people close their whole face off from the world. So I think there are really legitimate uses for this, but in my life, they are very small.
Daniel: Yeah.
Manton: I like to work out of the house, I like to go places. I mean, I’m kind of an introvert. I don’t meet a lot of people and hang out with people in person. But when I do, when I’m around other people, it feels good to be around humans. We need that.
Manton: And just strategically, I guess I’m really pessimistic about it. I think maybe it’s okay for us to have those two thoughts in our head of just technically and pushing the envelope, this is a huge breakthrough. On the other hand, as a human and as a developer, I’m fine. Zig when they zag. If everybody else is obsessed with this and WWDC over the summer, I’m fine focusing on other things and just continuing working on Micro.blog and working on these other aspects of social networking.
Daniel: Yeah, I agree. In a sense, I am kind of relieved that I don’t feel like I’m going to have my work cut out for me in terms of new Apple technology over the summer. None of this is like, oh, drop everything.
Daniel: The one product that I think might have a little bit of a compelling case is like Black Ink with the idea of maybe like solving a puzzle on a virtual sheet or something. Even that’s a little bit of a stretch, but you know, maybe against a flat desk or something. But I don’t know. Obviously I have other Black Inks to ship before I get to that.
Manton: Yeah. I want to ask you, because I don’t know if you saw Apple News+, I think has some crossword thing.
Daniel: Oh yeah. Yeah, I did see that.
Manton: We’ll probably have a whole show next week about everything non-headset related. There’s really a lot at WWDC and we’ll have to tackle that next week. Because the headset is just the obsession right now.
Daniel: Yep, agreed. All right. Well, I hope you continue to have a great trip. I’m glad that this time around we’re recording, you’re in your van again. If folks remember the last time Manton recorded in his van, it was like a rainstorm.
Manton: Yeah. And unfortunately… So I bought a new mic. That’s a whole ‘nother story about going to three different Best Buys, trying to find something that I could take with me. I did a test recording and there’s a lot of background noise still. So apologies, everybody. Hopefully it turns out okay.
Manton: But thanks everyone for listening this week. Enjoy WWDC, and we’ll see you in the metaverse. I dunno.
Daniel: See you in my glasses.
On the flight back to Austin, finished reading A Psalm for the Wild-Built by Becky Chambers. Wonderful. Queued up the second book for later. 📚
John Gruber gets to the core of the Reddit API issue with a question for the CEO:
I have one simple question for him: What do you think Reddit co-founder Aaron Swartz would say about this if he were still alive?
That’s exactly the right perspective. Because it’s not just about business models, competition… It should be about doing what’s right.
Today I sent the following email to everyone who had Twitter cross-posting configured on their Micro.blog account. We’ve got about one month left on our commitment to support Twitter cross-posting. We can’t justify paying Twitter for API access beyond that. Tweet while you can, the feature shuts down July 15th.
Hi @your-username,
You’re receiving this email because you currently have cross-posting to Twitter configured in your Micro.blog account. Twitter has been changing their API and we want to let you know how this affects Micro.blog.
Micro.blog has committed to support Twitter cross-posting until July 15th. After that date, cross-posting will be disabled. We hope this gives you plenty of time to wind down how you’re using Twitter.
Note that you may need to disable and then re-enable Twitter cross-posting if your blog posts are not currently being posted correctly after recent Twitter API changes. In Micro.blog on the web, click on Account → Edit Sources & Cross-posting.
If you’re curious why we had to make this decision, please see Manton’s blog post about it.
If you’re looking for other options for automatic posting to Twitter, you’ll find that most services have already stopped working soon because of Twitter API changes. We currently recommend looking into Buffer, which may be able to sustainably offer this feature in a way that smaller companies like Micro.blog cannot.
However, there’s good Twitter news too! We have launched a new import feature for importing an archive of all your tweets to Micro.blog. This is a great way to browse and search old posts, keeping a copy of tweets outside of Twitter.
For more details about the tweets import, check out this YouTube video.
Thanks for your support!
P.S. We also support cross-posting to Mastodon, Medium, Tumblr, Bluesky, Flickr, LinkedIn, and Nostr.
Good morning, Denver. Had a quick breakfast with this view before I wrap up the trip and return the van.
Winding down my week in Colorado. It’s beautiful here. Just about the right amount of time, juggling work and travel. 🗺️
Sitting in my rental campervan at Cherry Creek State Park, debugging on the laptop as the rain hits. Sounds like a Texas thunderstorm. Hopefully not hail because I waived all the rental insurance. ⛈️
Finished reading: Astrophysics for People in a Hurry by Neil deGrasse Tyson. Remembered only a little of this from college astronomy. The audiobook is about 4 hours, great for a short drive today. 📚
What a wild end for Apollo. The era of client APIs for ad-supported platforms is over. Developers should invest their time in open platforms where the business model is aligned with users' and developers' interests: Micro.blog (paid blog hosting) or the fediverse (often donation-supported).
After recording @coreint today, I’m settling into the opinion that Apple Vision Pro is both brilliant and a terrible mistake. On the other hand, I’m sitting in my rental campervan in Colorado watching the NBA finals on my iPad Mini and wouldn’t mind that courtside VR action. 🏀
Just posted a new Core Intuition with our reaction to WWDC and Apple Vision Pro.
Finished reading: Recursion by Blake Crouch. This book blew my mind a little. 📚
After driving around in circles with detours because of road construction, finally settled in at Atlas Coffees. ☕️
Jason Snell writing at Six Colors after using the Vision Pro:
I am now a believer that what Apple has built is an incredible accomplishment. This is the real deal. The unanswered question is, to what end?
Stopped at Train Cars Coffee in Nederland on the drive to Boulder this morning. Built out of train cars. Love it. Pretty good breakfast too. 🚂
Early thoughts on Vision Pro: looks about as good as it can possibly be, for what Apple is trying to do. Not a product for me, and not a product that will “replace” any other device. Will be talking more about this on @coreint tomorrow.
This is nitpicky but I feel like Apple should’ve cut over to the headset stuff at the 1-hour mark. watchOS improvements are good but they don’t need this much keynote time today. Feels like the narrative has gone into the weeds a little. We are here for the headset news. 🙂
I don’t think Apple needs to obsessively avoid saying AI. “Machine learning”, “transformer-based language model”… It just sounds awkward, but I get why they do it.
Need a place to blog what you think about all the WWDC news this week? Don’t forget Micro.blog is a ridiculously low $1/month this summer. micro.blog/summer
Looking forward to WWDC, but my expectations are low for announcements that are relevant to my work right now. Doubtful there can be a version of Micro.blog for a headset. Most interested in little surprises that might pop up in new versions of iOS and macOS.
One of my favorite things about Colorado so far is the water. Looks and sounds like snow had melted somewhere upstream.
Finished reading: Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin. All the praise for this book is justified. A masterpiece. 📚
Raining off and on today, so I’ve spent more time driving and less time walking. Mickey is my traveling companion now for all road trips.
Forgot the Stanley Hotel was nearby, the inspiration for the hotel in The Shining. Stopped for a little while, walked around, had a beer in the restaurant. I’m sure there’s lots of history here.
Cool to see people using the App.net posts archive. Here’s a post from @jsonbecker, a post from @otaviocc, and another post from @maique. I was starting to doubt preserving the archive and seeing these reminds me why it’s worth it.
Beautiful photo from aows. When I retire, I’m just going to blog photos of train tracks.
Thanks again to @vincent for fixing one of the servers yesterday while I was in Rocky Mountain National Park with no cell coverage. Not happy with the blips in downtime recently, going to reprioritize this. Enjoying the morning with good wi-fi and coffee at Inkwell & Brew in Estes Park. ☕️
Traveling today. Got to the airport early, plenty of time to catch up on a couple things. Submitted Micro.blog 3.0.3 to Apple to review. Hope everyone’s having a nice Friday!
Other things I learned about video games this week while we were temporarily without a Switch: the Wii with Skyward Sword still works, the N64 sort of works and then doesn’t, and the Game Boy Advance SP battery is starting to bulge, but replacements are just $10. 🕹️
I’ve migrated the App.net posts archive to S3, to simplify hosting the archive. I’m not going to do any more work on this. No import feature for Micro.blog. The data files are there if anyone needs them.
Please only download your own posts, not everything. There are about 44 million posts in total. I’m happy to keep hosting this archive indefinitely as long as the costs are flat. I think it’s important to have an archive of as much of the web as possible. But at the end of the day, App.net was not my platform, just something I cared about, to help bridge the gap between the early days of Twitter and newer, more open platforms.
Don’t remember App.net? I wrote a chapter of my book about it.
I like this post from Dave Rupert on lessons from old Russian small nuclear generators:
I wonder if software has a kind of digital entropy, where even good software left untouched for a short timeframe rots and stops working.
Finished Ted Lasso. Overall really enjoyed it. This season almost lost its way a couple times, sometimes overthinking itself, but it wrapped up perfectly. 📺
I seem to have made a serious AWS pricing miscalculation, transferring a bunch of small files from EC2 to S3. Data transfer is free, but PUT requests aren’t. With millions of requests, adds up to real money. This is why I usually prefer Linode’s flat pricing.
Similar to my announcement last month about supporting Bluesky, we’re adding Nostr cross-posting to Micro.blog starting today. You can enable it under Account → Edit Sources & Cross-posting:
Nostr might have the most uncertain future among recent up-and-coming social web protocols. I’m fascinated with the architecture because it’s so different than ActivityPub, RSS, and IndieWeb protocols. I think it’s interesting and worth tinkering with. I’ve been personally using it through Micro.blog for about a week, so why not let other folks play with it too?
Nostr is quite technical. If you don’t want to be on the edge, feel free to wait. It’s so early that using Nostr feels like testing a prototype, letting your blog posts loose into the wild west of the internet to float between Nostr “relay” servers.
To get started, you will need a Nostr account. Unlike every other social network, in Nostr you don’t actually register on a specific server. Your account is just a private key, which you will paste into Micro.blog. For iOS, I suggest using Damus or Nos. For the web, check out Coracle.
These apps and others will create your private key, name, and profile photo. Make sure to save your key in a password manager. If you lose it, you lose access to your account.
Micro.blog’s support for these emerging protocols is essentially one-way, pushing your blog posts out to people on other platforms. Later we will consider federation, where posts and replies from other platforms and brought into Micro.blog, like we already do for Mastodon and ActivityPub. I’d like to see how much traction there is before we do more.
Thanks everyone who sent me feedback about how you are using Micro.blog’s email newsletters. I took this into account while finishing the new feature, but I realize it’s a functionality change. It is very rare that we change a feature so significantly. Felt like it had to be done.
Micro.blog Premium includes an email newsletter feature, so readers of your blog can subscribe to receive posts by email. It’s designed around microblogs. For example, Micro.blog can gather up lots of short posts over the week or month and collect them into a single email.
Today we’re launching a revamped template system for these emails, bringing much more control over what the emails look like. You can edit the template to add a header or footer, or change the HTML tags completely.
Because emails are generated outside of blog publishing, we can’t really use Hugo directly for this. I’ve written a new helper app in Go to process the templates, so they feel as familiar as possible to people customizing their blog theme. (Hugo also uses Go’s templating language.)
You can see what the default email template HTML source looks like here on GitHub. Micro.blog plug-ins can also override this template! So you could have a plug-in that provided a new email design. There’s a help page here with more details about variables you can use in a template.
This is a major improvement. A couple things to keep in mind:
You can edit the template under Newsletter → Settings. If you edit the template and then install a plug-in with a custom newsletter design, it will still keep your changes. You can clear your custom template to revert back to the default template or a plug-in’s template.
If you’re not comfortable editing HTML, that’s okay. You can continue to use the email newsletter feature and ignore the custom templates. It’s just a little more power under the hood for folks who want it, and for plug-in developers.
This article in Forbes has some new (to me) details on the creation of Nostr.
Trying audiobooks in Spotify for the first time. I’d like to see some UI tweaks for books, like less emphasis on chapters (books are not albums) and showing the time remaining with the speed taken into account.
Launching new features tomorrow. Going to lay low this afternoon instead of deploying major changes near the end of the day, which I’m sure I would regret.
Spilled a glass of water all over my MacBook keyboard. So that’s how my morning is going. Seems okay so far.
Working on improvements to email newsletters in Micro.blog. I’d like to split out the editing of queued newsletters to instead have a separate per-newsletter “intro” text, with the rest of the email not editable. Does that cause a problem for anyone? Will allow more flexibility in other ways.
Love this from Matt Mullenweg. It’s what we believe at Micro.blog, too.
…it’s not about how many views you have, how many likes, trying to max all your stats… sometimes a single connection to another human is all that matters.
Happy 20th to WordPress. Heck of an achievement.
Did my daughter come to visit this weekend to see us, or to take the Switch and Tears of the Kingdom back to her apartment? Who can know. Anyway, we’re busting out the N64 and Ocarina of Time… As soon as we get an RCA → HDMI adapter.
I’m testing Calckey to improve compatibility with Micro.blog. Some of the UI is quite busy and not for me, but I love how they are showing ActivityPub usernames, with the profile photo and dimmed domain name. Might borrow this.
Love seeing all the “Where have I been?” posts. I blogged it on a whim and it’s so much more interesting to see the places other folks have gone. I also just realized I left Alaska off! Will edit.
Tinkering with something in Go this morning. Always felt like it would be a good language to know more about, and now finally have a real need.
A random conversation today made me curious about what countries I’ve visited in Europe. I got lost looking at maps and thought I might as well try to make a list.
Apparently 9 countries in the world:
And 29 states:
Not counting cities I’ve just flown through without leaving the airport. Might’ve missed some, but still feels kind of low. As anyone who has followed my 30 days lists knows, I like collecting visits to places. Now a little inspired to finish seeing all 50 states.
Just watched way too many replays and commentary on the final seconds of Celtics/Heat. Another memorable game 6 in Miami. Bring on game 7! 🏀
Listened to a couple hours of the Texas house debating impeachment against our corrupt attorney general. Kind of shocked to hear the final vote, overwhelmingly for the articles. Paxton is removed from office pending the trial. Wow. 🇺🇸
Seems unlikely that we’ll end up with a single unified social web platform. I like Mastodon’s focus on communities. I like Bluesky’s thinking on distributed moderation. I like the IndieWeb’s principles of ownership. I like Nostr’s private messaging. How will we tie all of this together? Blogs.
This week Bluesky rolled out their custom timeline feeds. Pretty interesting approach. However, I’m going to disable automatic cross-posting from my blog to Bluesky for a while… Bluesky feels so much like Twitter that it has been too distracting for me. Will check back in later.
Jean and I have been talking this week about what’s next to prioritize around the Micro.blog community. I often focus on technical improvements to blogs, but we’ve had some good momentum recently with community features too, such as rolling out profile pronouns, user blocking, and encouraging alt text in Discover. Starting today, Jean is also hosting monthly office hours to talk to folks on Zoom.
Halsted’s post about creating a safe and inclusive community is also on our minds, and there are a few points in particular that I think we can run with.
Thanks as always to everyone who uses Micro.blog and has given us a chance to build something unique on the web. I know everyone has high expectations, and we do too.
Joking aside, I really like Nostr. Something about it is very elegant. You just have to ignore 80% of it, especially anything around cryptocurrency. It’s a wild west platform with a few nuggets of gold. 🌵
Folks, Nostr is really easy to understand. Your username is 64 random letters and you just enable NIP-5, NIP-39, and put your private key in a hardware wallet. Simple! Mainstream adoption for non-technical users will not be a problem. 🙄
Good morning! Took an early walk. Coffee now at Summer Moon and I have some server changes to deploy. Also way behind in email and hope to catch up over the next couple days. ☕️
I’m testing cross-posting to Nostr. I’m still not really sure how to link to Nostr accounts… If you’ve ventured out into the wild west of Nostr country you might be able to find me with @manton.org or npub1ae42p0d24pmccr47unf2a3hv2trmk9lrmr65ges4v3x5pscs4yrquu7ul9. 🤪
Adding a new query to Micro.blog’s server status check to throw an error if the queue backlog is unusually high. Will be able to better track this error as platform downtime.
Upgraded Ruby last night and thought everything was stable. But no. Putting my sysadmin hat on for a bit this morning while everything gets back to normal.
The new episode of Core Intuition covers last week’s Micro Camp and looking ahead to WWDC. Thanks for listening!
Been thinking a lot about Nostr this week. Finally realized that it resonates in a “worse is better” way. This is a good thing and will help me grok how it fits alongside ActivityPub and Bluesky.
I’m continuing to use ChatGPT all the time. On a whim today I asked it what the philosophy of Micro.blog is and it nailed it. You can read the transcript here.
At last weekend’s Micro Camp, we had a panel session with me, Jean, and Vincent where we answered questions from the live chat. We didn’t have time for all the questions, so I wanted to try to answer a few more that we missed. Here we go…
Re: long posts and how they get truncated in the timeline. Are there thoughts or plans for letting us control where that truncation happens? Using a tag in the feed or something. The way truncation works now seems rough.
No current plans, but it’s something that comes up from time to time and has been discussed on the Help Center. We use Hugo under the hood and it supports marking an intro paragraph summary by using the <!‐‐more‐‐> HTML comment. It’s possible that some form of summaries could be used in the timeline. In my experience, though, the more exceptions we add to the timeline, the more confusing it is. That’s why we’ve mostly stuck to a few very simple rules.
Is it likely that the success of updating the iOS and Android apps will influence development of the Mac app?
It will influence it only in that there will be more time for native Mac development using App Kit, because there will be less time trying to port features back and forth on iOS and Android. There are no plans to use the React Native code base on the Mac. The mobile UI doesn’t generally fit on the Mac, although there may be a few features we can borrow from Micro.blog 3.0 on iOS such as easier bookmark saving and the quick bar to switch between blogs.
Who is the best rock guitarist?
I just bought tickets to U2 in Vegas, so I’m inclined to say that The Edge has always been a favorite. Actually picking a single top guitarists is outside the scope of my skillset as the founder of Micro.blog. 😛
What are some of the features you can say “no” to?
One point I tried to make in the panel is that while we move quickly and often change priorities internally without much warning, the long-term vision for Micro.blog hasn’t changed. We want to make it easier for more people to use blogs, encouraging domain names and content ownership, and wrap that together with a safe, welcoming community. Every feature has some connection to one of those fundamental goals. So anything that goes against that is an easy “no”, like making posting more complicated with extra fields, adding ads, or turning the platform into more of a closed silo.
The more I tinker with Nostr, the more I understand the appeal for developers. It is fun. But there are so many usability challenges. User search and discovery are difficult.
When we added muting to Micro.blog, there was a discussion about whether user blocking should be added at the same time. My feeling was that Micro.blog is built around public blog posts on the web, so blocking didn’t seem particularly useful, and might even give someone a false sense of confidence that a specific user wouldn’t see their posts. After all, the posts are available to RSS readers and just reading on your blog for anyone.
This is the kind of opinion a programmer would have, though. “Well actually, the post is available anyway if you just drop down to the command-line and type curl and…” I was thinking about this again watching Bluesky scramble to add blocking a few weeks ago. We try to be thoughtful and not reactionary, so this was really something we should have taken care of earlier.
This is all a long way of saying that our initial support for blocking is rolling out this week on the web and the API, and in other apps to follow. Blocking someone will prevent your posts from showing up in their timeline. There may be tweaks and other options added to this later.
Great game and series. Didn’t really feel like a sweep with the Lakers in each game until late. Congrats to the Nuggets. 🏀
Checking out the Kagi search engine, via Daring Fireball. I remember hearing about this but never tried it. Looks clean, fast. I don’t think I’m at the point of wanting to pay for web search quite yet. So tired of ads, though.
One reason web development appeals to me is that while it can be complicated, it doesn’t have to be. You can build for the web like it’s 1995. For native apps, the complexity is required with tools, code signing, stores. Thinking about this as I wait for my code to be crunched and uploaded to Apple.
Did not expect to be installing a new version of Movable Type on EC2 this morning for testing, but here we are. Looks about the same as it did a decade ago. Nice to see it still works and is supported, though.
We shipped Micro.blog 1.7 for Android, available on Google Play. This syncs up the release with the features from the new iOS version. Lots of new stuff, like managing posts, uploads, username auto-complete, and external blogs.
Posted links for all of today’s videos on micro.camp. Thanks again to our Micro Camp presenters! I still need to edit the keynote so that will go up on Monday.
Great discount on MarsEdit today! From Daniel Jalkut:
I usually only offer discounts of 10% or 20%, but in celebration of Micro.camp 2023 I’m offering a 50% discount on MarsEdit. Use this link and see the 50% discount when you continue to checkout: redsweater.com/store/
We’re going live in an hour for Micro Camp day 2, featuring sessions by Chris Campbell, Anna Havron, Mandaris Moore, and Miraz Jordan. Watch at micro.camp or on YouTube.
Ben Werdmuller links to a great thread by Christina Warren. I get the distrust of big social media, but having e.g. Instagram or Tumblr adopt an open protocol would be amazing. Thinking otherwise would be like being unhappy if Twitter brought back RSS feeds. It’s only a good thing!
Kind of stunned by the Heat stealing both games in Boston. I like this Celtics team (of course rooting for Derrick White always) but this is going to be tough. 🏀
Thanks everyone who joined us for the first day of Micro Camp. I loved talking to Om Malik and hope it gave everyone something to think about. Tomorrow we wrap up with 4 sessions from the community and the State of the Platform panel.
Getting ready for Micro Camp so of course the lawn care service folks just showed up in the front yard with their loud lawnmowers. I had to smile. Kind of takes the pressure off when things are mostly outside my control.
We’re a couple hours away from the start of Micro Camp 2023! Details at micro.camp. (By the way, the web site is just a Micro.blog-hosted blog with a custom HTML home page.)
Episode 558 of Core Int is out with a discussion leading up to Micro Camp. The latest news on the schedule, why I’m nervous about preparing for it, and then speculation about Apple’s headset rumors.
Retrobatch from Flying Meat has been really useful while making a slideshow for Micro Camp. I first wrote a script to download the A Day in the Life photo challenge, then Retrobatch resizes them all and adds the username (from the filename) at the bottom.
We’ll have some door prizes for Micro Camp attendees. A license to MarsEdit, gift cards for movies, journals, coffee, and tea. 🎟️
Haven’t been able to finish any books lately. Probably way behind where I was for reading goals last year. Not sure if I’m working too much or just no books are quite the right fit. 📚
I missed that the videos from FediForum have been posted. Here’s the video of my demo of how Micro.blog works with the fediverse: youtu.be/2nKy-LKsS…
There’s a scheduled YouTube event for the Micro Camp live stream on Friday. We’ll link it again later, but for folks signed into YouTube you can also click the “Notify me” button. It looks like this:
Took some time this week to unravel the plumbing in Micro.blog with how blogs are published and feeds refreshed. At least for my account, it’s making a dramatic improvement to timeline updates and cross-posting performance.
Cool to see people take us up on the Summer of blogging coupon. $1/month full blog hosting! I’m biased but it’s really a great value.
Had a lot of weird dreams last night. But waking up this morning, apparently the Spurs getting the #1 pick in the draft was not a dream. Here we go! Looking forward to more basketball this week… NBA finals just around the corner. 🏀
Amazing. I’ve never believed in tanking and I had my expectations low, but… Spurs get the #1 pick. Victor Wembanyama is going to fit in perfectly. Can’t wait for next season. 🏀
Big announcement: we’re welcoming Om Malik for a keynote conversation to kick things off at Micro Camp on Friday! The updated schedule is online now at micro.camp.
Did a quick YouTube live streaming test. Seems to work as advertised. Resubscribed to Ecamm Live too, which has been helpful in past years to coordinate streaming files.
We are finalizing the Micro Camp schedule to post later today. Very excited about what we’ve got planned. Pencil in 12pm Pacific time on your calendar this Friday! With more sessions on Saturday too.
People are often confused about what exactly Micro.blog is. Is it a Twitter clone? Is it a WordPress clone? Is it a Buffer clone? I like to think of it as a mashup of several things. This post from Alan Jacobs is another great perspective: the three paths of micro.blog.
Special shout-out to @sod who has been working with us to update all the Micro.blog themes with improved Microformats markup and other fixes. A bunch have been updated already! Check your Plug-ins page every once in a while to see if there’s an update to a theme you’re using.
Haven’t done much more than skim through the Bluesky app source, but glad to see it released. I’m sure there are things in there I can learn from. MIT license too. 👍
Making screenshots for App Store connect isn’t my favorite thing. I don’t do it often so always forget which dimensions go with which devices. Apple is too picky about this… Most people probably look at small versions of the screenshots anyway.
Jean posted today about how Discover in Micro.blog will be less likely to include photos that don’t have alt text. Just an extra nudge to encourage more people to make their photos accessible.
Enjoying the new Zelda so far. Although I’m mostly watching other people in the family play. 🙂 Minor spoilers as we switch between accounts.
For a while now, Micro.blog has been archiving copies of web pages for Micro.blog Premium users, whenever you link to something or bookmark it. The archive has grown to about a million items (web pages and their images and other resources). Lots of potential here for future tools.
I’d like to update our terms of service to add a note about reclaiming old accounts, so we finally have an official policy. In a nutshell:
I say “may” because I think there needs to be some wiggle room for unique situations. There won’t be any automatic deletion of accounts.
More about the M.b problems overnight: I made what I thought was a minor code cleanup change yesterday that inadvertently affected the servers' ability to recover from failed background tasks, so publishing and timeline updating started slowing down and eventually just stopped. Very sorry, Europe!
We published a new Core Intuition. Daniel and I talk about the upcoming Micro Camp, event planning, iPad versions of Final Cut Pro and Logic, and thoughts on WWDC.
Playing with Google Bard. Impressed that it has much more recent data than ChatGPT. It knew about something that happened just a few days ago.
There’s a new beta out for Micro.blog 3.0. This adds the last big missing feature: posting to external blogs like WordPress. It should work with blogs that support the MetaWeblog or Micropub APIs.
Wordle 692 6/6. Went from thinking I’d get it in 3 guesses to barely getting it.
🟨🟨⬛⬛🟨
🟩⬛🟩🟩🟩
🟩⬛🟩🟩🟩
🟩⬛🟩🟩🟩
🟩⬛🟩🟩🟩
🟩🟩🟩🟩🟩
I’m excited to announce: Summer of blogging! For new folks signing up on Micro.blog, hosting is only $1/month for the summer. Full blog, photos, themes, ActivityPub, Bluesky cross-posting, and more. It’s a great time to start a blog at your own domain.
Two great new themes for Micro.blog are available: Outpost by @mikehaynes and Tiny by @Mtt. So happy whenever I see new themes. It takes a lot of work for someone to refine these and share them. Thanks y’all!
Got lost again browsing tld-list.com. So many fun new TLDs. Luckily was talked down from impulse buying another domain name. For now.
Thinking more about Heather Armstrong. I didn’t know her, but she was my age, and started her blog a year before mine. Must be difficult to put your whole life online. I keep my worlds fairly compartmentalized… My blog is my work, thoughts, travel, hobbies. But not the very personal.
From a post by @adders, remembering Heather Armstrong:
Already the early days of blogging are being forgotten, and the ability of the web to quietly erase history as sites fail and go offline means that those incredible, exciting, experimental days are being lost. But we shouldn’t forget those who forged the future of digital media, and Heather Armstrong was one of them.
Caught the last half of the Trump town hall. CNN was criticized for hosting this, but Kaitlan Collins did a great job fact-checking and pressing him on non-answers. It’s not really amplification. Zero risk that voters outside his base were convinced by anything he said. 🇺🇸
I’d love to see Mastodon adopt some variation of NIP-5 so that single-user instance usernames can be collapsed to just the @-domain name. I would support this in Micro.blog too (and maybe should just do it).
I’m fascinated with Nostr, but I’m having trouble getting on board with it because its development is disjointed and the creator is (I think) anonymous. The team at Bluesky is writing about their work. They have a blog. Same with Mastodon. Just easier to get behind a public, cohesive vision.
Thinking about fiatjaf’s Bluesky is a scam post. Some of the criticism seems fair, some feels premature, and “scam” is too loaded. Let’s see how it goes. My opinion hasn’t changed since AT Proto was announced: domain name usernames and data portability in Bluesky is interesting and worth exploring.
Can’t remember the last time I had an actual flat tire. 20 years ago? Longer? Luck ran out today. Slow leak that was patched a week ago came back with a vengeance. 🛞
Texas house getting HB 2744 out of committee is great news, even if feels like the bare minimum we could do. It’s okay to do this in stages. First raise the age limit from 18 to 21, then ban all assault weapons, then start a buyback program to reduce the AR-15s already out there.
Really good episode of Dithering this morning on Bluesky vs. Mastodon. As convenient as it would be to have a single decentralized protocol “win”, I want to be ready for a future with multiple successful web-friendly platforms.
Ever since I read that Bluesky has about 1.9 million folks on the waiting list, I’ve been thinking about what happens as more invites roll out. By comparison: Mastodon has over 7 million users, with 1 million on a single server. Plus a bunch more across the non-Mastodon fediverse.
Micro Camp 2023 is coming up soon! May 19th - 20th. We’ve posted the topics for the second day’s presentations.
If you missed it earlier from @news:
I’m continuing to troubleshoot (and optimize) slow blog publishing a cross-posting today. Almost back to normal but not quite.
Posted episode 556 of Core Intuition. We talk about tipping in Apple Stores, using ChatGPT, and whether Apple has missed “the year of AI” because they thought it was “the year of AR”.
Too many guns. After yesterday’s shooting in Allen, Greg Abbot “offered the full support of the State of Texas”… So that means he’ll work to ban assault weapons, right? That’s the kind of support we need.
Easy to get caught up in the excitement about the coronation. We are so stuck in divisive partisan debates over here that it’s hard to imagine the U.S. being that united around anything. 🇬🇧
I recorded a video on YouTube that goes through how I personally use Micro.blog for my own blog. It’s a little long and rambling, about 25 minutes, but it covers a bunch of features that folks might find useful.
Created a new blog on my Micro.blog account today, a placeholder for something new. Found a couple bugs in the process. I should do this more often… So easy to forget about the onboarding experience, or lack thereof.
This year’s NBA playoffs have been great. So many close games, ignoring a couple blowouts like last night’s Lakers/Warriors. With the Spurs out of contention early and their players scattered to different teams, I’ve been enjoying the postseason more than usual, finding new teams to root for. 🏀
Jack Dorsey gives $10 million to Nostr and related projects. Setting aside opinions on his leadership at Twitter, it feels significant that these funds are not VC-style investments. Presumably the reward is seeing interesting technology flourish, not profit.
Wondering what the Bluesky team has in mind for private messaging, if anything. Mastodon’s DMs have always felt awkward to me, both the user experience (hard to distinguish public and private posts) and the technical bits (any admin can read your messages).
Finished the first pass of rethinking how incoming direct messages work in Micro.blog. I still believe that most social networks should not reinvent the wheel with messaging, because it’s unlikely to be as secure as dedicated services like iMessage and WhatsApp. But we roll with what we’ve got.
Looking at this spam, I think our approach to accepting Mastodon DMs needs to change in Micro.blog. We forward them via email because we don’t have a private messaging system. But someone shouldn’t be able to intrude in your inbox. My fault. Going to rethink this today.
Eugen Rochko and team are fighting spammers at mastodon.social:
We’re aware of the spam attack hitting mastodon.social right now and our full moderation and DevOps teams are on the case mitigating any way we can (incl. switching to approval-mode registrations)
Haven’t seen this affect Micro.blog yet, but if anyone notices any unwanted @-mentions or other problems, let us know.
Update: Spoke too soon, definitely hitting us too. 🙁
Almost done with book edits. The task of manually reformatting all the footnotes and layout for the print edition was dragging me down, so figured out how to automate it with print CSS tools like Prince. Wow, going to save days or weeks of work.
Enjoyed the first episode of White House Plumbers. Also, Woody Harrelson and Matthew McConaughey might be half-brothers?! They need to go on Finding Your Roots.
Mastodon has added support for showing styled text in the new version deployed on mastodon.social. Looks good with bold and italics in blog posts federated from Micro.blog.
Maybe the most surprising thing to me about Bluesky’s early success is the “fun” aspect. I’m not very fun online — my microblog posts are often work-related or serious — but it seems clear there was a post-Twitter void here that Bluesky is filling. Casey Newton writes on Platformer:
Bluesky should continue to cultivate the sense that it is weirder and funnier than Twitter. That means leaning into some of the eye-rolling terms that users are insisting on, including skeets.
Noticed today while reviewing code that the first GitHub commit for Micro.blog was about 9 years ago. So much has happened since then, but also hardly anything. Software is never done because the world and people are always changing.
Left my headphones at home by accident. Now need to plan my whole day around which coffee shops probably have the best music on. ☕️
Not content with banning native third-party apps, Twitter has continued to cripple their API and move to paid plans for very basic access. I was committed to support Twitter cross-posting as long as possible because there are still Micro.blog customers who want to keep a foot in the Twitter world. But we knew it couldn’t last forever.
July 15th will be our last day to support cross-posting blog posts to Twitter. Even though Twitter has been effectively dead to me since I stopped tweeting in 2012, I’m a little sad to finally have to cut the platform off.
I picked July 15th to give people a couple months to wind down their use of Twitter. We now have to pay Twitter for API access, and that is the longest I can justify doing so.
It’s all another reminder that centralized platforms with closed APIs can’t last. While it’s easy to blame Elon Musk, the writing has been on the wall for a decade.
For more of the Twitter history that brought us to this point, see the chapter in my book called Leaving Twitter. Newly updated for Elon.
So, what’s next?
End of an era. Seeya on the open web.
Core Intuition episode 555! We talk all about Bluesky. (And Mastodon and Nostr and Micro.blog.)
Today is the day that Twitter said they would shut off the old API and force upgrades to the new plans. But they say a lot of things. I haven’t paid yet. Also confused why April 29th (Saturday) and not May 1st (Monday).
I’ve done a little work now with the XRPC layer of the AT Protocol, supporting cross-posting to Bluesky from Micro.blog. This post is about what I’ve learned.
(As an aside, there have been questions about whether Micro.blog supporting Bluesky means we believe in everything they’re doing. No, right now I’m mostly interested in the technology. It’s still too early for judgements on the Bluesky leadership, user experience, or ultimately how this is all going to fit together with other social web protocols.)
Bluesky authenticates with a username and password. For third-party apps, the password can be an app-specific password. I hope that eventually Bluesky will support IndieAuth, a flavor of OAuth designed for signing in to web sites that should also work well for a distributed service like Bluesky.
The HTTP POST with JSON for signing in looks like this:
POST /xrpc/com.atproto.server.createSession
Content-Type: application/json
{
"identifier": "email-address-here",
"password": "password-here"
}
You’ll get back an access token and refresh token. Sessions do not last very long, only a couple hours last time I checked, so it’s important to keep the refresh token. The response looks like this:
{
"did": "did:plc:abcdef12345",
"handle": "manton.org",
"email": "email-address-here",
"accessJwt": "abcdefghijklmnopqrstuvxyz",
"refreshJwt": "zyxvutsrqponmlkjihgfedcba"
}
The DID is a unique identifier for your account that is stored with posts on an AT Protocol server. Even if you change your handle, the DID persists and helps make data portable across servers.
When cross-posting from Micro.blog, I first try to use the auth token and if it fails, I use the refresh token to establish a new session. In this case, we pass the refresh token in the Authorization header:
POST /xrpc/com.atproto.server.refreshSession
Authorization: Bearer zyxvutsrqponmlkjihgfedcba
Sending a simple text post to Bluesky looks like this. For the rest of these requests, we pass the usual access token for authorization:
POST /xrpc/com.atproto.repo.createRecord
Authorization: Bearer abcdefghijklmnopqrstuvxyz
Content-Type: application/json
{
"repo": "did:plc:abcdef12345",
"collection": "app.bsky.feed.post",
"validate": true,
"record": {
"text": "Hello world.",
"createdAt": "2023-04-20T16:46:32+00:00"
}
}
It can get more complicated. To include a photo with the post, first upload it to storage as a blob. In my early testing, there were low limits for photo file size, so Micro.blog scales photos down quite a bit before sending them over to Bluesky.
Here’s uploading the photo, passing the raw JPEG bytes in the content body:
POST /xrpc/com.atproto.repo.uploadBlob
Authorization: Bearer abcdefghijklmnopqrstuvxyz
Content-Type: image/jpeg
image-data-here
You’ll get back a media CID (Content ID) in the ref field that can be used to attach the photo to a new post. The response after uploading a photo looks like this:
{
"blob": {
"$type": "blob",
"ref": {
"$link": "abcdefgh"
},
"mimeType": "image/jpeg",
"size": 200000
}
}
Then when posting, use the embed field with an array of the uploaded media CIDs:
POST /xrpc/com.atproto.repo.createRecord
Authorization: Bearer abcdefghijklmnopqrstuvxyz
Content-Type: application/json
{
"repo": "did:plc:abcdef12345",
"collection": "app.bsky.feed.post",
"record": {
"text": "Hello world with photo.",
"createdAt": "2023-03-08T16:46:32+00:00",
"embed": {
"$type": "app.bsky.embed.images",
"images": [
{
"image": {
"cid": "abcdefgh",
"mimeType": "image/jpeg"
},
"alt": ""
}
]
}
}
}
Bluesky also supports inline hyperlinks in the post text through “facets” that can be added to a post, similar to attaching a photo. I don’t love this because we already have HTML as a perfectly good way to format posts. I strongly believe that the social web should use HTML and HTTP wherever possible.
In Micro.blog, I automatically convert Markdown or HTML inline links to Bluesky’s facets. An example of linking the first word “Hello” in this post would look like this, using the character position and length of the word:
POST /xrpc/com.atproto.repo.createRecord
Authorization: Bearer abcdefghijklmnopqrstuvxyz
Content-Type: application/json
{
"repo": "did:plc:abcdef12345",
"collection": "app.bsky.feed.post",
"validate": true,
"record": {
"text": "Hello world with link.",
"createdAt": "2023-04-20T16:46:32+00:00",
"facets": [
{
"features": [
{
"uri": "https://manton.org/",
"$type": "app.bsky.richtext.facet#link"
}
],
"index": {
"byteStart": 0,
"byteEnd": 5
}
}
]
}
}
There is also a growing list of open source libraries for the AT Protocol. Unfortunately I wrote all my code before I realized this, so I stumbled through deciphering the API more than I needed to. Maybe this post will save you some time if you’re rolling your own thing.
Update: HTTP requests go to bsky.social, not bsky.app.
Listening to Dithering today about game consoles… If you have 2 consoles, you have Playstation + Switch, or Xbox + Switch. If you have 2 social networks, maybe you have [insert popular network] + Micro.blog. The hard part is carving out a unique, invaluable niche.
We updated the Micro Camp web site for 2023. Register for free if you’d like to join us May 19-20. Everyone gets a new sticker too! Special thanks to @Burk for the sticker design.
Finished reading: Spinning Silver by Naomi Novik. I really enjoyed this story. First-person for multiple characters was a little awkward, though, and maybe held it back from what it could’ve been. 📚
The renewed interest in open, social web protocols has been a long time coming. It’s like we were in a drought for most of the 2010s, subsisting on the water leftover from the early blogosphere, and now it’s raining. Drink up, folks! The skies are blue and the future’s bright.
I’ve been impressed with Bluesky’s performance. It has inspired me to shave off a little time for some Micro.blog API requests. We usually think of “under a second” as fast enough, but 0.8 seconds vs. 0.4 seconds is actually pretty noticeable.
Continuing to tweak our Bluesky cross-posting support. Should work better with inline links in blog posts now.
Sometimes coding is hard, but not usually. It’s figuring out how something should work that takes all the time.
Just released a new 3.0 beta of Micro.blog for iOS. This includes a big change, borrowed from the 2.x versions: Markdown syntax highlighting when writing new posts. We are getting close to release. The only major feature left is WordPress posting support. TestFlight here to follow along.
I know I’ve written about this before, but it’s worth repeating: Micro.blog is constantly shifting priorities based on what people are talking about. If we only hear a feature request every few months instead of every week, it is probably going to drop off our radar, even if we want to do it.
I’m seeing lots of Bluesky takes that are a variation of: “Oh jeez, we just moved from Twitter to Mastodon, now there’s another new thing?” But indie microblogging is about moving away from centralized platforms to blogs and open web-friendly protocols. Anything in that spirit should be explored.
I’m always fascinated when our new AI bot overlords get really basic facts wrong. They know the answer, but can’t put it together until you press them on it. Here’s a quick transcript from ChatGPT that I ran into today.
Some technologies just keep coming back… Currently writing XML-RPC code, this time for JavaScript. Despite the new-ish JSON APIs in WordPress, not to mention Micropub, MetaWeblog is still the best way to talk to WordPress without any extra plugins or configuration.
U2 tickets for the Sphere in Vegas going on sale later this week. Need to somehow fit this into my plans for the fall.
Added a basic import in Micro.blog for folks migrating from Substack. For now, just blog posts. Still need to think through email address import for newsletters… Want to make sure it can’t be abused by spammers. (Substack’s HTML is so verbose. Tried to clean it up a little on import.)
This is not exactly a commentary on any specific platform, but you can just tell when the creators of a tool use their own stuff and engage with the community. The farther you get away from that, the less confidence users will have.
Today we enabled Bluesky as an option in Micro.blog. This adds to our existing cross-posting feature that supports platforms such as Mastodon, Tumblr, Medium, and Flickr. When you post to your blog, Micro.blog can copy the post to any of these platforms automatically.
As Twitter continues to implode, we are seeing a renewed interest in the open web and decentralized social media. It’s an exciting time. Mastodon and the larger fediverse have grown to nearly 9 million users. Micro.blog is part of that with its support for ActivityPub, so Mastodon users can follow and reply to Micro.blog users directly.
While Mastodon and ActivityPub have most of the attention, I’m not entirely sure how this next generation of open protocols is going to shake out. I like how Bluesky is focused on domain names and data portability, principles that are shared by the IndieWeb and Micro.blog. Whatever happens with Bluesky, I think there’s inspiration here that can benefit other platforms as well.
That’s why we’re adding support for Bluesky now, even before the Bluesky folks have rolled it out to everyone on their waiting list. Micro.blog has never been about a single protocol. It’s about putting your blog at the center of your online identity, the place where you can post short posts, longer essays, photos, podcasts, or whatever else you want to share.
It’s still early. I’ll be watching how Bluesky evolves. There will be challenges to potentially intertwine different approaches to federation. But now is not the time to build walls. Let’s try a few things, new ways to connect platforms, knowing some might not pan out, because that’s how the open web gets better.
Fox News in the, uhm, news today reminds me of last month when I was in Dallas. I worked from a coffee shop near my hotel one morning, Flying Horse Cafe. They had Fox News on the TV. Took me by surprise as an Austinite… No way you’d ever see that here, but oh yeah, I live in Texas.
Tantek Çelik blogged about Mastodon’s account migration and its post export, which is based on ActivityStreams. No other apps really import this format yet, not even Mastodon itself. He also mentions the Blog Archive Format and how useful it would be to convert between Mastodon and this format:
Such a library would make an excellent drop-in addition to any #ActivityPub implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.
I’ve taken a first pass at writing a Ruby script to convert Mastodon’s export to Blog Archive Format. It’s available as a GitHub Gist here. It’s not packaged as a general-purpose library but certainly could be adapted for that.
Direct posts import from Mastodon will be baked into Micro.blog soon. We already support several formats — WordPress, Medium, Tumblr, Ghost — and I learned a lot about how best to process large archives while building the new Twitter import.
HTML’s srcset is such a weird image attribute. Can’t help but feel there was a better way to handle this. (But no, I don’t have any obviously better ideas.)
Matt Baer blogs about the future of Write.as and WriteFreely — taking features that are currently separate products and integrating them into more of a suite:
At this point, I don’t think it makes sense for our self-hosted product to be chopped up into multiple components like our hosted tools are. Instead, I want to bring all those tools into a single application in WriteFreely.
Remark.as will also get fediverse replies. Sounds like a good direction.
It breaks my heart a little when I drive through a historic neighborhood to see old houses bulldozed to make room for modern mansion monstrosities. I know a house is just a thing, but it feels like erasing a bit of history that mattered to someone.
“Make no little plans. Make the biggest one you can think of, and spend the rest of your life carrying it out.” — Harry Truman
The bookmarks pages in Micro.blog haven’t felt quite right to me, so today I rolled out a small redesign that I think better integrates bookmarks, highlights, and links. (This is only for Micro.blog Premium subscribers. Premium adds web page archiving and making highlights in bookmarked pages.)
If it was starting to feel like Humane’s device would be overhyped or vaporware, I’m ready to put aside those concerns. It looks like they are onto something fascinating, both the projection and the AI language translation.
On this week’s episode of Core Intuition, we talk about the Mastodon API and upcoming new MarsEdit release. And of course, blogging.
One of those afternoons where I’m hopping between unrelated tasks. Currently revisiting how to best crunch through OpenStreetMap data.
Updated my code for Bluesky for the recent API endpoint changes. Looking forward to enabling this for Micro.blog folks.
Tantek Çelik blogs about yesterday’s The Verge article on ActivityPub, underscoring some of the IndieWeb principles that are covered. There’s really a lot in there and I’m glad to see the article getting so much attention. Thanks @pierce@mas.to!
The Verge has a long article by David Pierce today about ActivityPub. The quote from me about domain names doesn’t come across quite how I intended it… Yes, domain names are hard, but we need to make them much easier to deal with because they’re actually great.
I haven’t written a new React Native diary blog post in a while because there hasn’t been anything noteworthy. We’ve shipped new versions of Epilogue for iOS and Android. Micro.blog 3.0 for iOS is almost ready — also a rewrite for React Native.
We did hit one feature that I wanted to preserve from the previous version of Micro.blog: Markdown and HTML syntax highlighting when writing a new blog post. The best way to preserve this was to port the Objective-C code over to React Native. (This feature won’t be available on Android yet.)
The “native” in React Native is because it uses native iOS and Android controls, even though they are driven from a JavaScript engine. This means we can make our own native components, written in Swift or Objective-C.
There are a few pieces of code to make this work:
Here’s a snippet of the MBHighlightingTextView interface:
@interface MBHighlightingTextView : UITextView
@property (copy, nonatomic) RCTBubblingEventBlock onChangeText;
@property (copy, nonatomic) RCTBubblingEventBlock onSelectionChange;
@end
And the MBHighlightingTextManager interface:
@interface MBHighlightingTextManager : RCTViewManager <UITextViewDelegate>
@end
For the MBHighlightingTextManager implementation, the important bits are the macros that define what properties we care about:
@implementation MBHighlightingTextManager
RCT_EXPORT_MODULE(MBHighlightingTextView)
RCT_EXPORT_VIEW_PROPERTY(onChangeText, RCTBubblingEventBlock)
RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTBubblingEventBlock)
RCT_CUSTOM_VIEW_PROPERTY(inputAccessoryViewID, NSString, MBHighlightingTextView)
{
if (json) {
NSString* input_id = [RCTConvert NSString:json];
// ...
}
}
- (UIView *) view
{
// make a new MBHighlightingTextView and return it
// ...
}
@end
Finally, the JavaScript side that loads the native component:
import * as React from 'react';
import { requireNativeComponent } from 'react-native';
const MBHighlightingTextView = requireNativeComponent("MBHighlightingTextView");
export default class HighlightingText extends React.Component {
render() {
return (
<MBHighlightingTextView {...this.props} />
)
}
}
Now we can simply use <HighlightingText> in place of <TextInput> in our XML when laying out the UI. Handlers like the property onChangeText will be referenced from Objective-C so we can call them in response to methods from our UITextView delegate.
I’m leaving some code out in the above examples for readability. And I have a bunch of code still to write, working in a branch of our project on GitHub. But already the basics are working, after (frankly) a lot of trial and error and sifting through the documentation, Stack Overflow, and even asking ChatGPT, which knows a surprising amount of how this works.
Accidentally clicked on a phishing email. Ugh, must not be awake yet. Stopped short of signing in and giving them my password, though.
Got lost down the rabbit hole of W3C membership fees… Interesting scaled fee structure, in the United States from $2k/year to $77k/year depending on the member company’s revenue.
There are always more ideas than time. One of the things I’ve most enjoyed about building Micro.blog is that it’s a platform where many blog-related ideas can fit together. The “micro” was always a bit of an undersell.
I’ve been impatient for Bluesky to ship, but this interview with The Verge has helped convince me that it’s okay to wait. The API is still in flux. Already I need to go back and update some early experiments.
One of those just try random code until it works mornings. Not proud of it. Sometimes coding is less well-crafted and more stubborn persistence.
Shoutout to the guy holding a “thoughts and prayers ain’t working” sign downtown this morning. Banning assault weapons should not be controversial. It’s time.
This year I’ve become fascinated with my family tree. Just got back my DNA kit results. (Yes, there are privacy issues. I’m ignoring those for now.) So far it reveals just about what I expected. Still amazing.
Some great NBA playoff games over the weekend. Too many injuries, though. Can’t believe Tyler Herro hit that 3-point shot with a broken hand. Shooters gonna shoot. 🏀
We pushed a new Micro.blog beta out to TestFlight, improving blog selection to move the list of blogs to the toolbar area. Here’s a partial screenshot of what it looks like.
Didn’t get much feedback about my Substack blog post yesterday, so I started to doubt myself. I wrote it quickly and glossed over some details. But that’s how it is with blogs… Sometimes you put things out in the world and hardly anyone notices. That’s okay! Still worth it. On to the next post.
Another unexpected use for ChatGPT: asking it for examples of using command-line tools like rsync for specific scenarios. Faster than digging through a man page.
For folks trying Micro.blog’s Twitter import, note that the tweets page is just a web page, so you can add intro text or other formatting if you want to. I added a little intro to mine here to give some context.
Dave Winer writes about the Twitter API changes:
Corporate platforms always fail, given enough time. The Twitter API had a good run. Now the deck is clear, and there’s room to make some new stuff, or just take a break and smell the roses a bit, or go for a bike ride. 🤪
This seems like the right attitude to me too, even if it’s frustrating to deal with platforms failing. When one door closes, another opens.
Nilay Patel’s Decoder interview with Substack co-founder Chris Best is excellent. If you’ve only seen the excerpt where Chris declines to answer Nilay’s hypothetical moderation question, that clip was not taken out of context. It is exactly how the interview went, but a small part, and they cover a lot about Substack’s business and the founder’s approach to the web.
I’ve been interested in Substack since the beginning because I think they get a lot of things right:
It seems clear from listening to Chris that this focus on identity and portability is no accident. Substack believes in empowering writers, and giving them their own “island” on the web, largely free of platform rules. There is little need for content moderation because readers are actively choosing to subscribe to a writer, not stumbling on random viewpoints that may be offensive or controversial.
Enter Substack Notes:
This is a very different design than the rest of Substack. As it grows, Notes will have much more power to amplify viewpoints and be central to how users discover new writers. It will need to be moderated like a traditional social network. It will need some kind of lightweight following model instead of jumping straight to giving a writer your email address.
In the Kickstarter video for Micro.blog in 2017, I talked about how I viewed the distinction between the Micro.blog timeline (the social network) and the blogs we hosted (or that you can host elsewhere):
If we start to separate the publishing from the social network, it unlocks something. It empowers writers to feel like they own their work, even if that’s short posts. And it frees social networks to build a safe community, without worrying about censorship, because no matter what the networks do you can always post to a site with your name on it.
This has guided our approach to moderation all along. I expanded on it in several chapters of Indie Microblogging, especially the one called Open gardens. It remains a unique part of how Micro.blog works compared to pretty much every other platform.
Substack could adopt a similar philosophy with Notes. Instead, they seem stuck on… something. I’m honestly not sure why they haven’t thought this through in a little more detail.
I’m not rooting for Substack to fail, but I do think Notes needs changes. And while I’m offering unsolicited advice, they should drop the “building a new economic engine for culture” tag line. It means nothing. Forget about the VC money, the drama, whatever is happening with Twitter, and get heads down to build something that makes the web better.
New episode of Core Intuition is up! On episode 553 we talk about WWDC 2023 tickets, conferences, and Micro.blog’s new Twitter import feature.
We redesigned the Micro.blog home page this year and it’s so much better. Yet I still wonder if we’re telling the complete story about what Micro.blog can do. Full blogs. Social network. ActivityPub. Podcast hosting. Newsletters. Tweet import. Hugo. Cross-posting. More open APIs than any platform.
I’ve been keeping an eye on our OpenAI bill since we added automatic podcast transcripts for all podcasts hosted on Micro.blog. It’s working out great and sustainable. Micro.blog for podcasts is best for solo microcasts anyway. Perfect for quick transcripts and the way our hosting is structured.
Congrats to Rogue Amoeba on the major update to Farrago. They’ve done some really nice work in this app.
There’s a lot of talk about how AI can get facts wrong. That’s fair, but in my experience it’s correct most of the time. Even when it’s slightly off, there’s usually some useful truth in the answer. Much more frustrating is voice assistants who can’t even begin to give an answer.
More and more I find myself keeping ChatGPT open and asking it even dumb questions that Google or DuckDuckGo could answer just as well. “If it’s 1pm in California, what time is it in Poland?” Having an ad-free, simple response is nice. This is going to completely upend the search engine business.
I recorded a video on YouTube showing how Micro.blog’s new tweets archive import feature works. It’s 6 minutes long and I explain more about how the different parts fit together.
Daniel Jalkut blogs about Micro.blog’s new tweets import and how it can work with MarsEdit.
It’s not all about Elon Musk. Ben Thompson has made variations of this argument on Stratechery and Dithering, but I wanted to quote this segment from the Sharp Tech podcast where I thought Ben particularly nailed it:
Part of the irony of everyone getting upset about Elon Musk killing all the third-party Twitter apps is that that’s what Twitter’s management should have done a decade ago. If you’re going to go in that direction, go in that direction. Instead they didn’t have the guts to sort of follow through in their strategic decision to its logical endpoint.
I stopped posting to Twitter in 2012 exactly because of this strategy. I’ve said that Elon has greatly accelerated what was already the path for Twitter fading into silo irrelevance. I wish I could come up with a less violent analogy, but what comes to mind is Twitter leadership in 2012 loading the gun and pointing it at third-party apps, but it wasn’t until 2023 that anyone pulled the trigger.
Elon deservedly gets most of the blame for Twitter’s recent chaos. But I don’t think Twitter was going to last forever under any version of its clown car leadership over the last 15+ years. In the long run we will be thankful that Elon is effectively putting the company out of its misery. We’re going to see innovation on the open web as third-party developers realize they are the ones who have actually been given new life.
Share extension is back, and better! There’s a new beta of Micro.blog 3.0 for iOS with support for sharing photos and links from other apps. Grab it on TestFlight. Note that this is still a beta and there are a couple glitches, for example with cropping photos sometimes.
Substack Notes is interesting but they seem to have forgotten a valuable part of the rest of Substack: content ownership and portability. Your newsletter/blog can be at your own domain name, but “notes” are just another silo on someone else’s platform.
Today we launched a new feature: importing an archive of your tweets to Micro.blog. This is available to all paid subscriptions and can be accessed on the web under Posts → “…” → Import.
Very early Micro.blog customers may remember that we used to have a Twitter import feature alongside our traditional blog import from WordPress, Tumblr, and other platforms. We disabled this years ago because I kept hearing from people who realized that it was a mess importing tens of thousands of tweets into their new blog. I’ve taken that feedback to build this new feature into something that I think works much better.
There are a few unique twists with how this works:
You can see my own tweets on my blog here: manton.org/tweets
Structuring the tweet storage this way means we can leverage many of the powerful features built in to Micro.blog:
Because the storage is just blogs, you can use existing apps to manage the tweets and photos. For example, you can use MarsEdit to download and search all your tweets. It’s also easy to zap all your tweets and start over without touching your actual blog.
Some limitations: I’ve decided to only copy photos from the archive, not other types of media. If you have a lot of photos, expect this to take a long time as Micro.blog extracts the photos from your archive and uploads them to our servers. You can keep an eye on what it’s doing on Account → View logs. I expect we may tweak this as we get feedback from more people.
Enjoy! I hope this makes it a little easier to say goodbye to Twitter.
If you’ve procrastinated downloading your tweets archive from Twitter, I would do it now. It takes up to a day to get it, and who knows if it will change or break in the future.
Went to see Air. Loved it. So hard to make dialog in a movie like this not sound fake, but they pulled it off. Felt very real. Best movie I’ve seen in years. 🏀
ChatGPT continues to impress. I’ve started asking it programming questions just to save a few minutes here or there. For example, this question returned a detailed answer that was exactly correct:
I’m using Ruby and DataMapper with MySQL. How to get a list of unique years used in a database table “pages” with date field “posted_at”?
🤯
Just posted a new Core Intuition. More on our favorite recent topics: the Twitter API shutdown and AI-generated images and text.
Love that feeling when I realize that previous me had already written code to do exactly what I need today. There’s a whole database table I forgot existed to solve this.
Wanted an illustration for an upcoming feature, and spent some time using DALL•E for the first time. Fascinating. Generated dozens of images, then drew some parts myself and put them together. I don’t think these models should be trained with copyrighted works, but credit is murky to me now.
The Fediverse Report continues their great summarization of recent hot topics. On trademarks, Eugen is certainly within his right to trademark Mastodon. I chose not to trademark Micro.blog because it’s too close to microblog, which is a word everyone can use. I also prefer “social web” to fediverse.
Fascinating discussion on the latest The Talk Show with @gruber@mastodon.social and @danielpunkass about AI. What does it mean for humanity when more tasks can be automated and fewer people need traditional jobs? As a developer, a lot of my time isn’t coding but thinking how something should work.
Blast from the past: video of my old iOS app Tweet Library. I forgot how much I loved this app. 📦
When I started building Micro.blog, I tried to limit dependencies on external platforms. The main connection is via cross-posting, which is an optional feature and not what I consider the core platform. So for example, I resisted integrating tweets into Micro.blog’s timeline, even as many people asked for it.
We are seeing now with Twitter’s implosion why that matters. I didn’t think Twitter was going to last forever, but Elon Musk has greatly accelerated Twitter’s fall beyond what I expected even when I was most pessimistic about massive, centralized platforms.
Even so, I find myself this week investing time into keeping Twitter cross-posting in Micro.blog going for a little longer. I’ve rewritten the API from version 1.1 to 2.0. Auth has to change to make that work, and an unfortunate side effect is that photo upload also has to change. I’m forced to simplify tweets so that they link back to your blog for photos.
Twitter’s paid API rollout have been chaotic. Bridgy developer Ryan Barrett found that Bridgy’s API access was shut off already, weeks ahead of the expected April 29th deadline:
The silver lining is, after all the chaos and destruction and flight to the fediverse, Twitter doesn’t feel nearly as important now as it did half a year ago.
Back in 2012 when I stopped using Twitter, I would never have guessed that 10+ years later I might be paying Twitter $100/month for the privilege of using the API. But I don’t like shutting off a feature without warning. The compromise I’ve come up with is to continue supporting Twitter cross-posting for a limited time.
Here’s where I see things going from here:
In a bit of “lemonade from lemons” good news, I’m working on something new for Twitter users that we can control. Tweet archive import! We had a version of this feature a few years ago in Micro.blog but had to disable it because it wasn’t quite right. I’m taking those lessons and also my experience building Tweet Library to make something that will last.
Did a first pass of rewriting all my Twitter API 1.1 code to 2.0. Halfway through I started to seriously question why I am bothering, given the limited lifespan of this code. It’s straightforward to push through, except for one wrinkle: Twitter never finished implementing media upload in 2.0! Sigh.
There’s a lot going on with the S-GPT shortcut. Very clever to have trigger words in the speech that help integrate with system tasks. I also keep imagining the potential for this when voice assistants are powered by it.
I’m sure a lot of Trump supporters are having a hard time processing what is going on with multiple potential charges against the former president. Doesn’t seem fair, right? Why was he impeached twice and always in legal trouble? But it’s simple: he was a corrupt president. 🇺🇸
Attempts to refill the bird feeders have resulted in squirrels taking over the backyard. They are relentless. I’m downstairs trying to work and keep getting distracted looking out the window.
Interesting to compare the main headlines from feed reader home pages:
Feedbin: “A nice place to read on the web” (Love it!)
Inoreader: “Take back control of your news feed” (Also good!)
Feedly: “Track insights across the web without having to read everything” (Enterprise-y!)
Molly White has a good post covering Feedly’s “protests” feature. But even ignoring all those problems, it didn’t seem like this belonged in an RSS reader. Even minor features should support a product’s main reason for existing, or its mission.
Grabbing coffee this morning before heading back to Austin, catching up on email. Still thinking about Taylor Swift last night. Incredible show. AT&T Stadium is massive… 70k people at the concert, times 3 nights here, so 210k people just for the Dallas / Fort Worth area.
Good write-up about FediForum from The Fediverse Report. On the $40 pricing, I was a little skeptical at first of excluding too many people, but the attendance size was just right. Great participation. For the fediverse to reach its potential, there should be a mix of business models.
If you use Drafts, check out this new action for Micro.blog. Post drafts, publish, choose your blog, cross-posting, and more options. Thanks @donnydavis!
The plug-in Search Space by @sod has been updated to 1.0. It’s a nice upgrade over the older search I wrote, searching blog posts, replies, and even the new podcast transcripts.
Taking the train up to Dallas tomorrow for a quick 24-hour trip. Initially was trying to save money in coach, but just upgraded to a roomette so I can more easily work and enjoy the trip. Hope when Brightline is finished with the Vegas line they can expand to Texas. 🚂
Posted Core Intuition 551! This episode covers the launch of Micro.blog’s new podcast transcripts feature, and more generally what AI is good for. A short show, just 22 minutes this week.
Wrote a help page with some more details about automatic podcast transcripts in Micro.blog, a new feature we shipped this week. Really happy with how this feature came together.
The new Twitter API tiers are about what was expected. Disappointing. For Micro.blog, we plan to support cross-posting for a limited number of months, to let folks wind down their use of Twitter. There’s no future on Twitter so all we can do is smooth over the shutdown for customers.
Just finished a quick demo of Micro.blog at FediForum. Might’ve talked too fast. The variety of demos is so interesting. Mastodon clients, Planetary, WordPress, Flipboard, and others. It’s an exciting time for the open web.
We’ve launched a new feature for Micro.blog Premium customers: automatic podcast episode transcripts, powered by OpenAI’s Whisper model. I’m excited about this because it’s one of the more practical, time-saving solutions coming out of the rise of AI. The automatic transcripts are so accurate they can be used as-is, or edited by hand as you have time.
I thought it would be clever to ask ChatGPT to write a blog post announcing this feature. You can see the result here. But I threw it out because I like writing my own blog posts!
At Micro.blog, we don’t usually reach for automation first. We curate the Discover section by hand, looking for posts that will provide a snapshot of activity on Micro.blog to help you find new people to follow. We don’t have trends and don’t have public likes or retweets. AI is going to reshuffle many tech products, but we’re never going to have an AI-driven algorithmic timeline. AI is a tool that we’ll only use when there is real benefit that aligns with our principles.
The new transcripts feature is available to anyone hosting their podcast on Micro.blog. When you upload a new MP3, Micro.blog will process it to generate a transcript. You can then edit the transcript or link it from your podcast page.
There is also a new Micro.blog plug-in to add a list of transcripts to your blog, as well as control options to disable transcription and link to the transcript from blog post. Search in the plug-in directory for “Transcripts” to install it.
There’s no extra charge for any of this. Micro.blog Premium has always been $10/month and it will continue to be priced that way. It includes podcast hosting and also email newsletters, bookmark archiving, web page highlights, and much more. We think it’s a great value.
NSDrinking tonight! 🍻 I’ll be there. I haven’t joined in a while, so will be nice to catch up with folks. Anyone’s welcome.
It’s pretty incredible how little has changed in podcast RSS feeds in 20 years. That’s a good thing. The podcast ecosystem is not exactly suffering because of any confusion or missing spec features.
I agree with the spirit of the Podcast Standards Project but I’m concerned about the details. The specification seems overly strict in a couple places (like guid) that will not be compatible with a bunch of feeds.
The automatic code reloading in React Native is still kind of wild to me. I committed some changes, pushed to GitHub, then switched branches to something else, and the UI updated while the app was running in the simulator. Surprised me even though I know it works that way.
Just pushed out another TestFlight beta of Micro.blog 3.0. This has some really nice new stuff for managing uploads. Also the return of basic photo filters! Getting closer. Still missing: share sheet.
The new Zelda looks great. Love the fuse ability featured in this gameplay video.
I’ve been playing with Wavelength Messenger. Not to be confused with our own Micro.blog companion app for podcasts, also called Wavelength! I wish it was called something else, but ignoring that I think there’s a lot to like. John Gruber’s introduction is the best place to start.
FediForum is this week! On Thursday I’ll be demoing how Micro.blog fits into the fediverse, and I’ll join in other sessions when I can. You can see the schedule here.
Worked a bunch this weekend trying to decommission an EC2 server (hosting App.net archives!) by moving millions of little files to S3. Taking forever, often failing. I’ve been maintaining this for years and really want to turn the page on it, but can’t accept losing any data.
With yesterday’s podcast, we hit 550 episodes. Some listeners may have noticed that we’ve slowed down a little, recording every other week while there has been a lull in sponsors. Hoping we can do a few new secret member-only episodes this year.
On the latest Core Int, we talk about shifting deadlines for shipping Black Ink and the potential for integrating new AI tools in developing our apps.
I like this summary by @snarfed of why HTTP content negotiation is more trouble than it’s worth. Simple, different URLs for different things are easier to debug, copy/paste between apps, etc. I often look at Micro.blog’s JSON in a web browser, no special tools needed.
Great story from the @RogueAmoeba blog about a meeting with Adam Curry, Eddie Cue, and Steve Jobs that may have saved Audio Hijack.
We don’t use AWS for that much, but costs just about doubled last month with more CDN usage. I tweaked some settings to try to bring it down a little. 💰
Finished reading: The Cat who Saved Books by Sosuke Natsukawa. Books about books. 📚
Dunno if I’m late or early to this, but I’m playing with the OpenAI API. Impressive. The folks over there know what they’re doing.
Really didn’t want to be up at midnight still dealing with attacks on our servers, but here we are. Good news is I was able to optimize a few things that will be helpful going forward anyway.
Micro.blog was acting a little sluggish so I looked at the logs and of course the servers are being hammered again by “hackers” attempting to exploit security holes that don’t exist. Blocked a bunch of stuff and should be better now.
Great article in Texas Monthly about Community Impact, a hyper-local newspaper for neighborhoods around Austin, Dallas, San Antonio, and elsewhere.
I hadn’t been following Hachette v. Internet Archive closely, so spent a few minutes listening to Brewster Kahle’s statement. It seems part of a larger issue of whether we can own digital content or will have to rent it. The Internet Archive is such a force for good, glad they’re fighting this.
Watching some of the recent Microsoft Copilot demos and playing with Bing, I wonder what AI products they will roll out before everyone else can even attempt to catch up. Maybe a Microsoft voice assistant box? It would leapfrog Alexa and Siri.
I really enjoyed this episode of The Talk Show with guest Jason Kottke. Their talk of 404 links after years (and decades!) of blogging inspired me to expand our archiver in Micro.blog to make it easier to preserve a copy of web pages you link to. I recorded a YouTube video with the details.
The new beta of Micro.blog for iOS is coming along really well. We’re at the point where I can see the finish line, and I’m comfortable punting some more features into the next update.
Spurs eliminated from the playoffs early this year, but you couldn’t tell by watching the 2nd half of this Hawks/Spurs game. So fun to watch. 🏀
Listening to U2’s Songs of Surrender. I think I was expecting a kind of “Taylor’s Version”-style re-recording, but it’s more a new take like you’d hear at a concert. Love this. 🎵
Playing with FeedLand reminds me that Micro.blog doesn’t have OPML export. The reason is because some people might have private-ish RSS feeds that power their account. This is rare but I wanted to be careful about exposing the URLs. Need to first add OPML that only includes obviously-public feeds.
We’re enabling ActivityPub for everyone now, not just recent users. This is needed so that you can fully migrate followers away from Micro.blog if you want to in the future. It will cause email notifications for some folks who haven’t used Micro.blog in years, but I think it’s the best way forward.
Long day. Drove into hail somewhere before Denton, then through a thunderstorm between Waco and Austin. It started with lightning playing in the clouds and then the downpour was on us, destroying visibility as we crept down the highway with our hazard lights on. Kind of a Texas-sized welcome home.
I’ve been a software developer for about 30 years and ChatGPT is the first technology that I can barely comprehend. Still feels like magic. 🪄
Finished reading: Elder Race by Adrian Tchaikovsky. A short, great read. 📚
Did not finish: Senlin Ascends by Josiah Bancroft. Just couldn’t get into it. Might try to pick it up again some other time in print instead of audiobook. 📚
I was reviewing a GitHub pull request today for a potential upcoming feature and was struck by how well it represents my workflow with Micro.blog for major new features. Start with some basic structure for the code, add more pieces, then fix bugs and polish it up. Screenshot:
Great milestone as Kottke.org hits 25 years. Jason writes about the early days:
The updates on weblogs & diaries were smaller but more frequent than on other personal sites — their velocity felt different, exhilarating.
Enjoyed Colorado this week. Heading back to Texas today… Going to miss my new morning routine of walking to the coffee shop with a view of the mountains in the background.
Royal Gorge Route Railroad. Incredible views, good lunch. Makes me want to re-read From the River to the Sea which covered a lot of building the track here.
There’s no lesson in impermanence like spray painting your message at Cadillac Ranch only to have it covered up by someone else 30 seconds later.
Posted this week’s Core Intuition, all about social networks and blogging. Bluesky, the AT Protocol, Micro.blog, WordPress, ActivityPub, and Nostr.
I can’t take Meta’s efforts at decentralization seriously while they don’t even have a usable API for posting to Facebook and Instagram. From Platformer:
Building a decentralized network could also give Meta the opportunity for its new app to interoperate with other social products — a previously unheard-of gesture from a company known for building some of the most lucrative walled gardens in the industry’s history.
Finished reading: Assassin’s Quest by Robin Hobb. An extraordinary series.📚
21 years ago today, my first blog post. A bunch of promising social networks have come and gone in that time. Often feels like very little is permanent, so make sure to have your own space on the web.
What an incredible milestone for @_Davidsmith@mastodon.social: 100 million downloads of Widgetsmith. This part of his blog post resonates with me too:
The Indie Developer community has demonstrated time and time again the tremendous capability of the individual or small team. Showing that it doesn’t take massive teams with giant budgets to create things with enduring value.
Walked up to the coffee shop this morning. The side of the road everywhere still looks like this, leftover branches from the winter storm. Cleanup trucks starting to arrive, but it’s going to take a while.
Congrats @playdate@panic.com on the Catalog release! I’m updating my Playdate now. It’s the model that I still hope we’ll get for the iOS App Store one day: a curated store + side-loading for everything else.
Worked this morning at Cuvée Coffee. Bags of coffee beans for today’s prompt “whole” on the photo challenge. ☕️
New Micro.blog 3.0 beta going out to TestFlight folks now, adding username auto-complete. Still has a couple glitches but should be a nice improvement when you @-mention people. We are steadily working through re-implementing the features from 2.3 so we can ship 3.0 to the App Store.
Bluesky is starting to enable custom domains. This is exactly how things should work in terms of identity and portability. Micro.blog has a similar (but less ambitious) way to follow domain names. Would love to see Mastodon get inspiration from this.
Photos still rolling in every day for our March photo challenge. It’s fun to see some Mastodon posts in the mix too! Check out the grid view on the web for an overview of everything. Not too late to participate, follow @challenges for the prompt each day.
Stopped at a train crossing as an Amtrak went by. Because today’s photo prompt is “engineering”, thought of a train engineer and got this shot out the car window. 🚂
Two new iOS app updates to start the week: Sunlit 3.4.4 fixes setting alt text, and another Micro.blog 3.0 beta with support for saving and publishing drafts.
Looks like Mastodon will be getting expanded support for showing styles in posts. Micro.blog already sends bold, italics, and other basics to Mastodon, so this will be a nice improvement for folks reading in Mastodon.
In case anyone doesn’t notice the post on @news, there was an issue with loading photos from the CDN tonight after an HTTPS certificate expired. I’ve fixed it and also added the CDN to our monitoring so this won’t happen again.
I’m going to attend FediForum on March 30th (day 2) to show how Micro.blog and Mastodon work together. Should be interesting! Feels like 2023 is going to be different tech communities coming together in our shared post-Twitter world.
I’ve been trying the Bluesky beta (still private, but they have a waitlist). I’m open to supporting it because Micro.blog isn’t based on any single protocol. It’s a blogging platform and social network that connects with the web. ActivityPub, Micropub, WebSub, RSS, XML-RPC, whatever.
Thanks @Aywren for the kind words about Micro.blog and how it connects to the fediverse and other services. Love this line: “Micro.blog has the ability to connect everything together in a crazy good way.”
Solitude is coffee and a breakfast taco and my laptop, having the whole outside to myself for a little while. Lazarus Brewing. ☕️ (Also trying to do all my photo challenges in black and white for something new.)
We went seriously down the genealogy rabbit hole last night, with a couple “oh wow” moments of discovery. Need to do a little more research at the library (print books! microfilm!) and then will try to write it up in a blog post.
John Gruber writing about the App Store / Twitter apps refund problem:
Consider the gut punch of losing your job — you stop earning income. It’s brutal. Now imagine that the way it worked when you get fired or laid off is that you’re also suddenly on the hook to pay back the last, say, 6 months of your income. That’s where Tapbots and The Iconfactory are.
Love seeing the photos coming in for the March photo challenge. My favorite view is this grid view of thumbnails. Related, I think it’s time we enable the CDN for all blogs by default. I’ll make that change later today and of course you can opt out.
I’ve said before I never want to change Micro.blog’s $5 standard hosting price. The best way to increase revenue is to get more customers and make our $10 plan valuable. But if we ever change it, I promise not to blame it on macroeconomic headwinds. Customers want clear and honest answers, not spin.
Good write-up on Six Colors about the updates to Twitterrific and Tweetbot, which let you opt out of getting a refund. Strongly recommend if you had a subscription to download the update and opt out. Just takes a few seconds and will really help those developers.
Day 1 of the Micro.blog photo challenge! Today’s word is “secure”. I noticed this keyhole covered up or filled in at the coffee shop.
It’s bad enough that Linode dropped their logo, but now prices are going up by 20%? I haven’t done the math but this is going to be a big hit to our Micro.blog hosting costs. Not happy.
Can’t believe it’s March already, at least for folks on the other side of the world. Reminder to Mastodon folks: you can follow and participate in the Micro.blog photo challenge by following @challenges@micro.blog. We’ll be sharing some more details as things get underway.
Loved the first book in this world so decided to get A Day of Fallen Night on release day. Still have a couple other books to finish first before I can start this. 📚
Last night, stayed up until 1am reading Assassin’s Quest. Felt like I was 17 years old instead of 47. 📚
With the big character limit change behind us, I had a free morning to work on anything. This is my favorite thing about being small. Added a new CSV export for highlights based on recent feedback.
Don’t sleep on our bookmarks and highlights feature. 🙂 It is going to grow into something special.
I uploaded a very short 21-second demo video to YouTube, showing the Mac app’s updated character counter for posts with block quotes. Same behavior across all platforms as described in this announcement post.
In 2014, as I was starting work on Micro.blog, I blogged about the properties of a microblog post, including the character length:
I picked 280 characters instead of App.net’s 256 characters because it’s slightly less nerdy, and feels right at exactly double Twitter’s 140. This should be thought of as more of a guideline than a rule, though — just something to shoot for.
After that, Twitter also doubled their character limit to 280 characters. Mastodon launched at 500 characters. In the years since, it has felt less symbolic for Micro.blog to stick to 280 characters. Thinking about a post-Twitter world, 280 actually now feels kind of wrong.
Micro.blog is based on real blogs, so you can have full-length blog posts with a title, categories, photos, inline links, podcasts, and anything else you’d expect blogs to have. Those full posts don’t have a limit. It’s the Micro.blog timeline that encourages the 280-character limit to make the timeline as readable as possible, not cluttered with long posts or “read more” links.
Today we’re making the next big change to how the timeline works: we’re “rounding up” the character limit to 300, and for short posts that contain a block quote, we’re doubling it to 600.
Unlike some social networks, Micro.blog’s character counter is for the text you will see in the final post. It strips out any Markdown or HTML tags when calculating the length, so there’s no extra cost to italic text or links. And with the 600 limit for quotes, it’s more consistent to use Micro.blog’s “Embed” link to paste in someone else’s post from the timeline and know it won’t be truncated.
This gives posts a little more room to breathe. The posts are still short enough that it’s not a significant change to the reading experience in the way that bumping it all the way to 500 would be. It feels right for Micro.blog.
Micro.blog on the web, the Mac app, Android app, and beta of Micro.blog 3.0 for iOS on TestFlight have all been updated with this new limit.
There’s still more to do. We plan to adopt this change for Micro.blog replies as well, which have always been treated differently than regular posts. Because that’s a more disruptive change, we’ll roll it out separately in the coming months. We have some ideas for improving the UI for long replies to tie replies back to your blog. That will take longer to get right.
Enjoy the extra 20 characters! Happy blogging.
We’re doing another photo challenge in March! Post a photo each day to your blog, inspired by prompts that we’ll post to Micro.blog.
New episode of Core Int: I’m the King of the World. We talk about @danielpunkass trying to ship Black Ink for iOS. Then we react to the latest news of Twitter’s Titanic-like slow sinking.
Actually made a to-do list to coordinate shipping a new feature on all platforms at once: web, macOS, iOS, Android. Takes a lot of juggling even for minor code changes.
Spending a little time this morning improving performance to combat “hackers” making a bunch of requests to our servers, as they attempt to exploit holes that don’t exist. A large percentage of our total hosted blog traffic is just 404s. Waste of internet bandwidth. 🙁
I’ve documented how Micro.blog works with the Micropub API’s syndicate-to parameter now that there’s more control over cross-posting. Always feels good to revisit an IndieWeb API.
From Platformer, this rings true especially for the Twitter API free vs. paid changes that never materialized:
Musk seems to announce a new thing coming “next week” all the time, and often those deadlines pass and whatever feature was allegedly coming is never heard of again.
It’s really cool what @lex has been doing with his Daily Lex podcast. I hoped we’d see this kind of thing when we built podcast hosting in Micro.blog. Recording even a short show nearly every day is hard… I’ve tried and want to get back into it.
Today we updated the web version of Micro.blog (and the Mac app) to provide better control over how new posts are routed to external services like Twitter, Mastodon, LinkedIn, etc. Just like showing blog categories, you can show checkboxes and uncheck which services you don’t want Micro.blog to cross-post to. This setting is remembered only for the current post and by default posts go out everywhere.
This is a fairly big change. I expect we’ll learn more as people actually use it. I wanted to get it out for the web and Mac first because we can ship those without waiting for approval from Apple and Google. Mobile versions will follow.
Some of the gotchas you might run across:
We’ve also expanded our support for the Micropub API to include syndicate-to fields. This is well-covered in the spec. The Mac app is open source and uses the same public API.
Finished reading: Ready Player One by Ernest Cline. So much fun. Still going to skip the movie, doesn’t seem possible to adapt without losing too much. 📚
Working on a couple new features. Some things we try to roll out across all platforms at once. Some it’s better to release for the web first, then follow up with native app implementations. Not an exact science, just depends on what feels foundational or optional.
Reading about Biden’s trip to Ukraine. Flight to Poland and then 10-hour train to Kyiv. Hoping we see some photos of the train… Fascinating everything that went into the trip. 🇺🇸
Micro Camp 2023 will be in May. Online-only this year. Email @jean if you’ve got an idea for a short talk you’d like to share with the Micro.blog community.
Rolling out some plumbing for future work. Some features are best deployed in phases… Database changes first, then other services bits, then finally clients. Nice to be able to see how things are running before launching for real.
I try not to complain about pricing because I know how annoying it can be when someone says $5 for Micro.blog is too much, but $12 for Meta Verified is way out of whack. Seems to be a new trend to charge for non-features.
This new Micro.blog plug-in from @sod is so clever. Post previews using your blog template!
Another week, another round of ActivityPub-related improvements! Over the last few months we’ve been filling in little details for Mastodon compatibility in Micro.blog. Were at the point where Micro.blog is a good fediverse citizen and has everything most people should need.
Today I rolled out initial support for setting a Mastodon profile header image. This is a feature that Micro.blog doesn’t currently have for its own profiles. Should it? I’m not sure, but in the meantime I didn’t want it to hold back anyone who likes profile headers on Mastodon.
You can upload a profile header in Micro.blog under Account → View Mastodon Details. When Mastodon users follow your account, they will see the header on Mastodon. Here’s a screenshot of part of the settings screen:
Micro.blog also does a better job of notifying followers on other servers when a profile photo updates. Mastodon generally has a different philosophy for storing images than Micro.blog does. Micro.blog loads most images as needed when they are viewed and caches them for a certain length of time, whereas Mastodon waits for a server to tell it that a profile or post has updated and then copies any images to its own server.
We could take most major features in Micro.blog and keep fine-tuning them indefinitely. Mastodon support is no exception, but I think this is a good time to pause. Next week I’m excited to revisit some pieces of the core Micro.blog platform that don’t necessary have anything to do with the fediverse.
Finished reading the last few chapters of Royal Assassin by Robin Hobb on the flight back to Austin. Can’t wait for the next one. 📚
Realized yesterday that a better per-post cross-posting setting is probably the most common Micro.bog feature request over the years. I think it’s time. Expect it soon-ish.
Yesterday at the Rose City Book Pub, catching up with @jean. 📚
Hung out with a bunch of people yesterday who I mostly hadn’t met in person before, so now I’m replaying every conversation in my head to remember what idiotic things I probably said.
Of course the HTTPS cert for one of our CDNs would expire while I’m on an airplane. Thanks as always to @vincent for recovering things quickly.
At the beginning of each week, I make a short list of important tasks to work on. Always nice when it’s midweek and a bunch of things are done, sometimes everything. I’ve found this approach works well for me… Each week is a reset with achievable goals.
Every time I set up something in S3 or Cloudfront, I have to re-learn how it works. Users, bucket policies, CORS… Doesn’t matter if it was only a few weeks ago that I last configured something, or that I’ve used AWS for years. The UI is optimized for flexibility, not convenience.
Got some good replies that maybe I’m wrong about UFOs. But assuming we’re mostly alone, I still don’t know whether to be sad or inspired by it. No neighbors means it’s all on us to explore and eventually move to other planets. 👽 Preferably not with balloon power. 🎈
UFO speculation is funny. Aliens aren’t going to invade with balloon-powered airships! 🎈 I think we’re mostly alone. The universe is vast, but it’s not that much older than our own planet. Not enough time to develop another civilization and solve lightspeed travel. 👽
We pushed another TestFlight beta out for the Micro.blog rewrite. This adds post editing, which was one of the last things that I missed from the previous shipping version. @vincent continues to do good work on this, and I’ve even started contributing a little bit of code.
“I expect chaos.” — Me, writing in October just after Elon took control of Twitter.
One of my favorite things about blogging is looking back on what guidance might be hidden in old posts. Old blog posts are like a mission statement reality check. Yep, still on track.
I don’t have strong opinions about football rules like I do about basketball. I think my nitpick with last night’s game is that a 5-yard penalty also came with a free 1st down. Clock management is so critical late in the game that 1st downs shouldn’t be given out easily. 🏈
I love emoji, but I seem to have become grumpy about custom emoji (like Slack or Mastodon) because they don’t actually work anywhere else on the web. Maybe it’s time for me to let go and embrace the fun, despite the inconsistencies.
Posted @coreint episode 547 with a recap of last week’s ice storm in Austin, and then a long discussion about enabling Mastodon-compatible usernames in Micro.blog and what the impending Twitter API changes might mean for Micro.blog.
We’re caught up on Last of Us on HBO, and also started playing the game on PS4. I’ve been mostly in the Nintendo world for years, so I missed a lot of really good PlayStation games. Nice thing about waiting: it was only $10. 🕹️
Lots of NBA news. Poeltl back to the Raptors. Will miss him, loved having him on the Spurs. Durant to the Suns. And this is mind-boggling on the failed Brooklyn experiment:
Durant, Kyrie Irving and James Harden all arrived to conquer the NBA together, and they all left on the muscle of trade requests. They played a total of 16 games together.
Continuing to tweak how we handle Mastodon servers that are down. A lot of instances come and go. Micro.blog is better now about retrying connections but also noticing when a server is probably not coming back.
Excited as LeBron gets closer to the all-time points record. Should happen tonight or Thursday. I loved watching Kareem when I was growing up. Always a Spurs fan now, but it’s been a long time since the Spurs/Heat finals… LeBron has won me over. 🏀
Setting up more Micro.blog accounts today to be ActivityPub-enabled. Folks will get an email when this is enabled. It can be turned off, and we’ll likely be adding some more settings here too.
We’re going to be doing more regular TestFlight builds of Micro.blog 3.0 as we get more features filled in. If you want to follow along, check out @news for the latest links and other updates.
Several days ago, Twitter announced the API will no longer be free. Then Elon backtracked, saying maybe “good” bots will be free. We still have no idea. It’s stunning how badly they are handling… well, everything. 2k employees is still a lot! It’s not the staff, it’s the chaos.
Ahead of the Twitter API going paid-only, I’ve been looking into how much we’re actually using it. I’d like to keep offering Twitter cross-posting for the next X months to give Micro.blog customers an offramp. It’s hard to make business decisions with Elon’s erratic leadership.
Finished reading: The Dragon Republic by R. F. Kuang. Not sure I’m going to continue the series. There’s great stuff here but I’m no longer feeling much sympathy for the main character. 📚
Slowly getting back to normal after a few days without power. Lights came back on last night, and it was like a luxury… Fast internet. Heater. Hot showers. The only reminder of what happened is a yard full of tree branches. Just hoping most of our live oaks survive this. ❄️
Even though I’ve been personally done with Twitter for years, still sucks to see the API go paid-only. Feels similar to when we had to disable Facebook cross-posting from Micro.blog because Facebook continued to lock it down. But we’ll see… Curious about the price and terms.
Driving through the neighborhood and it’s like nothing we’ve seen here… For a moment I imagined a giant ice god, sweeping down with frost and fury, smashing trees. ❄️
We’ve lost more tree branches today than the last ice storm. Hearing the creak and fall, or scraping the roof… Not good. Power has been out most of the day, but we’ve got plenty of firewood. Sitting by the fire with a glass of wine and an e-book and pretending it’s all fine. ❄️
Woke to the sound of tree branches breaking under the weight of ice. No power. Made a fire. Sun starting to come up. ❄️
I know that 64-bit numbers are insanely large, but I still hate wasting database IDs. Bug caused hundreds of thousands of unnecessary database records. Oh well, onward.
Would love to know more about yesterday’s mastodon.social DDoS attack. So many people use that instance, when it’s slow we notice. In this case, it actually revealed a bug in Micro.blog, sending too many requests to Mastodon. Feel bad that it probably wasn’t helping their server.
Last night, instead of actually reading, I wasted a lot of time conflicted on whether I could finish reading an e-book before it was due at the library or if I should pause and read something else. Usually juggle 2-3 books (at least 1 audiobook)… So much to read. 📚
Finished reading: River of Stars by Guy Gavriel Kay. I’m sort of left without the right words, dumbfounded after finishing this. Really good. 📚
January is almost over. Micro.blog has been much more stable after the few glitches we had in November as Mastodon was blowing up. We’ve had ActivityPub support since 2018, but only needed to learn how to actually scale it recently. Progress.
When we started using @news more, I was worried about adding noise to people’s timeline, so I customized the feeds to only include “big” changes. That ended up being confusing. I’ve reverted it now so that the news.micro.blog home page, feeds, and timeline include all posts.
New episode of Core Intuition went up last night. Daniel reviews the redesigned Micro.blog home page. We talk about being a tiny company, open source licenses, and more.
For puzzled Mastodon users reading my posts, I keep forgetting about Mastodon ignoring blockquote tags. Need to update Micro.blog’s cross-posting and ActivityPub to automatically change the output to use regular quotes.
This is a really important point from Alan Jacobs:
Mastodon has certain virtues, at least for some, but let’s not attribute to it powers it does not have.
Federation is a step forward, but it does not solve everything. I think my post from 4 years ago holds up here.
One of the last missing pieces for Mastodon compatibility was improving DMs, which I rolled out yesterday. We don’t have DMs as a core feature on Micro.blog because I think private messaging needs to be handled very carefully, and not every social network should have its own messaging system. iMessage and Signal are better for this.
DMs just going into the void isn’t good either, though. The compromise we’ve settled on is that when someone from Mastodon sends you a DM, Micro.blog forwards that message to you in email. The email now includes a link to a form for you to send a reply back to Mastodon:
There is no message history and messages are deleted automatically after 60 days.
Last year I blogged about our roadmap to get a little distance from Apple in mobile development. The next major version of Micro.blog for iOS is coming along well, based on React Native. This week we open sourced the app! Feels good to get the source out there.
This is a great story from KUT on what happened with the Zilker Park train. Should’ve just fixed the track instead of starting over. Every experienced programmer knows this… Don’t rebuild everything all at once.
This is going to be the most frequent of frequently asked questions. If Micro.blog supports the fediverse, why doesn’t the new Tapbots app Ivory work with Micro.blog?
ActivityPub is a mostly server-to-server API that both Micro.blog and Mastodon support. This allows people on Mastodon to follow people on Micro.blog. When you post to your blog, the post is sent out to Mastodon folks, and they can reply and join conversations on Micro.blog all from within Mastodon. Likewise, on Micro.blog you can follow Mastodon accounts and reply to posts without needing an actual Mastodon account yourself.
For client apps like Ivory, Mastodon has its own API. It’s a completely different thing than ActivityPub, closer to the Twitter API. It’s not an open standard and Micro.blog does not support it.
Could Micro.blog implement the Mastodon API, thereby allowing Ivory to connect to Micro.blog as if it was a Mastodon server? Technically yes, but doing so would introduce a couple problems. By design, Micro.blog does not have exactly the same features as Mastodon. We left out boosts, trends, and follower counts, and added other things that are outside the scope of Mastodon.
If Micro.blog worked with Ivory, what would the UI look like when the features didn’t exactly match up? It would be confusing. Ivory would appear broken and it would disrupt the experience we’re going for with Micro.blog’s community.
As Mastodon becomes more popular, it’s important that Micro.blog stays true to its blogging roots and unique take on social media, rather than shifting to be a Twitter or Mastodon clone. We don’t need a monoculture with all apps looking exactly the same.
Micro.blog already supports multiple APIs for posting from client apps, including Micropub (which most IndieWeb apps use) and XML-RPC (which MarsEdit uses). I’m happy to add additional posting APIs like Mastodon’s, but only when we can make it fit well.
There are some obvious next steps.
I’d like to experiment with extending Mastodon’s /api/v2/instance endpoint to return Micro.blog-specific feature info. That way, clients like Ivory could in theory adapt their UI to fit the server capabilities. For example, if there are no boosts, hide the boost button. There is already precedence for this with Mastodon’s character limit and other common settings.
I’m also keeping an eye on Ice Cubes, which is open source. This app seems like a great playground to try out new features that work with Micro.blog. When those changes are prototyped, it will be easier to pitch Tapbots and other developers on supporting them.
It’s still early days in the post-Twitter world. I’m excited about what we have planned for this year. We’ll keep improving our compatibility with Mastodon and see what comes of it.
I’m going to start the process of enabling ActivityPub support for older Micro.blog accounts this week, likely tomorrow. You’ll be able to disable it if you don’t want it. But in the long run it’ll help bridge conversations across the networks.
Rainy day in Austin. Walked up to the coffee shop anyway, trying to time my walk to when Apple Weather predicted a pause in the rain. Still can’t find any of our umbrellas. 🌧️
Still a little experimental, but I added a new plug-in for Micro.blog based on the theme in Bear Blog. Nice lightweight design that looks good and should be pretty easy to customize.
Finished reading: The Poppy War by R. F. Kuang. Loved Babel so wanted to read this series too. Strong first book. 📚
Posted a new episode of Core Intuition. We talk all about Twitter. The end of third-party apps, differences between when Manton quit Twitter compared to now, could Twitter be saved, open protocols, and more.
Started listening to River of Stars by Guy Gavriel Kay today while on the road. Love his writing. Also have the print version which I may switch to later. 📚
In addition to the new home page, over the coming weeks we’ll be sponsoring podcasts and web sites to help get the word out about Micro.blog. The first show went live yesterday: The Pen Addict episode 547. Thanks @brad for the kind words!
A couple shows we finished watching recently… Wednesday: really enjoyed the first season of this. Fantastic lead character and just the right spookiness. Kaleidoscope: seemed gimmicky at first but I love heists. The format actually worked well. 📺
Managed to mess up links on my blog while changing something else. Some RSS and ActivityPub posts might be wrong while I sort it out.
Finished reading: The Kingdom of Back by Marie Lu. A mix of historical fiction and fantasy. Took me a while to get into it, but enjoyed it more as it progressed. 📚
As I posted this morning to the news blog, I’m going to upgrade one of our servers in about an hour. We have redundancy for most things to avoid downtime, but this is a tricky one. Won’t affect hosted blogs. Hopefully will be quick. 🤞
I was re-reading Craig Hockenberry’s post on the third-party Twitter apps shutdown. It’s a great post, channeling the frustration of so many developers and users. And I love that it’s on his blog, not as a tweet or toot. Ideas and writing sometimes need space to breath on the web.
Everyone had a different last straw with Twitter. It helped to have a villain in Elon Musk who could be blamed for every bad decision in the growing narrative of Twitter acquisition chaos.
But one problem with pinning everything on Elon is that it leaves open the possibility that maybe Twitter would be fine if the company was led by a different CEO who continued the Twitter API status quo. I don’t think so. Twitter wasn’t going to last forever because massive ad-based silos will always be at odds with the open web. Twitter’s recent implosion greatly accelerated what would need to happen regardless.
Today we got Twitter’s first public statement that the apps shutdown was about API rules. Remember back in 2012 they announced that apps could not have more than 100k users, even if popular apps at the time were exempted. There were other restrictions too, largely ignored. Third-party Twitter apps were living on borrowed time, strung along with false hope every few years as Twitter’s leadership drifted back and forth on whether to encourage developers or cut them off.
Craig also highlights open standards like ActivityPub in his blog post, and how the future shouldn’t be Mastodon-only:
Federation exposes a lot of different data sources that you’d want to follow. Not all of these sources will be Mastodon instances: you may want to stay up-to-date with someone’s Micro.blog, or maybe another person’s Tumblr, or someone else’s photo feed.
The sudden migration to Mastodon is going to make Mastodon look a lot like Twitter in the coming months. Don’t get me wrong: the migration is a great thing. Smaller social networks is one of the four parts I blogged about in 2018 for how to get out of the social network mess. But we need new apps and ideas too, to not recreate some of the same problems again.
Wish I could permanently hide the 👎 button on YouTube. I’m always worried I’m going to accidentally click it. I never, ever want to downvote something. If I don’t like a video, I’ll watch something else.
Need a break from the news. Nice to see The New York Times now allows quick online cancels, no longer need to chat or call anyone. Progress.
In the latest Gluon beta you can customize your profile photo with a color or emoji. Essentially layers another API on top of the official Micro.blog API. Reminds me a little of how Tweet Marker supplemented the Twitter API. (RIP, Twitter API.)
Not feeling well this weekend, so I’m less chatty about the confirmed Twitter third-party app shutdown than I’d usually be. Just listening to audiobooks and keeping up with the news and blog posts.
New Core Intuition! We talk about marketing and upcoming app plans. I also fixed a feed issue in Micro.blog with it, so posts will start flowing into @coreint@micro.blog again for fediverse folks who want to follow along.
Sad that this post from the Iconfactory is needed, but the art is great.
From @news:
While we wait to see if the Twitter API problems are the end of third-party clients or just a glitch, this chapter from my book provides some of the history of how we got here and personally why I stopped using Twitter years ago. The writing has been on the wall for a decade.
Listening to Dithering this morning, which was a longer discussion following up on John Gruber’s post about the self-driving accident in San Francisco last week, I remembered a near-accident I was in a few weeks ago.
It was the usual morning traffic on the highway when cars stopped in front of me and I had to stop quickly. I watched in the rearview mirror as the car behind me narrowly missed me, moving to the side slightly, but the car behind that person swerved and clipped another car. Traffic kept moving around them and there was nothing I could do, just thankful that it wasn’t worse and that I wasn’t in the collision.
These kind of small crashes or near-accidents must happen hundreds or thousands of times a day. They don’t make the news, except as part of an update on rush-hour traffic. The same accident with self-driving “beta” software is more notable.
I guess I’m of two minds about self-driving: the technology enthusiast in me thinks autonomous vehicles will generally be safer than cars driven by humans, but I also think it’s largely a waste of resources to prioritize this effort. I’d much rather see the money and time put into better public transportation. It’s gotta be more efficient and safer to move people on a train.
In a few years there may be a handful of very large, Medium-level Mastodon instances capable of scaling to millions of users each, and some thousands of smaller, volunteer-run instances that come and go. Centralization brings convenience. Too early to know how it plays out.
I’ll be watching as Medium runs their own Mastodon instance. I like my approach better: integrating ActivityPub directly into the blog platform, not alongside it as a separate platform. But there’s no single right way to do this.
Productive morning fixing bugs, reviewing logs, answering email. Sometimes lots of small things feel like more forward momentum than the big stuff. ☕️
Can’t shake a comment that someone liked Micro.blog but it didn’t have many features. Blogs, themes, plug-ins, social network, podcast hosting, read-later bookmarks, cross-posts, archiving, highlights, email newsletters, bookshelves, IndieWeb, fediverse… Missing: marketing.
Finished reading: Assassin’s Apprentice by Robin Hobb. That was excellent. 📚
After several months, decided to cancel Kindle Unlimited. I didn’t think about how it could become an incentive for authors to go Amazon-only, which isn’t good for the larger e-book ecosystem. Still mostly using Libby, purchased books, and Audible. 📚
This is a clever bookmarklet from @darby3 that improves Micro.blog’s post scheduling by filling in the date. Maybe Micro.blog should do this by default? Eventually need to have a real date-picker on the web, like we do in the Mac app.
We are so spoiled with movies now, gotta be careful not to become too cynical or “everything sucks” if it’s not a perfect, totally new idea. I thought Avatar 2 was incredible. Visually stunning, engaging. Not just in a few big scenes, but all the time.
Finished reading: Tress of the Emerald Sea by Brandon Sanderson. First book of the new year! Different than Brandon’s other novels but wonderful in its own way. 📚
Great post from @jeannie about the problem with the favorite button. “It removes genuine interaction and replaces it with a convenient click.” And I’ll add: algorithms love clicks because they can measure and sort it. Humans need more than that.
Just published our first Core Intuition episode of the year. We talk about goals and themes for the year, Micro.blog and Epilogue, and whether MarsEdit is the “one thing” @danielpunkass should be focused on.
Realized this week that the “versions” feature in Micro.blog isn’t well-understood, so I wrote up a quick overview of the different backup features in Micro.blog. Always good to occasionally grab a blog backup, or at the very least make sure the Wayback Machine has a copy.
It was fun to meet people in person at yesterday’s Micro Meetup! @jean has a photo here.
Hi Austin! 👋 We’re having a Micro Meetup today with @jean in town. We’ll be at Lazarus Brewing on 6th between 4pm - 6pm. Anyone’s welcome to stop by! ☕️🍺
New version of Micro.blog for macOS released! This adds a new modern-style macOS app icon, bug fixes, and a change to the context menu in timeline posts. We now show inline Reply and Bookmark buttons. Faster to show conversations and more consistent with future mobile apps.
Happy New Year! We shipped an update to Epilogue today that makes blogging about last year’s finished books more discoverable. If Micro.blog found any blog posts to include in your reading goal for 2022, it will show this at the top of the Goals tab:
Unfortunately I discovered after the calendar flipped over to 2023 that sometimes this button doesn’t show the right default new post text. I’m working on an update to fix that. (The button icon and spacing is also wonky.)
I’ve been going back and forth on how to expand the reading goals feature so that it can find more books. Currently it only works if you blogged about a book as you finished it. 2022 was a bit of an experiment, but 2023 is an opportunity for new habits. More blogging, less Goodreads.
Did not finish: Deadhouse Gates by Steven Erikson. Decided to start 2023 by giving up on this. I want to get back to it one day because I think I’ll like it after I get through the first couple books, but might need to start the series over. 📚
Excited for Brandon Sanderson’s secret book release tomorrow. It has been a long time since I’ve started a book with thousands of other people on the same day. Probably not since Harry Potter. 📚
I’ve watched this YouTube video of Dani Daortiz a few times over the last week and it continues to amaze me. Incredible card magic. Rewind, watch again, think about it, rewatch. What he’s doing seems impossible.
Tried off and on to record a screencast demo of something in Micro.blog this afternoon, but the dog kept barking or I made mistakes that would be confusing… Eventually I decided the video wasn’t even that helpful and scrapped it. Should’ve just written a blog post.
It’s been a while since we’ve had an in-person Micro Meetup! Join me and @jean for a coffee or beer or tacos at Lazarus Brewing on East 6th in Austin. Wednesday, January 4th. We’ll be there 4pm - 6pm. ☕️🍺
We’ve been doing so many little book-related features, it can be hard to keep track. I created a help page today that just lists them. Quietly building out a little corner of Micro.blog into an open, blog-based Goodreads alternative.
Read this post about Barnes & Noble after seeing a couple links to it. No idea if the turnaround is real, but we went to a store a couple days after Christmas and it was packed with people. They had a sale for half-off hardcovers. Don’t think we saved money but we left happy.
Working a little on the next Micro.blog for Mac update. Probably will ship early January. Includes a new icon in the modern macOS style! (Thanks Brad Ellis!)
I don’t agree with everything in this post by M.G. Siegler (found via @rcrackley) but I do love the “Mastodon brought a protocol to a product fight” line. Of course, the protocol is plumbing. Like the IndieWeb specs, the protocol is implementing a philosophy, and that matters.
I’m often humming or whistling a song that is stuck in my head, and this morning for some reason it’s one from Bungie’s Myth. I think? Got lost just now down the rabbit hole of soundtracks on YouTube trying to figure out which theme and game it really was.
We released a new version of Epilogue for both iOS and Android. I’m finally getting these platforms in sync. I think our bet on React Native is paying off.
This version adds a new post screen to your reading goals. As you blog about books you finished reading, Epilogue keeps track of them. At the end of the year, you can use the new post screen to compose a blog post with all the books you’ve read. Each book cover links to your blog post about the book.
You can see what my books post for 2022 looks like here.
This uses a new Micro.blog plug-in called Book reading goals. If you don’t have the plug-in installed yet, Micro.blog will automatically install it when publishing your blog if needed. (Epilogue works with any blog that supports the Micropub API, but this feature is only for Micro.blog because of the plug-in.)
Here’s a screenshot of the new screen on iOS. You can edit the text before posting.
With this feature, I’ve completed the transition away from Goodreads, and don’t plan on using it going forward. Good luck with your reading goals in 2023!
Got a new game: The Great American Mail Race. Similar to Ticket to Ride so I knew we’d love it. The ink stamp to track your score is perfect.
Happy holidays! Hope everyone is as healthy as possible and enjoying the weekend. It has been a long year… Looking forward to some rest and thinking about 2023. 🎄
Still cold in Austin, and presumably everywhere. We burned through most of our firewood the last couple days, but thankful for no power outages or other problems in our area. 🎄
Mastodon client Mammoth also running their own server to make sign-up less confusing. Smart idea that I wonder if others will copy.
For the last Core Int of the year, @danielpunkass and I talk about blogging! The latest with Twitter, Matt Mullenweg, Mastodon, Micro.blog, and why blogging is the eternal tech of the web that will always come back in style.
The Android version of Epilogue has been lagging behind iOS, so I dusted it off this week and started a new open beta on Google Play. Still have a few tweaks to make and then will ship both Android and iOS after the holidays.
In 2023, I plan to advocate more for client apps to embrace the larger IndieWeb and fediverse. Mastodon going mainstream is a great step forward, but we don’t want a monoculture. A key IndieWeb principle is plurality: multiple apps with different codebases that can interoperate.
Sad but understandable that the Trail of Lights was cancelled tonight. We had tickets for tonight because we were slow getting ourselves organized. Everything is a little mixed up this year, trying to find time for old and new traditions. 🎄
Pushed another update to the beta Micro.blog iOS app (TestFlight link). Still planning to ship early-ish next year, but I use it as my default now. If it’s missing anything you need, just re-install the official release from the App Store.
Adding this to the travel list: Miniatur Wunderland in Hamburg, covered in the New York Times today. The world’s largest model railway. Looks amazing.
The year isn’t quite over yet, but the book I just started reading is going to take more than the next week to finish, so I think the books I read for 2022 is pretty much wrapped up.
During the pandemic I started to read much more than ever before. In 2021, I read 33 books, and this year I set a goal of 40 books, hitting it last week. I’m going to stick with that goal for next year too.
I’m also going to stop using Goodreads. Our Micro.blog companion app Epilogue does everything I need and it integrates with my blog, which is where I want my book reading progress.
I wrote a Micro.blog plug-in that makes it easy to add a list of books you’ve finished to your blog. So here it is below! Each book cover should link to the microblog post where I blogged about finishing the book.
The next version of Epilogue will have this feature built-in. I hope to get it approved by Apple and Google in time for the new year.
At Micro.blog we love books. We don’t love worrying about stats — no follower counts, no pressure! — but I’ve found that setting a personal reading goal helps me make time to read, and it’s fun to reflect on at the end of the year.
We’ve written a help article about the differences between Micro.blog and Mastodon. Hope it helps clarify a few things! I love our support for ActivityPub, but we’re trying to do something different too and don’t want to lose that.
We’re starting to plan Micro Camp 2023! Jean just posted the dates. 🏕️
No question Elon has gone way beyond our worst predictions for Twitter, but his “decisions by tweet” have added to the narrative that the company is chaotic and off course. Imagine App Store policies the same but Tim Cook firing off random edicts about side-loading or linking.
I agree with @benwerd to stop giving Twitter attention, but as the Micro.blog founder it’s kind of my job to comment. I’ve been wondering why Twitter anti-competitive behavior in 2012 didn’t resonate like 2022. People now have a single, impulsive leader to blame for everything.
Thinking of folks bailing on Twitter, I spent a little time clicking through old tweets from when I signed off in 2012. What I got wrong was jumping to another silo. Later went all-in on my blog, building Micro.blog, and embracing the IndieWeb. Those are the things that last.
We re-watched all the Harry Potter movies over the last week or so. Thinking about putting a books re-read on my list for next year… Haven’t read Deathly Hallows since it’s release. 📚
Twitter blocking links to Mastodon and other networks reminds me of when (10 years ago!) they also shut down Instagram’s “find friends on Twitter” feature. But you know what you can always link to in your profile? Your blog.
Finished reading: Legends & Lattes by Travis Baldree. I love fantasy books and I love coffee shops, so how can I not love this? Fun story. 📚
For years I’ve assumed Twitter won’t last forever, but Elon has really accelerated that timeline. Still stunning.
We just published episode 541 of Core Intuition. Talking about marketing for Micro.blog, influencers, the holidays, and an update on MarsEdit 5.
I haven’t been able to pin down exactly what I don’t like about AI-generated text and art, but I always got the sense that something wasn’t right about it. I like this post from Lois van Baarle, writing about artists protesting AI:
Many have compared image generators to human artists seeking out inspiration. Those two are not the same. My art is literally being fed into these generators through the datasets, and spat back out of a program that has no inherent sense of what is respectful to artists. As long as my art is literally integrated into the system used to create the images, it is commercial use of my art without my consent.
She’s an incredible artist with a very distinct style. If it was copied by a robot, you’d know. Go check out her Tumblr blog or books.
I’m updating book.micro.blog with Elon’s impact on Twitter. Giving myself until the end of the year, then calling it done. For real this time. There will always be something new, but this is a good place to wrap it up.
Looks like mastodon.technology is officially no more. As part of the shutdown, the instance was sending thousands of ActivityPub “delete” messages, which I’m still not sure is correct if there’s no intent to delete an account. What if a closing instance has a million users? Hmm.
Does anyone at this coffee shop not have COVID? Maybe I’m stuck in the pandemic mindset, but if you’re coughing and blowing your nose repeatedly in public, stay home please. Sitting outside now. 🙂
I could write about rumored third-party iOS app stores but it would repeat what I’ve blogged about with sideloading for years. What’s new: many sideloading skeptics now support it. It is inevitable because it’s the only permanent fix to the exclusive distribution/payment problem.
Jack Dorsey wrote an interesting post (not a Twitter thread!) about a potential future for social media. I disagree with much of it, but I respect that he’s being thoughtful and self-critical.
Another clever Micro.blog plug-in from @sod called Bookmarks Shortcode. I’m trying this out now and it works well. I hadn’t thought about sharing my bookmarks publicly before, but I like the option.
Walked to the coffee shop despite likely rain today. Can’t find an umbrella. I bought one in Portland last month but then remembered that no one uses umbrellas in Portland. Accidentally left it in the rental van. ☔️
“Everything that we make, we try to make the web a better place.” — Matt Mullenweg in an interview on Decoder
Lately my job seems to be about making sure Mastodon doesn’t turn into a denial-of-service attack on my servers. 🙂 Sorry for the flakiness today, partially caused by how we were handling a flood of messages from Mastodon.technology’s impeding shutdown. Fixed the issue.
I made a video to show how Micro.blog and Mastodon work together. Hopefully this helps, but admittedly it’s all still pretty confusing, and I think we could explain it better. You can watch it on YouTube here.
Tested cross-posting from Micro.blog backwards and forwards today with test accounts. Photos, no photos, alt text, Twitter, Mastodon. Always works, so puzzled why it can be flaky for some people. Next up: more logging and upload retries.
Doing some database housekeeping this morning. One of our tables to keep track of Mastodon activities had grown out of control, introducing a little downtime last night. Should be running much better now.
I’ve been trying to walk up to the coffee shop every other day. Mostly quiet out as I headed back home, sky reflecting on the lake but no rain yet.
This bit from our news blog is probably worth highlighting here too. We’ve improved cross-posting in Micro.blog, now preserving alt text when sending photos to Twitter. Required a trip down the OAuth rabbit hole for a new endpoint and updating old code.
Still confused about the game Elon is playing with the so-called Twitter Files. I’m not seeing any obvious unethical behavior from the old team at Twitter. Just looks like Elon is trying to burn every bridge he crossed over to become CEO, including I expect with Jack Dorsey.
This week’s Core Intuition is up with discussion of the MarsEdit 5 release and ChatGPT. We go long on this one, about an hour, possibly because I can’t stop rambling incoherently about AI.
Finished reading: Babel by R. F. Kuang. Fantasy but only just barely, it’s really an alternative history about language, race, class, friendship. Brilliant. 📚
Micro.blog has always tried to put all the important URLs for your blog at your own domain name if you have one, including URLs for photos you post to your blog. I like this because it’s consistent with prioritizing content ownership, and makes migrating photos to another blog host easier in the future. We like clean, simple URLs.
Today we’re adding an option to enable serving photos from a content delivery network. This will update your photo URLs to use the CDN, while your home page and other blog pages will still use your own domain name. As your blog grows, especially with years of uploaded photos, this can really improve performance as people visit your blog from all over the world.
To enable the CDN, click on Design and look for the “ Use content delivery network for images” checkbox:
There is no extra charge for this feature, and it’s included in all plans. Happy photo-blogging!
Brittney Griner finally released. Paul Whelan still held. It’s not exactly a fair prisoner exchange, but at least Brittney is out. 🏀
MarsEdit 5 is out! Features new Markdown highlighting and quick micropost window. Works great with Micro.blog. Congrats @danielpunkass!
Feeling pretty chill about the Georgia election. Watching the results with the least stress compared to any election in years. It’s going to be fine. 🇺🇸
Pushed out a new iOS beta of Micro.blog 3.0 with user search in Discover. Reminder for new folks joining the early TestFlight, still some missing features that we’ll put together before it ships next year. testflight.apple.com/join/lWxM…
Got a new feature ready to ship but gonna hold it until tomorrow morning. All the pieces are deployed, tested, just hidden in the UI, and always seems like a mistake to launch things late in the day.
I’ve renamed and expanded the help page about how Micro.blog works with Mastodon. Includes more answers to common questions.
ChatGPT is a video game. That’s okay, I like video games too! But I’m not going to get distracted into thinking it’s a productive use of work time. I’m enjoying the screenshots folks share and otherwise ignoring it. (Maybe I’ll regret this stance when the robots come for me…)
Weird dreams last night… I met with Elon Musk and we talked about curation, small developer teams, and how Micro.blog could carve out a nice market niche away from the Twitter chaos. And for some reason my iPhone clock kept mixing up AM and PM. Maybe a sign I need a break.
Set aside some time this morning to improve compatibility between Micro.blog’s bookshelves and Bookwyrm, but Bookwyrm federation seems flaky. Couldn’t follow other Mastodon accounts either from within bookwyrm.social. Took notes and will revisit later.
The more I watch Home Alone — especially Home Alone 2 — the more I just feel bad for the thieves. Kevin is torturing them. The kid is twisted and needs help. 🎄
For replies, Mastodon only links the username (e.g. just @manton), even for users on other servers. Micro.blog always links the full username with the instance name too (e.g. @manton@manton.org). A bit conflicted. Concise but problematic for common names, or verbose but correct?
On the latest Core Int, @danielpunkass and I talk about the App Store settlement and then follow up again about Twitter, Micro.blog, and Mastodon. Also: not being allowed to pump your own gas.
AI is getting too good.
The 25 Days of omg.lol calendar is so nicely done. Today’s feature is feeds, both RSS and JSON Feed. Reminds me a little of our old 12 days of microblogging series, which we’ve been thinking about updating.
Mastodon has a feature to move accounts from one instance to another instance. I spent some time recently exploring how this works so that we could support it in Micro.blog. I used this to consolidate my ActivityPub presence from multiple Mastodon accounts to just @manton@manton.org, powered by my blog and Micro.blog.
From what I can tell, this feature is not well-documented. It does not exist in the ActivityPub spec. The “Move” activity examples in the companion ActivityStreams spec also do not cover moving accounts. So I’ll document some of the technical bits here in the hope that it’ll be helpful to other folks.
To move accounts, 2 things are required:
The Mastodon documentation says that aliases should be set up on both sides of the migration, but this does not seem to be required. In my testing, an alias is only needed on the new instance.
Because I wanted to move to Micro.blog, I added an alias in Micro.blog that references one of my old accounts: @manton@mastodon.social. You can find this in Micro.blog under Account → View Mastodon Details → Aliases.
Aliases are added to the ActivityPub profile information in the field alsoKnownAs. Here’s a snippet of my info:
{
"preferredUsername": "manton",
"name": "Manton Reece",
"alsoKnownAs": [
"https://mastodon.social/users/manton"
],
…
}
For debugging, I often use curl on the command line to poke around at people’s accounts. To see my full ActivityPub JSON, use something like this with the “actor” URL returned from WebFinger:
curl -L -H "Accept: application/activity+json" https://manton.org/activitypub/manton
The next step is to sign into the old Mastodon instance and tell it to move to Micro.blog. Mastodon will take a few actions when this starts:
The “Move” activity is sent to each follower’s inbox just like other activities such as “Create”. It includes a field target for the new instance that the user is moving to:
{
"actor": "https://mastodon.social/users/manton",
"target": "https://manton.org/activitypub/manton",
…
}
Mastodon won’t add alsoKnownAs to your ActivityPub profile on the old instance, but instead it will add a similar field named movedTo with the new actor URL:
{
"preferredUsername": "manton",
"name": "Manton Reece",
"movedTo": "https://manton.org/activitypub/manton",
…
}
Updating your followers can take quite a while. Likely hours and possibly over a day, if you have hundreds or thousands of followers. It makes sense that this is a very low priority background task. You can watch the progress as Mastodon essentially decrements your follower count on the old instance.
Here’s what Mastodon now looks like for my account, to tell people that I’ve moved:
This is a fairly new feature in Mastodon, and I expect we’ll need to keep refining our support for it as there is more real-world usage. If you’re using Micro.blog, also remember that Micro.blog is not Mastodon. You can follow and reply to anyone on Mastodon, but you can’t use Mastodon-only clients like the upcoming Ivory from Tapbots.
What about moving in the opposite direction, away from Micro.blog to Mastodon? We’ll be adding that later. ActivityPub is only currently enabled for new Micro.blog users, or if you’ve manually enabled it, so I want to wait until we’ve enabled it for all users. Otherwise there will be no way to move Micro.blog-only followers.
John Gruber writing in his link to ooh.directory:
Mastodon is — deservedly! — getting a lot of attention as people re-evaluate their use of Twitter. But what I’m digging more in our current moment is renewed enthusiasm for blogging, and, on the consumption side, RSS feed reading.
I’ve been planning for this moment for years and the new activity around blogging might even be more than I had hoped for. Great to see.
Tripped over myself this morning when deploying a tiny change, breaking a few endpoints in Micro.blog temporarily. Sorry! Uptime has actually been really good this week. I think we’ve solved most of our performance problems with the new load.
Finished reading: The Lost Metal by Brandon Sanderson. Mistborn era 2 is a wrap. Really want to reread The Emperor’s Soul now. And not long until the secret project books. 📚
Reading the Twitter 2.0 blog post again, I don’t think it says enough to actually be a vision for the company. Some bits sound okay (“freedom of speech, but not freedom of reach”) and some seem actively misleading (“none of our policies have changed”, just our enforcement).
Micro.blog has a mini Goodreads-like feature built in. Why not! I love books and this helps me blog about what I’m reading. The bookshelves account page is one of my favorite things.
Following Mastodon accounts from Micro.blog almost feels like I’ve re-joined Twitter. It’s great to see posts from people I haven’t kept up with in years. The main downside: too many hashtags! Maybe I built Micro.blog just to escape from hashtag overuse and now they’re back. 😉
Great to see all the posts from folks participating in Microblogvember. I’ve added a new pin for the challenge. It should be redeemed on your Micro.blog account within the next couple days if you used at least 2/3 of the words this month.
Soccer is not my thing but everyone else’s excitement is contagious… Watching the last few minutes of United States / Iran. ⚽️
This interview with Will Smith on The Daily Show was really good. It goes just deep enough to be meaningful but still entertaining. Makes me think about not just what he did on Oscar night but also more broadly how we react to mistakes from stars or politicians. Who we forgive.
If you’re not following the full M.b changes feed, you may not notice the tweaks we’re rolling out nearly daily. One improvement I wanted to highlight: Micro.blog now notices when someone on Mastodon moves their account to a new instance, so you’ll still see their new posts.
Thinking about the simple truth in this phrase from @brentsimmons: “the web heals as Twitter gets sicker”
Drove by the new Tesla factory in Austin yesterday while coming back from Thanksgiving… The building is absolutely massive. I guess Elon thinks if he can grow a company to this kind of infrastructure, how hard could Twitter servers be?
Trying the latest Gluon iOS beta with pinned profiles.
Good discussion on last week’s ATP about Mastodon, apps, ActivityPub, moderation, and many more potential issues as everyone figures out what to do post-Twitter.
Jamie Zawinski: Do Not Use Services That Hate The Internet. This is where I say that Micro.blog is made by people who love the web. It’s possible for app-only networks (see: Glass) to evolve to work with the web, but it’s easier to start with open, web-first platforms.
Great to see 2 new plug-ins recently available on Micro.blog: “Cards Theme” by @ericgregorich, which styles posts with an outline like separate cards; and “Bookshelf shortcode” by @kottkrig, for making a page that includes one or more bookshelves.
Released an updated Micro.blog for macOS today with a few tweaks. More consistent progress indicators, better Mastodon username highlighting when writing a new post.
Finished reading: The Light of All That Falls by James Islington 📚
Another photo from our quick coffee stop in Opelousas. Old federal building, unused now, built in 1891.
Should’ve done this last week, but just added ⚽️ to the featured emoji menu in Micro.blog on the web.
It was nice to mostly take a break yesterday. I know Thanksgiving is just a United States thing, but I like that it’s non-offensive to everyone… Let’s just chill and reflect on what we’re thankful for. Now back to work! Coffee at Rêve in Lafayette and rolling out M.b fixes. ☕️
For the Thanksgiving edition of Core Intuition, we talked about… Twitter again! Does Elon know what he’s doing? Should I be CEO instead? Will MarsEdit 5 ship? Enjoy. 🦃
Quick test from MarsEdit 5’s new quick post window, using a global keyboard shortcut. Nice!
I was joking about this with my family but can’t stop thinking about it… Imagine a Sprinter van, outfitted with bed, kitchen, all the usual camper van upgrades. Now paint it gray and add an Amazon Prime logo. Easy parking anywhere without questions!
Nice thread here with holiday movie recommendations… About time to review my top Christmas movie list and see if it needs any updates.
We started using Cloudfront last week and tonight I nervously signed in to Amazon, realizing I had no idea how much we were going to be charged. Answer: $0, for now. Amazon’s pricing is so confusing. One of the reasons I prefer Linode.
With the news that Tumblr is planning ActivityPub support, a quick reminder that you can already follow any Tumblr user from Micro.blog. Just enter someone.tumblr.com in Micro.blog’s Discover search! I use this for following a few artists and writers.
My morning so far… Low tire pressure light, found a nail in a tire. Dropped the car off to get the tire replaced. Coffee nearby at Turnstile, watching server log files. 🙁
Spirited was way better than I expected. Need to watch it again closer to Christmas and see how it holds up. 🎄
Love this post from @jean about everything bagels and… social media! 🙂
To be fair, everything makes me think about social media at this unsettling and exciting moment.
It’s a rare opportunity. Inspired by what worked before, avoiding the missteps. I like our foundation.
Love the owl who moved into a tree in our backyard. @traci set up a tripod and moved the Nest camera, so expect more owl photos and maybe video if we can catch him in his evening routine.
We’re embarrassed with the recent Micro.blog server status. I rolled out more improvements today. We’ll get it fast again. New server coming online later this week too.
Registered for a new test account on Micro.blog to remind myself what the onboarding flow is like. It’s not great. “Welcome to M.b, here’s a totally blank page! Good luck!” Going to tweak a few little things so new users aren’t lost.
I thought Elon would wait a couple more weeks — until things got boring at Twitter — before letting Trump back. @danielpunkass and I talked about this a couple days ago on @coreint. This weekend has been busy… Remaining Twitter server folks must have their hands full too!
On our M.b news blog you can see the daily server tweaks as we deal with new load this week. Might have a handle on it now.
An appropriately cold day in Austin. Coffee and server troubleshooting while the rain falls outside. ☕️
Much of our web traffic is now Mastodon requests as posts are shuttled back and forth from Micro.blog and the rest of the web. This has taken a little bit of adjustment. Knock on wood, should be pretty stable right now. 🐘
Continuing to fix bugs and tweak servers. If you want the technical summary: those “503” errors were when the load balancer decided an app server was error-ing, but it could sometimes take out all the app servers, even if they were fine. Lots of new traffic from Mastodon users.
Merrick Garland seems really good at his job. If he says trust Jack Smith to make the call about whether to charge Trump, I’m good with that. 🇺🇸
As traffic increases, we’re experimenting with more caching outside of Micro.blog. Nice to see the huge difference it makes on the Bookshelves page if you have lots of book covers. Much faster.
Whichever the outcome, the world wins. If Musk manages to fix Twitter, we’re left with a better Twitter. Great! If Musk manages to burn down Twitter, we’re left with a world free of Twitter. Great!
Slowly settling into a new routine back in Austin. Walking up to Lamppost Coffee every morning. In suburbia, no one walks anywhere unless they are walking their dog or exercising. Always feels a little weird. I love the quiet, but sometimes miss… people. ☕️
Last month we improved the ActivityPub support in Micro.blog and enabled it by default for new users. I think it’s about time to enable it for older users too, making it more opt-out than opt-in. Early notice that I’m thinking about flipping that switch next week.
We posted a new episode of Core Intuition today with yet more discussion of Twitter and related topics. My audio quality is still not great, clearly now an issue with my Mac settings rather than my mic. Will do more testing and fix for next week!
Reminded today that Brittney Griner has been held in Russia for 9 months and has apparently now been moved to a penal colony. Ridiculous. I know there’s a lot of injustice in the world but this is not complicated… She needs to come home. 🏀
Apologies for some of the recent “503” errors in Micro.blog. We’ve made some configuration tweaks today that should reduce or eliminate the problem.
I had my doubts about a no-replies timeline, but based on feedback we added a new setting for it under Account. It’s the kind of thing you have to try to know if it works for you. Harder to find new people and conversations, but good if you temporarily need a quiet timeline.
Epic vs. Apple continues! Good write-up over at Ars Technica, with quotes from lawyers in the appeal.
Rewatching last night’s Artemis launch. Amazing. Nice that they have a blog too (via @512px). 🚀
Last month I flew out to Portland and rented a van from Escape Campervans. The trip started because of meetings but it kept getting extended as I tacked on more places to visit. I posted some photos while I was on the road, which I’ll link again below, but I wanted to summarize a few thoughts now that the trip is over and I’m back in Austin.
It was a fantastic experience. I figured at the end of it, I’d either be completely burned out on the van lifestyle or ready to stay on the road. I’m glad to be home, but not burned out.
My daughter and son joined me for a few days at the beginning and end of the trip, too. It was great to share part of the experience with them and helped avoid loneliness while so long away.
Here are the main camping locations from the trip:
Stopped at many other parks, coffee shops, bookstores, and beaches along the way. I’m going to publish my check-in history later.
The timing wasn’t ideal because it felt like Twitter was imploding as I was on the road. There was a lot of new interest in Micro.blog. I worked a little every day, but some days not enough. Even so, having the flexibility to just pull over into a park and use my laptop on the table inside the van from anywhere was pretty great.
I can’t overstate how different it is to have a van to eat and work and sleep in compared to tent camping. It rained for a significant part of the trip, pretty much every day in Oregon, but it never ruined anything.
Feel very lucky to have been able to take this trip. I learned a lot of what to do and not do. Wasted some money on food I could never finish using. Spent a fortune on gas. Nervously navigated cities in a van larger than what I’m used to driving.
But the good days made it so worth it, and even with occasional extra stress of last-minute planning I felt that time slowed down… Awake with the sun, coffee and work, beautiful vistas, some driving, cooking dinner, popping open a can of wine, then reading and bed when it got dark. It was very freeing. I don’t think it was a midlife crisis, but I did feel a few years younger, reminding me of backpacking in Europe ages ago. After some months back at home, pretty sure I’ll be ready to get back out there.
New 3.0 beta for iOS is out on TestFlight.
Halfway through November, this month’s Micro.blog challenge continues… Sad to admit that while traveling I dropped off from this one. Not too late to participate or follow along, though! Check out @challenges.
Interesting post by @simon@simonwillison.net that Mastodon is just blogs. Except Mastodon’s design runs counter to blog features like domain names and custom designs. I’d say Mastodon is more Twitter-like than blog-like… Which is fine, but not the same as a blog-first platform.
Excited to jump into reading The Lost Metal by Brandon Sanderson, released today. Had a dream the other night where I met Brandon and he critiqued my book collection. 📚
I got the test printing of my book. Now I can think about final edits. Too long, still should probably cut some things.
Great post from @brentsimmons, After Twitter:
The internet’s town square should never have been one specific website with its own specific rules and incentives. It should have been, and should be, the web itself.
Had a conversation last night before the show that I can’t quite get out of my head… Long story short, makes me want to order a 23andMe DNA kit.
Not Frozen, although I’d like to see that too one day… Bono: Stories of Surrender. Incredible show. Couldn’t think of a better way to wrap up a couple weeks on the road.
One of my favorite places in the world: the Walt Disney Family Museum. Checked out the Jungle Book special exhibit, organized in large part from Andreas Deja’s collection. These are 4 animation drawings by Frank Thomas.
I always have to resist the temptation to compete with every platform. Micro.blog does so much but it also tries to solve specific problems within each niche of features. It’s a challenge to do just enough of the right things without creating the Microsoft Word of web platforms.
NetNewsWire with an update on the feature to follow Twitter from within the app:
We have no intention of removing this feature, despite Twitter’s troubles and poor prognosis. It’s more important than ever, we believe, since it helps people find their off-ramp from Twitter.
Kind of a bizarre camp location tonight, had my doubts as we were approaching on the road past shuttered houses and buildings from another era, but the view at sunset was worth it. Terminal 4 at Point San Pablo.
Experimenting with some new text on our home page, for new folks who are not signed in. We’ll keep iterating and tweaking until we get the messaging right. (Already regretting the jab against billionaires, probably will drop that.)
Posted a new message to our internal Basecamp with the title “Twitter implosion marketing” to brainstorm how to get the word out. Happy to hear ideas from the community too! If you like Micro.blog, let’s figure out how to tell people how it fits into the post-Twitter world.
Finished reading: Some Kind of Happiness by Claire Legrand 📚
More details from @vincent on today’s 3.0 beta update. The app is coming along nicely… I use it as my main Micro.blog app on iOS now, even if I have to reach for the mobile web version for some things.
Rolled out another change I forgot to make with this morning’s Mastodon changes: your “about me” text from Micro.blog now shows up for Mastodon users too. (Mastodon will cache profiles so may take a while to update everywhere.)
Released a new beta of Micro.blog 3.0 for iOS. It’s still early, several things aren’t wired up yet, but you can join via TestFlight here if you’d like to follow along.
We do a bunch of ActivityPub work in the background, and last night the queue was over 100,000 waiting items… So much new activity. Made a couple tweaks and this morning it’s back to 0.
We improved a few things with Mastodon support this week:
alt text for images to cross-post to Mastodon. 🎉I was hopeful for Beto until I went to early vote in Texas a couple weeks ago. No wait. No line. No one was there. Expect the turnout was terrible. Disappointed, but maybe nationally Democrats can hold on. 🇺🇸
Keeping the news off and planning to go to bed early and check election results in the morning. I have low expectations for the midterms, and win or lose I think I’ll sleep better if I ignore it. The protracted results 2 years ago over several days really messed with me. 🇺🇸
ActivityPub is notoriously chatty, and all the new activity has been dragging down some of Micro.blog’s background tasks. I’ll be rolling out a series of optimizations and Mastodon-related tweaks over the next couple of days.
A few days ago at Salt Point. After camping, detoured into San Francisco for a day of being a city tourist with reliable wi-fi.
Noticed some Micro.blog background queueing problems that could’ve significantly delayed a few things, such as deleting blog posts. Fixed and should be catching up now.
Election day! If you’re in the US, make a plan to vote today. I’ve been traveling and out of my usual routine of reading the news every day, which has actually been nice. 🇺🇸
On the latest Core Int, I catch up with Daniel from the road to talk about this week’s Twitter chaos and the upcoming MarsEdit 5.
Definitely still some quirks in our ActivityPub implementation, which I’ll be smoothing out as we notice problems. Getting better, though! So much new activity as people bail on Twitter. I’ve waited 10 years for this and it’s still remarkable to see it happen.
Maybe I didn’t pick the perfect time to take a road trip and work even more remotely than usual. Elon Musk chaos, hosting connectivity problems like we’ve never seen before… Knock on wood, hope that’s the end of it for a little while.
Woke up to rain and the wind howling and the notices that Micro.blog had a long outage overnight. Sadly a networking issue at Linode that was mostly out of our control. Sorry for the downtime.
Cool new service from @vincent for embedding “shoutouts” (could be like ads or other announcement-type things) on your web site: Shoutouts.lol. Confirmed it works well with Micro.blog-hosted blogs.
Continuing this vanlife adventure into the northwest, I’m at Coffee Girl in Astoria catching up on email and whatnot. I haven’t been brave enough to get out the camping stove in the rain and cold, so no feasts yet, just basic groceries and some fast food. ☕️
Figured there be some kind of view between Portland and the coast. Stopped about halfway, a nice break in the rain.
I’m in Oregon and then California for a little while, renting a van from the folks at Escape Campervans. Last night at Ainsworth State Park, falling asleep to the rain. Woke before dawn to drizzle and 41° and mild panic that they might not have hot showers. (They did.)
This is a little silly but I like to remind people this time of year that any microblog posts with “Halloween” or “pumpkin” get a secret Happy Halloween pin unlocked on their account. 🎃
Love this: Get Blogging! Concise introduction to blogging, different services, apps, reading blogs, and everything else.
Finished reading: An Echo of Things to Come by James Islington. There is a lot going on in this. Hope the next book in the series has a little less timeline jumping, but really good. 📚
I can’t tell how much of the “Elon asks programmers to print out source code” story is exaggerated, but it made me think about when I hired @vincent without ever seeing any of his source code! Can that be right? I guess I value the final output more than the bits to get there.
Skimming some tweets about Jack Dorsey, there is a lot of confusion about what Bluesky is. Most people are stuck into thinking about social network silos, where you jump from platform to platform. As Facebook and Twitter stumble, the future is more distributed and IndieWeb-ified.
We’re doing Microblogvember again! Jean has the details. Basically, a random word each day to help inspire a short blog post.
Updated the Micro.blog app for macOS to version 2.6, adding a new option in Discover for finding users, and a bug fix. If you’re already running it, choose “Check for Updates” to get the latest.
Of all the new TV shows out this year, Andor is at the top for me. Really good writing and characters. Even if you don’t like Star Wars or were burned out by Disney producing too many spin-offs, this one is in another league. 📺
Just published a new Core Int! @danielpunkass and I talk about Elon Musk actually buying Twitter, what the immediate and long-term fallout might be, Twitter’s Bluesky project, APIs, and network effects.
Dark outside. Early thunderstorm rolling through Austin. Not a precursor of the work day, I hope. ⛈️
Went to bed shortly after Elon fired Parag and a handful of execs, so I was wondering when I woke up if maybe all hell would’ve broken loose. But looks much the same over in Twitterland. Maybe a few weeks of calm before Trump is invited back? 🍿
We’re on the eve of the Elon Musk / Twitter deal closing. In his Dear Twitter Advertisers letter, Elon writes:
The reason I acquired Twitter is because it is important to the future of civilization to have a common digital town square, where a wide range of beliefs can be debated in a healthy manner, without resorting to violence. There is currently great danger that social media will splinter into far right wing and far left wing echo chambers that generate more hate and divide our society.
On first reading, this sounds pretty good. I agree that we shouldn’t be stuck in our own bubbles of misinformation. But the part Elon gets wrong is the premise that there should even be a “common digital town square” controlled by a single company. I reject that idea.
The common digital “square” should be the entire web, with a diverse set of platforms. There should be common APIs but many communities with their own rules, goals, and business models. Concentrating too much power in only a couple social media companies is what created the mess we’re in. The way out is more platforms, free to make the best decisions for their users knowing that there are options to leave and less lock-in for developers.
Twitter’s next few months or years should be interesting. Taking the company private is a good thing, to refocus the company and resources. But I expect chaos. Meanwhile, the mission of Micro.blog continues. Start a blog, get your short posts somewhere you control, and let’s get ready for a post-Twitter web.
Sounds like the Elon Musk / Twitter deal is now certain. We generally don’t try to capitalize on other company’s bad news, but maybe something special tomorrow to welcome new folks to Micro.blog? Subscription sale? Just thinking out loud. 💰
I missed that it has been 10 years since I stopped posting to @manton on Twitter. Still the right call. Would’ve been harder to do anything new if I hadn’t left.
Early voting is underway in Texas. Vote early if you can! We know it’s a long shot but glad to see Beto out there making a strong case for change. He’s run a good campaign. 🇺🇸
Reading this Gizmodo take (via @dave) on Apple’s in-app purchase rules change makes me wonder if Meta has ever considered a lawsuit. Unlike Epic, Facebook might not be able to survive without an iPhone app. Apple’s power is immense.
Spurs fans now confused after the 3-1 start. I still want to see them make a push for the playoffs and forget about tanking. Even the worst team in the NBA doesn’t really have a good chance at landing the top pick. Too risky to throw away a season that could be so much fun. 🏀
Lots of price increases out there… Apple Music: going up. YouTube Premium family plan: going up. WordPress.com pricing: rollercoaster. Micro.blog: still $5/month, maybe forever! But please feel free to opt-in to an increase for yourself by clicking Plans → Premium or Family. 🙂
Core Int 534: Sketch layoffs, native apps vs. web apps, ideas for Sketch staying competitive with Figma, and the surprising advantage of being the underdog.
“It strikes me as downright tragic that this decentralized wonder of the world is now largely operating on computers owned by a handful of mega corporations.” — DHH
Experimenting with adding user search to Micro.blog for macOS, in Discover. You can download the beta if you want to follow along.
This sums up my feelings about Ye acquiring Parler:
The over-concentration of social media is slowly being corrected.
Interesting to read that a web version of Day One is progressing. What will happen sooner: Day One becomes a great web publishing tool, or Micro.blog becomes a great private journal? (Only half joking… I know how I want this to work but have to resist until we’re ready.)
I created a little Micro.blog plug-in called simply Meta tags to make it easier to put random <meta> tags in your blog’s HTML without needing to make a custom theme.
Going to be traveling a lot in the next few weeks. Think I need to plot out what I’m going to prioritize for work so that I can continue to get things done without biting off too much. Need quick wins.
Being against the death penalty means we have to be okay with even a mass murderer getting life in person. Hurts for the parents in ways I can’t imagine, but the kids had the right call to action. For some crimes there can be no suitable justice except preventing the next one.
Spent the afternoon finishing a rough print layout pass for the book and submitting it to IngramSpark. I’m afraid it’s too long, but don’t want to do any more edits until I can hold a test printing in my hands.
Browsing photos on Micro.blog is one of my favorite things. Crazy to think that the first beta of Micro.blog years ago couldn’t even host photos! Terrible. (Although I guess the first version of Twitter couldn’t host photos either.)
Out of the house this morning for errands, a break for a little while at Epoch Coffee on Anderson Lane. A Day in the Life in Austin, 8:15am. ☕️
I believe Beto can win. Will he? No idea. As always it’s about turnout. For the first time, all of my kids are old enough to vote, and no matter what happens that makes me happy.
Posted a new Core Intuition with thoughts on finishing up my book and @danielpunkass’s new features in the upcoming MarsEdit release.
Our Nest thermostat thinks it’s sooo much smarter than me. Didn’t expect to lose control to the robots this soon.
Watched some of the final January 6th committee hearing at lunch and then got bogged down catching up on other news. We got a lot right in this country but there’s so much work still to do. 🇺🇸
Some of the Micro.blog pins are special and only appear when they’ve been unlocked. Here’s what the new pin will look like if you participate in A Day in the Life 2022:
Final prep for the 24-hour photo challenge. Starts at noon central time today. Easy to participate… Just need to post one photo! We’ll have a special pin and Discover section.
SendGrid SMS verification codes make me laugh. Everyone uses 6 digits, but they use 7 for some reason. Actually a usability problem because your brain is so used to 6-digit codes.
Finished reading: All the Light We Cannot See by Anthony Doerr. Incredible. 📚
Nice update to Mimi Uploader for Micro.blog:
You can now write alt text for any image in Recent Uploads. Tap on an image. Write the text. Hit Save. This is attached to the export snippet at the time of export.
Looking forward to tomorrow’s 24-hour photo challenge. As a community we last did this 2 years ago and I couldn’t remember what photo I had posted… Looked it up on my blog: we were traveling back from a couple days away, kayaks bundled up on the car.
U2 will probably always remain my favorite band… Old favorites stick with us forever. But until yesterday had no idea that Bono was touring for his new book and that the band might play in Vegas next year. Excited for both.
Continuing to fine-tune our Mastodon integration, but should be running more smoothly. My biggest fear with all the pieces — feeds, ActivityPub, Webmention, cross-posting from M.b to Mastodon to wherever! — is that I will create a posting infinite loop and destroy everything.
From this morning, coffee at Stinson’s. Looking at this photo, the text almost looks like a digital overlay. But no, the obnoxious TM is there in real life. ☕️
Making some careless mistakes today. Wrapping up another bug fix and then going to step away from the Ruby code for a while, until I can better focus.
Love seeing a new post from Doug Bowman pop up in my feed reader after… 8 years! My feed reader has been quietly checking the RSS feed, waiting for this day. Polling tech is going to be with us for a while and that’s probably a good thing for compatibility.
Working through some bugs from the improved ActivityPub rollout yesterday… There are always edge cases I didn’t test enough. Lots of different systems trying to play nicely together. 🐘
Spurs hold practice in Uvalde:
The Spurs then literally lifted the community, raising toddlers on their shoulders to bring them closer to the rim for a basket.
🏀
Today we published a new Extra Intuition, our special podcast for Core Intuition members. This one is about road trips to pizza places and the ocean. 🍕🌊
Can’t believe it, but it has been nearly 4 years since we added ActivityPub support to Micro.blog. In that time, we’ve made some tweaks and bug fixes to it, but it has remained largely unchanged until today. If you were using a custom domain name for your blog, anyone on Mastodon could follow you, and you could follow anyone on other Mastodon servers.
Back then I blogged about why using custom domain names was important:
Sometimes in the Mastodon world your identity can get fragmented across multiple instances. You might start on mastodon.social but then move to another instance, effectively breaking the link between your readers and your posts each time you move, with no way to migrate posts between instances. By supporting Mastodon and ActivityPub in Micro.blog, you can consolidate your identity and posts back to your own blog at your own domain name.
There is a downside to this approach, though, and it has become more clear over the years. Because not everyone on Micro.blog has ActivityPub enabled, following users and replying often felt incomplete. To fix this, we are moving to enable ActivityPub by default for new Micro.blog users, and allowing it even if you aren’t using your own custom domain. We’re also improving conversations so they aren’t so disjointed, with Micro.blog now pulling in additional replies from Mastodon if needed.
If there’s no custom domain, what does the Mastodon-compatible username look like? @username@micro.blog of course! In this way, Micro.blog looks a lot more like another Mastodon instance, but an instance that also has a full suite of blogging features, IndieWeb protocols, and everything else we’ve been building for years.
It’s now easier to reset your Mastodon-compatible username too, for example when changing your domain name, or when moving from @username@micro.blog to @username@yourdomain.com. Mastodon itself has also added features to ease migration, and that’s something we’ll be looking at supporting.
In the future, we may do more to encourage everyone to enable ActivityPub on their Micro.blog account. For now, if you’d like to enable it, just head over to the Account page and click the “Set Mastodon-compatible Username” button.
Recorded a new episode of Timetable this morning to give an update on a few things. Not sure why it has been so hard for me to give time for this podcast… It is so easy to record and edit. 8 minutes!
“I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me.” — Frank Herbert, Dune
Tonight’s House of the Dragon had some great scenes. Favorite shows on TV right now: Central Park, Andor, House of the Dragon, Rings of Power. Hate putting Rings of Power last but the whole humans part is overdone and not working… Wish it was all elves, dwarves, and hobbits.
Playing around with Calibre today for the first time. Mostly happy with using Ulysses and exporting to HTML and ePub, but each format requires tweaks afterwards. Makes it tedious to re-apply changes after editing. We’re always chasing the “write once, run anywhere” dream.
Polishing up some big changes for a somewhat neglected part of Micro.blog, shipping tomorrow. Feels good to take an existing feature and bring it a couple steps forward. 🐘
I’ll be the first to admit that my book would be better if a real journalist wrote it. I don’t think I will ever be totally happy with it. But I do want it to fairly capture various points in time and APIs. I’ve learned so much in the last 25 years… Putting it together is hard.
Finished reading: The Shadow of What Was Lost by James Islington. Great start to this trilogy. Hit all the right notes for a fantasy series. 📚
Thinking recently about how Twitter could never find the right leadership. Jack Dorsey regrets that it’s a company instead of an open technology. Elon Musk hopes that it’s something new, far removed from its roots. Prediction: Twitter will be a dumpster fire of staff downsizing and speech policy revisions for 1-2 years before they have a chance to rise from the ashes of what might’ve been.
Love reading about folks on Micro.blog who are going to participate in NaNoWriNo next month. It’s a big time commitment but worth it.
We just posted a new Core Int. Daniel gives an update on MarsEdit 5 progress, we talk major vs. minor updates, marketing, and more.
For bloggers who don’t want to be easily found by Google, I updated the No robots plug-in today to also add a meta tag in addition to the robots.txt file. Should help tell Google really don’t index the blog. Just click Upgrade to get the latest version.
A bunch of people have signed up for next week’s Day in the Life photo challenge, but it would be great to see even more folks from the Micro.blog community participate. You just post one photo wherever you are on October 13th. We might do a book, so fill out this form too. 📷
Straightforward advice from @benwerd:
Not an earth-shattering new feature, but I’ve been plugging holes in our books API and book covers, so it’s less likely to have a blank cover in Epilogue’s Discover tab. I think the books stuff is really coming along.
Looks like the Elon Musk / Twitter deal is back on. After so much uncertainty, to be back at this spot, I think it will happen. Expecting things to change gradually over there, and users looking at Micro.blog and other platforms again.
Walked up to the coffee shop to work today. It’s bulky item pickup day in our neighborhood. Felt a little sad for this print discarded with old wood on the curb.
This talk by Molly White called Blockchain Solutionism is excellent, given at UT Austin last month. Covers the blockchain, Web3 is going just great, uses for crypto, and Web3 solutions in search of a problem. “There are never purely technological solutions to societal problems.”
Finished updating book.micro.blog with the latest draft improvements. I’m going to package this into an ePub this week for backers and pre-orders, even though it’s not final. Then onward to review the test printing and make final changes.
My book is about 70 short chapters, and to keep track of editing I made a spreadsheet long ago with notes and color-coding: red for chapters that needed a lot of work, orange for small tweaks, and green for ready to go. Going to do another editing pass and call it done.
Spurs first preseason game isn’t going great, but still hoping for a fun season. Either this team is going to surprise everyone or at least there will be some cheap games to go see in San Antonio. 🏀
Acrobat Pro subscriptions going from $25/month to $30/month. I hate to complain about subscriptions, but this might be a little too much for the only thing I use it for: File → Export for my book PDF. Adobe’s gotta cover their Figma acquisition cost somehow.
The secret to getting feature requests immediately implemented in Micro.blog is to send them to be 5 minutes after I sit down with my coffee. ☕️
I was on the road, so missed the Beto/Abbott debate. Catching up with some of the video clips and news coverage. Really bizarre that there was no in-person audience. I know Dems especially in Texas don’t want to risk hoping, but… I think this election might be close.
Apple downgraded my iPhone trade-in from $300 back, to $75. Guess they noticed the tiny little scratch that I’ve been ignoring for years. Sigh.
NBA pre-season starts today! Glad to see NBA League Pass cut their yearly price in half, but still thinking about whether I really need it… We subscribe to way too many streaming services. 🏀
I often curl a URL and then pipe it to open in BBEdit. Great for looking at RSS feeds. I’ve been meaning to set up an alias or script to make this easier… Realized today that the bbedit command line can accept a URL! 🤯
MarsEdit updated today with a preference for showing the title field, plus other fixes.
Time for our next photo challenge! Coming up next month: A Day in the Life of Micro.blog 2022. Check out Jean’s blog post for the full story and a form to sign up. It’ll run 24 hours starting October 13. 📷
We posted this week’s Core Intuition, mostly about Meridian! @danielpunkass also gives me feedback about Micro.blog bookshelves and whether they should be more generalized.
Today we’re rolling out better support for attaching multiple photos to a post in Micro.blog on the web. The native apps have been able upload to multiple photos with a post for years, so it’s a little embarrassing that it has taken so long to get the web version updated too.
If you click on an attached photo, you will also see new options for removing the photo or setting a description for the photo, which is included in the HTML’s alt tag.
Attached photos are added at the end of a post. We think this streamlined approach to the UI is the best default for most people. If you want to mix the photos in between paragraphs of text, you can continue to use the “Copy HTML” button on the Uploads page and paste the img tag into your post. Our companion iOS app Sunlit also has more control over post layouts.
Note that these improvements do not change how photo posts are displayed in the Micro.blog timeline. Short posts with a single photo or a few photos are shown inline, and longer posts are truncated with a link back to your blog.
Enjoy! Happy photo-blogging.
My most productive work time may be between summer and the winter slowdown for the holidays. Getting all sorts of stuff done lately. Here’s a sneak peek video of something shipping tomorrow for folks who post to Micro.blog mostly from the web.
NSDrinking is tonight on Zoom, 8pm central time. Looking forward to it because it has been a while since I could join. Anyone’s welcome to chat with us about Mac, iOS, development, and whatnot. 🍻
Whenever I glance at our server logs, I’m annoyed that so many requests are trying to exploit WordPress security bugs. Lots of obscure .php paths. Of course, these are all 404 on Micro.blog and just a waste of web traffic, like spam.
“Don’t you want to be alive before you die?” Reading All the Light We Cannot See. No spoilers, I’m about halfway through. 📚
Finished reading: The Slow Regard of Silent Things by Patrick Rothfuss. Not what I expected, but a short read and nice complement to his other books. Smiled when I noticed the rhymes, almost could’ve been poetry. 📚
New feature! When adding feeds, you can now set posts to import to a blog instead of just showing up in the Micro.blog timeline. Great for keeping everything in one place or syncing between multiple blogs. Deserves a longer write-up, but for now here’s a screenshot.
Gregg Popovich: “Nobody here should go to Vegas with the thought of betting on us to win the championship.” Good thing I don’t bet on sports, because now I’m thinking the Spurs just making the playoffs would be a great gamble. Pop jokes, but not sure he really wants to tank. 🏀
We’ve merged all the 3.0 beta changes into Micro.blog for Android too and shipped it as version 1.2, available now on Google Play. Embracing React Native is really working well for us, I think.
Almost shockingly cool this morning in Austin. 60°! Took the dog for a short walk. Settling in to work now… Feel good about getting stuff done today.
Over the summer, Jon Hays and I started working on a new project to build a places database that can power location check-in apps. It’s based on OpenStreetMap, but focused just on places. We call it Meridian, and it has the amazing domain name latl.ong.
For years I’ve been using Foursquare to check into places like coffee shops, restaurants, and landmarks. I love having a record of places while traveling, and I’ve published many of them to a special blog. I just don’t like depending on a single company for this data.
Meridian is open source and separate from Micro.blog, but it will form the foundation for location check-in features in our apps like Sunlit and Micro.blog. You can see a little of what we have planned for Sunlit in these screenshots:
Why build something new like this? There seemed to be a missing platform for small location apps. Foursquare is increasingly interested in business customers. Google is full of ads. OpenStreetMap is a great start, but also has quite a learning curve. If all you want is nearby places, it’s too much work to bring along all the overhead of a full mapping API.
The architecture of Meridian will allow other platforms like Micro.blog to host their own copy of the data, feeding back into Meridian and OpenStreetMap. The goal is to design something as distributed as possible, where multiple people using different apps can add new places to grow the database, while still having an API that is simple to use. We’ll iterate on it slowly but there are already some pieces in place to start experimenting with. Should be fun!
If you use Obsidian, check out what @otaviocc has been doing with Micro.publish, a plug-in to publish notes to Micro.blog. It’s in review to be added to the community plug-ins list too.
Over the weekend we made a bunch of little refinements to Micro.blog on the web. Here’s a screenshot of the Bookshelves page which now has recent book covers.
About to queue up the latest House of the Dragon. I’m skeptical that they are taking the star of the show and switching to a different actress as the character ages, mid-season. 📺
Andor episode 3 was great. Worth the kind of slow build up to get there. Also really enjoying Rings of Power… What a time for TV. 📺
Rolled out a couple improvements to the Posts page in Micro.blog on the web for phones, as well as fixes to a few other pages. I find myself using the web version more as we work on 3.0 for iOS, finding little things I hadn’t noticed before that needed fixing.
Shipped a couple updates to Epilogue for iOS in the last week. I’m using this app every day now and like the way it’s shaping up.
New Core Intuition! We talk about @danielpunkass getting detoured into working on FastScripts, and the benefit of “quick wins”: smaller features that can be implemented quickly and rolled out to customers in days, to balance longer-term releases.
Great new Micro.blog plug-in from @sod: Search Space! In beta, but I installed it already on my blog to try out and it works really well. Nice upgrade from my old search page plug-in.
If you’re on the Micro.blog for Android beta, check out version 1.2 which adds improvements that we had been working on for the iOS version. We plan to continue shipping new features on Android as the iOS beta progresses. 🤖
Finished reading: Anxious People by Fredrik Backman. Wonderful characters. Starts kind of all over the place (by design) and really comes together nicely. 📚
My book reading has been a little random lately, bouncing between a few novels based on mood and what is due in Libby soon. On track to read more books in a year than I ever have before. 📚
Congrats to @RogueAmoeba on 20 years. Love the old screenshot. Aqua! Drawers!
Spotify continues their push into audio with audiobooks… I don’t love Spotify trying to dominate all audio, especially podcasts, but on the other hand the audiobook industry probably needs a little competition.
Today we rolled out a new subscription option: Micro.blog Family, designed for up to 5 people with all the features of Micro.blog Premium. It’s $15/month and you can upgrade on the “Plans” page in Micro.blog.
Over 2 years ago we added a Teams plan with unlimited users, but it was never quite right. Micro.blog started around personal microblogs and it felt like too big of a jump to expect that larger companies would start using Micro.blog regularly. Micro.blog Family fits better with our mission and is a more natural upgrade for folks who want to bring family or friends together around a blog. I’m using it for a travel blog for my family, and we think it’s a good fit for photo blogs and family email newsletters too.
Apple has got to dial down the paste warning alert in iOS 16. It’s pretty disruptive when doing any back and forth copy/pasting between apps.
If you’re on the Micro.blog 3.0 beta for iOS, we’ve pushed out another update with several improvements.
Congrats to the Vegas Aces. Great WNBA playoffs this year. So happy for Becky Hammon too. We miss her on the Spurs but great move to head coach. 🏀
Possible solutions to realizing my passport has expired… Set a reminder every 10 years? Travel internationally much more often? 🗺
Dave Winer marks the 20th anniversary of finalizing RSS 2.0:
It was low-key, I was fully expecting the roof would cave in and rioters would break down my door. I announced here on Scripting News that the final RSS 2.0 spec was out. But! – no one had a problem with it.
After a day, really liking the iPhone 14 Pro. Enjoying the slightly larger screen, too, and I even read some with the Kindle app last night. (I usually read on the iPad Mini.) The purple is very subtle, looks silver or gray half the time.
The feeds page in Micro.blog has been bugging me for a while, so finally did a minor redesign to make it more clear how the cross-posting button effects the various services. Micro.blog + feeds is one of the most misunderstood parts of Micro.blog, but also one of the most unique.
We’ve updated our community guidelines to include a more formal policy around cleaning up spammy accounts and what kind of posts aren’t appropriate on Micro.blog. Jean has the details on her blog about why and how we’re trying to be proactive about this.
I like these slides from a talk by @ton about enabling more IndieWeb features in WordPress… Includes Micro.blog screenshot too!
Excited for game 3 of the WNBA finals tonight. Honestly I think it’s going to be a sweep, but if it extends a couple more games that would be great too. NBA preseason just a couple weeks away. 🏀
I’m confused by this GOP strategy to bus or fly people to the northeast:
…roughly 150 migrants in all — were their most conspicuous attempts yet to provoke outrage over record arrivals at the border
Who exactly is outraged? It seems transparently gimmicky and solves nothing.
Reminder that if you want to know the day to day (often boring!) updates to Micro.blog, the changes category on news.micro.blog is a good way to keep up with it. I’ve been posting more there so I don’t clutter my own blog. The big stuff gets bumped to @news.
If you’re noticing timeline delays, I broke something with a fix earlier… Should be getting back to normal now. Apologies!
Figma acquired by Adobe for 💰. Figma is such a compelling product. Also a better name than Adobe XD. Feels like they should merge the Figma and XD teams and have one thing… Similar to how maintaining both FreeHand and Illustrator didn’t make a lot of sense long-term.
I’ve noticed this trend Jason Fried blogs about too, and I’m tired of it… We don’t need to be asked to rate every little thing! It generates a lot of needless busy work for everyone.
They ask me to rate my “experience”. Thing is, I didn’t have an experience. The delivery person just left the package by the mailbox and I grabbed it when I got home.
We’ve been using HelloFresh recently, and they also ask for a 1-5 rating for food deliveries. I always unpack the box first before rating. If the food arrived on time and in good condition, I give it a 5. If the food was damaged or spoiled, I call customer service. Not sure what situation I would rate something a 2 or 3 or 4, so the numbers can’t be that helpful to anyone.
All these rating prompts — from pop-ups on web sites, to text messages from my dentist asking how my appointment was — have become like noise, hardly better than ads.
After working at a coffee shop downtown, took a break to read by the trail. Finished reading: Mr. Penumbra’s 24-Hour Bookstore by Robin Sloan. Loved everything about this book. 📚
Today we’re excited to announce an early preview of Micro.blog 3.0 for iOS. We are rebuilding the app to move closer to feature parity across iOS and Android. We’re updating the user interface based on years of feedback, adding a tab bar and cleaning up some screens in the app.
This is a major update, and it will take time to get right. The first 3.0 beta is missing several features from the current 2.3 release for iOS. Post editing, managing uploads, creating pages, external blog posting, and more will follow in later betas. There also is no special iPad split view yet. If you want to try 3.0, we’d love to hear what you think, but note that it may be months before the beta catches up with the current shipping iOS release.
You can join the new TestFlight beta here. You can’t have both versions installed at once. If you want to go back to the 2.3 release, just download it again from the App Store.
We are putting the final touches on the first beta of Micro.blog 3.0 for iOS. Really happy with the way this came together. Thanks @vincent! It has been approved by Apple, so we’re mostly good to go. Does it have everything? Nope. But it’s a new, strong foundation.
Updating to iOS 16 on my phone. I’ve had the beta on my iPad all summer, but wasn’t really using any of the new iOS features there. Usually forgot I was running iOS 16.
We posted our Apple event reactions on @coreint over the weekend. Check out episode 528 for thoughts on the iPhone 14, Apple Watch, the production value of Apple’s marketing videos, and whether Apple’s dramatized customer disasters have crossed a line.
Reshuffled my Libby holds queue with new books. Also, wasn’t sure I was going to stick with Kindle Unlimited after the free trial because of the limited selection, but I’ve found it’s mostly been worth it as long as a few books I’m interested in are in there. 📚
Happy Sunday! I rolled out a nice upgrade to the “Edit CSS” button in Micro.blog this morning. It now uses a split screen with site preview on the right side. The preview automatically updates and always refreshes with the latest CSS. Much faster to iterate on CSS changes.
Finished reading: Locklands by Robert Jackson Bennett. Impressed with the way each book in the trilogy built on the initial foundation, taking it much further than I expected. 📚
Did not finish: The Time Traveler’s Wife by Audrey Niffenegger. I started reading this when the TV show came out. Neat idea but haven’t been able to get back into it. 📚
I’ve gone all-in using the upcoming Micro.blog for iOS beta on my phone. It has been a great way to notice all the little things we can improve and tweak. On track to release the beta next week.
Dreamt that 37signals hired me to integrate Hey and Wordle. In this dream world, 37signals had a beautiful multi-million dollar office. Some employees didn’t think that Wordle stats fit in an email client, but Jason wanted to push it through with an external contractor. Shrug!
Couldn’t sleep, so I was already up super early this morning and decided to order the iPhone 14 Pro. Purple. This is my first iPhone pre-order in years… I don’t really miss the launch hype. 📱
Forgot to clear my schedule after getting the updated COVID booster yesterday, so a little surprised that the shot floored me. Unfortunately had a lot planned to do today! Not the best timing, but glad to be done with it… Just keep imagining post-COVID fall travel. 💉
Even what seems constant eventually changes. Queen Elizabeth had an extraordinary life. Thinking about all the world events over 70 years she was there for, but also some of the unexpected twists and turns in the road of the monarchy, with Diana and what might have been. 🇬🇧
Reflecting a bit more on yesterday’s Apple event, I think I will upgrade to the iPhone 14 Pro. Maybe not on day 1, but this year. I’m still using the 11 Pro, which I love, but probably time for the camera upgrade. Also would be useful to test my apps with Dynamic Island.
Impressed with Apple’s Emergency SOS via satellite. I don’t love that it will eventually be a paid service, though. Shouldn’t have to monetize everything, especially the equivalent of a 911 call.
Pretty solid updates to Apple Watch. I’m not really in the market to upgrade yet, but maybe within a year or so. 40 minutes of this event on Apple Watch is a lot, though… Going to be a long one.
Saw the subtitled version of Totoro last night at Alamo Drafthouse. Such a pure movie, suitable for anyone. As movies get more and more expensive to make, feels like we’re losing anything not written by a committee forced to follow tried-and-true formulas. 🍿
We’re working toward an early beta of the next Micro.blog for iOS. It’s really fun to test. A fresh take on the UI, consistent where it needs to be and new at the same time.
This week’s guest on Micro Monday is @vincent! These episodes are fun because it’s like I’m hearing what people really think about working with me. 🙂 They catch up on the official Android app and more.
We’ve updated Epilogue for Android, catching up with the features released for iOS. The old version for Android was admittedly a little broken… Should be working well now, including the new reading goals interface.
Game 3 of Vegas/Seattle WNBA semifinals was so good today. Wish I had been watching more of these teams earlier in the season. 🏀
Attempting to make my iPhone less frustratingly secure, I’ve tweaked some of the passcode settings. Don’t require attention. Added another Face ID. Let everything happen when locked that’s an option. Seems better.
Watching the locations/venues session video from IndieWebCamp Berlin. I wasn’t able to participate in this one, even remotely, but glad to see IndieWeb folks were able to get together.
Artemis launch scrubbed again. Disappointing, but we’ve waited decades to get back to the moon, so we can wait a little longer. Let’s get this right, NASA. 🚀
I had my doubts as Rings of Power started, but they won me over by the end of the first 2 episodes. It’s not how I would’ve made it — I’d love to see a new hand-drawn or stop-motion Lord of the Rings — but for what it is it’s excellent. Some beautiful scenes… Spared no expense.
Micro.blog for Android has been updated to version 1.1! Dark mode and other improvements. 🤖
Finished reading: Shorefall by Robert Jackson Bennett 📚
I checked out Irie Bean Coffee for the first time and… people smoking cigarettes on the patio? Ashtrays? Like I had stepped back in time to 1990s Austin. They don’t care about your hipster third-wave coffee shop ambience and I kind of respect that. ☕️
Feeling nostalgic driving through south Austin today. 30+ years ago, walking along Riverside to Austin Books to pick up comics. Putting quarters into Donkey Kong in the lobby of an old hotel. So many memories of a lifetime ago.
Scheduled my updated variant booster for next week. Now extra paranoid that I’ll get COVID before then. 💉
We’ve been playing Root more. It took about 4 play-throughs and watching multiple how-to videos to finally get the rules right. Great game. 🎲
Feel like our companion app Epilogue has matured quite a bit. Started as a fun experiment, now one of my favorite little apps. I added its own page in the Help Center today so we can better keep track of version history.
When I was first working on the Micro.blog prototype, I was so worried that someone would launch a similar service before me or soon after. 5 years later, turns out no… There are a lot of interesting platforms but really nothing close to the breadth of what we’re trying to do.
September already? For today’s episode of Core Intuition, we talk about next week’s Apple event and other random topics like 5G.
Dusting off Android Studio. Upgraded a few things. The quality of the Android build tools is like Project Builder circa 2002. Really poor experience that Apple would never settle for, and Google shouldn’t either.
Epilogue 1.4 for iOS is now available on the App Store. Check out the blog post on the Epilogue microblog for screenshots of the new Goals tab.
Sounds like the Omicron variant booster could be available as soon as next week. I’m planning to get it. It’s a little awkward that they haven’t finished human trials, but I guess I trust it. It’s like a bug fix update to an app you already love. 💉
Sneak peek screenshot from @vincent of the next major update to Micro.blog for iOS. We’ll be starting a very early beta soon. A lot is changing for iOS, so it’ll take some time to get right.
The beta of Epilogue 1.4 with the new reading goals feature is out for iOS. Will probably ship it to everyone later this week.
As posted to news.micro.blog, I updated our API to keep track of reading goals. This was the last feature I was still using from Goodreads. When you blog about a book you’re reading, Micro.blog can automatically update your goal progress for the year. All blogs, all the time! 🙂
Our app Epilogue is the little happy place I go when I need to work on something fun and simple. But it’s not wasted procrastination time… It also contributes back to the larger goal of encouraging posting to your own blog. Sneak peek at next version.
Sad to read that Ralph Eggleston has passed away at 56. In the animation world, feels like many of the greats have lived long lives… Wish it could’ve been that way for him too. Huge impact, though.
New game, Root. One of the most complicated board games to get started with because every player’s rules are different, but like it now we’ve figured out the basics. Really nice design. 🎲
Disappointed to see Moderna sue over mRNA. Maybe companies that get funding from taxpayers should have their patents in the public domain? Surely they can still innovate and be profitable.
Finished reading: Foundryside by Robert Jackson Bennett. Looking forward to the rest of the trilogy. Interesting magic system. 📚
On this week’s Core Intuition, @danielpunkass and I talk about our busy summer, trying to balance work, vacation, and other trips. They talk about MarsEdit 5 progress and transitioning a blog from WordPress to Micro.blog.
I’ve been using Hey for about a year, and recently was able to finish consolidating all of my email accounts to it. They added sending via Gmail too, which was the last missing piece. Very happy with the design. I use it like a specialized client, still backed mostly by Fastmail.
The icon for our app Epilogue has bugged me since I whipped it together for version 1.0. I should probably get a real designer to make a new one, but I spent a little time this week coming up with a new one that I like. Old on left, new on right. Goodreads-inspired colors.
I thought I was following Beto pretty closely, but didn’t realize he was working on a book, out today. Looks good. Ordered: We’ve Got to Try. 📚
New version of Epilogue! From @news:
Epilogue 1.3 for iOS has been released in the App Store! This version adds a new Discover tab for finding books that people are blogging about. Tap and hold on a book cover to quickly add it to one of your bookshelves.
I’m on today’s Really Simple Stories podcast with @martinfeld! This was a fun episode to record. I reflect on some early experiments with podcasting, talk about the open web, and more.
I continue to think that my devices are now too secure. Face ID shouldn’t freak out multiple times a day, requiring a pin. Safari shouldn’t scrap cookies every week, requiring needless extra web sign-ins. Any security beyond unlocking my Mac is usually unnecessary friction.
Really strong first episode of House of the Dragon. When it was over, I was thinking “this is how good Wheel of Time should have been”… Still feel like that first season was written by committee and fell flat, for me. 🐉
Finished reading: The Wise Man’s Fear by Patrick Rothfuss 📚
Rolled out a change in Micro.blog on the web to manage your own posts with a more compact view. Details and screenshot over on the news blog.
Annoyed that Tumblr appears to have changed their posts export format, breaking compatibility with Micro.blog’s import. Now I need to rewrite it. Formats should be stable, and all blog systems should support my Blog archive format.
Adding the Artemis launch window to my calendar. August 29th. We just finished watching all 3 seasons of For All Mankind back to back. Past time to return to the moon! 🚀
Seems like I’ve been in and out for 2 weeks, both vacation and unexpected travel. Even though I can always check in with work from anywhere, it’s not the same as having an uninterrupted day. Back at my desk this morning, iced coffee in hand, ready to catch up. ☕️
Changed my profile photo to a shot from Disneyland last week. Cropped funny but I like it anyway. Will show up a little delayed in various Micro.blog clients… Need to improve that.
UK approves Moderna variant booster. Hope we get this in the US in the fall. Many people will have gone a year since their last shot, so seems like good timing. Hardly anyone wears masks anymore. 😷
Forgot to link last week to @coreint because I was traveling. On episode 525, @danielpunkass and I talked more about Blinksale, Stripe, and subscription services. (We’re taking this week off from the podcast.)
Vacation over, time to get back into the routine with work. Moved the Disneyland app off my home screen. 😢
Great few days in San Diego, then drove up for a quick 24 hours at Disneyland. Dinner last night at Lamplight Lounge in California Adventure, watching World of Color.
Deployed a server tweak that may improve some of the flakiness today. Now back to vacation mode with a beer and my book, looking out at San Diego.
Moving an old WordPress site over to Micro.blog. It’s weird that in 2022 there’s no built-in photos export in WordPress, unless it’s buried somewhere I don’t know about? Micro.blog downloads any photos during import, so no big deal, but .bar support in WordPress would be nice.
San Diego model train museum. So many landscapes. Some really nice bridges and little details everywhere.
Finished reading: Gardens of the Moon by Steven Erikson. There is a lot going on in this. So many different point of view characters. Going to start book 2. 📚
Stopped in Corsicana for a coffee and world-famous fruitcake to go. I don’t even love fruitcake, but I’m fascinated with the Collin Street Bakery history. Next up need to watch the Fruitcake Fraud documentary. ☕️
We released a new episode of @coreint today, with more discussion about Blinksale and subscription services. Then @danielpunkass gives an update on shipping MarsEdit 4.6.
We released a new beta of Epilogue for iOS. You can now tap and hold on a book cover in Discover to quickly add it to one of your bookshelves.
Today’s Micro Monday episode features @aa! Just finished listening to this in the car this morning. He talks with @jean about leather working, snail mail, blogging, and taking the time to craft something of quality.
We’ve continued to tweak the new profile popup so that it’s more usable. Faster, smaller, and off to the side a little now. Pretty happy with this version! Here’s a screenshot to capture the progress.
MarsEdit 4.6 was released today with some nice improvements for Micro.blog! Automatically hiding/showing the title field, and creating new blog categories directly from within MarsEdit when writing a post.
We published a new Core Intuition today talking about @danielpunkass’s plans for MarsEdit 5, upcoming improvements for Micro.blog in MarsEdit 4.x, macOS versions to support, SwiftUI, and the relevance of Tumblr vs. Micro.blog.
Caught up on support email. I had started to lag behind again. Still really happy with the way Help Scout works… It has been one of our better upgrades.
Good feedback on the web profile popup we rolled out yesterday. Thanks everyone! We fixed a couple issues today and will continue to tweak it.
New web feature that @vincent has been working on, via the news blog:
Hover the mouse over someone’s profile photo to get a quick look at their full name, bio, web site, and link to follow them.
This is especially useful in Discover if you want to quickly follow someone new.
Rolled out some bug fixes to the Mac version of Micro.blog this week. “Check for Updates” to get the latest version. Improves dragging from Apple Photos and several other tweaks.
This week’s special guest on Micro Monday is @val! She talks with @jean about moving to Kyrgyzstan, posting a photo every day, and the community on Micro.blog.
Finally starting the Malazan series. I’m reading on Kindle Unlimited which includes the Audible narration as an option, so I can read or listen and it’s synced up. Wish every e-book purchase worked this way. 📚
Finished reading: The Ten Thousand Doors of January by Alix E. Harrow 📚
If you missed it over the weekend, I created a new plug-in that changes your home page to just be full of photos and basic navigation. Great for photo blogs while still allowing text and full-length blog posts outside of the home page. Updated it today for smaller screens.
We have a bug fix update today for folks on Android! @vincent actually finished this version months ago but it had been hung up in Google app review for some reason. Finally got it approved.
Grab the update on Google Play. The next version is also coming along well, so expect more for Android this year.
Finished reading: My Neighbor Totoro by Tsugiko Kubo. A short book, for kids or Miyazaki fans. Adds more details and scenes than the movie. Wonderful. 📚
Just discovered The Wandering Inn, an epic 7-book (and counting) fantasy series that the author publishes on the web every week as new chapters are written. Essentially a massive blog, later collected as Kindle and Audible books. 📚
Posted Core Intuition last night. We start with a discussion about the latest ownership change for FogBugz, then thinking more broadly about services that work but that don’t improve.
Hello, photo bloggers! I created a new plug-in that replaces your home page with a grid of photos and links for your other pages. No post text on the home page. Hope it’s a good start for people who want to go all-in on photos. Called simply “Home page photos”.
Working while the car gets an oil change and other service, outside at the dealer’s covered patio before it gets too hot. Only 80° now, the usual high of 100°+ later. Counting down the days until we get out of Texas for a little while later this summer.
We’re working on a new version of Epilogue with a Discover tab, to show a grid of book covers from books people are blogging about. If you’d like to follow along, there’s a public beta for iOS.
Casey Newton has a write-up about BeReal. I remain perplexed about this app. It’s fascinating, fun, but also gimmicky and buggy, and it’s not clear to me how they can ever recoup the 💰 millions in investment.
Instagram’s transformation into QVC is now complete and absolute. Instagram is dead — or at least the Instagram I knew and loved is dead. It is no longer part of my photographic journey.
Instead he posts to his photo blog.
This week’s Micro Monday podcast features special guess @fabio:
We chat quite a bit on the hurdles of building community in the era of pandemic, how social media does and does not support communities, and how Micro.blog fits in.
I can’t believe in 2022 I’m installing make from source. What is happening. Must’ve gone wrong somewhere in my life.
I’ve been using MySQL for what must be 20+ years now. In that time, it doesn’t seem to have gotten any easier to install. Might be even more complicated now with package managers instead of everyone installing from source.
Finished reading: From the River to the Sea by John Sedgwick 📚
Morning coffee. Updating a README. Catching up on email. Hope everyone out there in internet land is having a nice weekend. ☕️
Running out of room on my laptop for big stickers, so I cut this Gowalla sticker to fit on the corner.
Daniel and I are back this week talking about Twitter, Elon Musk, how the deal is so disruptive, and the rocky history of leadership at Twitter.
Had fun brainstorming a new project with @cheesemaker this week. We have a domain name and other notes. Not ready to announce yet but it will be something that Micro.blog can build on.
I got the new print of my 30 Days book with updated layout. I could still tweak it but I’m calling it done. This will be the size and format of Indie Microblogging too.
Haven’t been paying close attention to Medium lately. Curious if we’ll see any changes from their new CEO. I’ve enabled cross-posting to send my blog posts over there for a while again.
Old ranch right next to a brand new office building. This guy’s probably wondering why his space is being encroached on.
Having that moment when seeing a doctor for non-COVID symptoms but the waiting room is so crowded with people coughing that seems possible to leave with a worse diagnosis than I entered with. 😷
George R. R. Martin blogs about Winds of Winter:
What I have noticed more and more of late, however, is my gardening is taking me further and further away from the television series.
I liked the HBO version, but I’m also glad he’s not afraid to deviate from it in major ways.
Reading about how few guns Japan has and even fewer deaths. Obviously a different country and culture, but should be an inspiration for the United States to do much more than we’re doing. Our priorities have gotten so messed up.
What would Panic do? On the latest episode of Core Intuition, @danielpunkass and I talk about the Playdate.
Experimenting with OpenStreetMap. Added a new place that was missing. Thinking about how we could use this for potential location check-in support.
I tweaked the margins and layout of my book 30 Days, submitting another print order. If it looks good when it arrives, next step is to get the final draft of Indie Microblogging ready for printing.
First time at Cosmic Coffee, in south Austin after selling a car at Carvana. Great outdoor space. ☕️
Finished reading: The Cartographers by Peng Shepherd 📚
This week’s Micro Monday features @cliffordbeshers! He talks with @jean about posting photos to Micro.blog and more.
I’ve used a few apps over the years for location check-ins. Gowalla, Foursquare, and Ohai, which was built on the App.net API. The Gowalla data was lost after they were acquired by Facebook. I’ve continued to use Foursquare and have imported many of those check-ins to my location site manton.coffee.
I have about a year of data from Ohai, from around 2013-2014. Before App.net shut down, I exported the data. I wanted to dust it off and import it into Micro.blog.
The data is stored in the App.net “messages” JSON. In some cases, there is annotation data that includes the location information such as place name for the check-in and latitude/longitude.
Here’s an example of one of the check-ins, cleaned up slightly to remove fields I don’t care about:
{
"annotations": [
{
"type": "net.app.ohai.location",
"value": {
"address": "11521 N Fm 620",
"country_code": "us",
"latitude": 30.45419,
"locality": "Austin",
"longitude": -97.8271,
"name": "Starbucks",
"postcode": "78726",
"region": "TX"
}
}
],
"created_at": "2013-11-11T14:44:25Z",
"id": "1922259",
"source": {
"client_id": "nymmngm43jnYP2FQ4pCvXjBpT3YyfNDa",
"link": "http://ohaiapp.net/",
"name": "Ohai"
},
"text": "Working after tacos. Hoping to get some coding done with an early start to the week."
}
I had originally used Ohai as a sort of private check-in journal, not intending it to be public in the way that Foursquare check-ins often are. But I’ve found that after nearly 10 years, semi-private data like this can usually be public without the same kind of privacy considerations that I would have worried about at the time it was first written.
So how do we get this data into Micro.blog? Micro.blog can import from a bunch of platforms, but it doesn’t make sense to add support for this file format directly to Micro.blog. It’s not something that most people would need. I wrote a custom script to handle this for my check-ins blog.
In the script, we’ll iterate over each message and look for the ones posted from Ohai, ignoring everything else. For some reason — maybe because I was offline or because of limitations in the App.net places database — not all of my messages included location information, but I still want to record the post and date because it included text I wrote about the check-in. If there is location information, we’ll pass that to Micro.blog too.
Here’s the script. If you want to customize it for your own use, make sure to set the app token and blog URL.
Micro.blog uses the Micropub API for creating posts. When there’s location information, we’ll pass a checkin field to store that with Micro.blog. We can then access that data from a Micro.blog theme, for example to show a map. See my book chapter on Micropub for details on the JSON format.
I had a lot of fun going through this old data and migrating it to Micro.blog so that it can be preserved. Eventually I want to have a Micro.blog-based client solution for new check-ins, starting with Sunlit for iOS, so that I don’t need to keep depending on Foursquare.
Helping @cheesemaker test early game builds on Playdate. First crash. So fun to see games come to life on this little device.
Quiet morning at the start of the July 4th weekend. Took some of the downtime to wrap up an update to Micro.blog for macOS, with improved Day One export (thanks @otaviocc!) and a minor bug fix.
I wonder if the way Apple forces developers to agree to updated terms of service is actually legal. Agree to terms, ship app. Then later, we can’t even update our existing apps outside of the App Store (using Gatekeeper) until agreeing to the latest terms. Apps held hostage.
Did not finish: Dragonflight by Anne McCaffrey. I’ve been reading some older fantasy books that I had missed. I’m 3/4 of the way through this and keep hoping it starts to work for me, but now giving up. 📚
Finished reading: Under Heaven by Guy Gavriel Kay. It had been years since I read any books by Kay. I had almost forgotten how beautiful his writing is. 📚
I extracted the design I use on manton.org into a new Micro.blog theme called Alpine. It’s like Marfa, but with a smaller header and settings for changing the color of the “Also on Micro.blog” button.
“I am very aware that the original concept must do something worthwhile creatively or all the hard work to follow will be wasted.” — Mary Blair
After I made the Font Awesome plug-in, I recorded a video about using it, including how Micro.blog themes work. There was a caching bug in the video, so wanted to re-record it after fixing it… But I don’t have time, so posting the video anyway! Enjoy, it’s on YouTube here.
Last week we re-watched all the Mission: Impossible movies. 4, 5, 6, then 1, 2, 3. I think 4 is my favorite, but I can’t tell if my opinion is being influenced because I’m a Brad Bird fan.
Mission: Impossible 1 holds up. 2 is just a little over-the-top with the slow motion action scenes and doves, almost like a parody. 3 has the best villain, but is dark. 5 and 6 are really solid.
The most fun is knowing which stunts Tom Cruise actually performed. That guy is crazy.
Rewatching the full series so far, I also feel like there’s something important missing in between 3 and 4. Would’ve liked to see a 3.5 movie in there that covers Ethan Hunt’s marriage and its unraveling.
Spurs trade Dejounte to the Hawks. Starting to wonder if they know what they’re doing. At some point we need a stable roster to root for. 🏀
Upgraded a server this morning, hoping to get to the bottom of some flakiness. The load balancer does a great job of smoothing these things over so they aren’t noticed, but would rather everything run smoothly without intervention.
This hearing with Cassidy Hutchinson is extraordinary. Someone very close to Mark Meadows and the former president who is telling us what happened behind the scenes. 🇺🇸
I made a Micro.blog plug-in that loads Font Awesome in your blog, so it’s easier to add icons to blog posts or to use them in theme templates.
There’s another new episode of Micro Monday, this week featuring @annahavron! She talks with @jean about analog office tools, writing, and Micro.blog.
Had some fun with Micro.blog themes and created a new one for those “link in bio”-style sites. It has a custom home page with links to other platforms, but because it’s Micro.blog it can still have a full blog underneath. It’s called Gateway. Demo here: links.manton.org
Brenham courthouse from yesterday’s short road trip. Built in 1939. Would be fun to visit all 254 county courthouses in Texas.
Interesting case about eminent domain for a high-speed train between Dallas and Houston. I don’t get why people fight these rail projects. The cows will be fine and the costs aren’t going to matter decades from now.
Published episode 519 of @coreint. We talk more about MarsEdit moving to the new web view, balancing native and web development, and a discussion in the WordPress community about open source obligations.
Crossing the Brazos River where San Felipe de Austin was located in the 1820s, part of Stephen F. Austin’s colony.
Micro.blog plug-ins can have a settings screen to change config parameters. I’ve added a new field type “color” that I’m hoping will be useful to customize the design of more themes. Modern web browsers provide a color picker for these. (Example config for this screenshot.)
A powerful statement from the dissent:
The majority has overruled Roe and Casey for one and only one reason: because it has always despised them, and now it has the votes to discard them. The majority thereby substitutes a rule by judges for the rule of law.
More good highlights from Daring Fireball.
Excited to demo a new multiple-post, batch find and replace feature in Micro.blog we added this week. I recorded a 3-minute video on YouTube that walks through how it works.
When I’m frustrated about something I can’t directly control, I’ve learned that the best thing to do is to refocus on creating something new. There is a lot to do. Put some music on. Listening to Running Up That Hill. 🎶
The January 6th hearings are pretty serious stuff, so I love today’s break to lighten the mood a little with hilarious conspiracy theories. I didn’t remember this one about Italian military satellites changing votes. Adam Kinzinger seemed about ready to laugh. 🇺🇸
A little surprised that it took them this long to build Twitter Notes. Not a good replacement for a real blog with your own URLs. We don’t need more content locked away in silos.
Great behind-the-scenes post about building the “Bubble Up” feature in Hey email.
You may have noticed that we added a new status bubble to Micro.blog on the web. Makes it easier to tell if Micro.blog is still working on publishing your blog post when it takes more than a few seconds. It also links to your log so you can jump to recent progress messages.
Whipped up a little plug-in to make it easier to disable search engine indexing via robots.txt.
As today’s January 6th hearing went on I became more and more glued to it. Can only imagine what Shaye Moss and others receiving threats and harassment have had to go through. Hope there are enough good people to step up to the job running elections this fall and in 2024. 🇺🇸
Of course I have today’s hearing on in the background while I work. Rusty Bowers is a really strong witness. 🇺🇸
Congrats @ccgus on 20 years of Flying Meat. I like the idea of marking anniversaries by when the domain name was registered! Acorn is on sale for just $20.
Micro Monday is back! Today’s podcast episode features @sod.
I’ve been thinking about why Apple’s decision to restrict Stage Manager on iPad to M1-based devices has caused so much controversy. At first, I was slightly annoyed that my brand new iPad Mini did not support Stage Manager. It is the latest, fastest iPad Mini you can buy, released less than a year ago!
You could argue that the iPad Mini is too small to take full advantage of Stage Manager anyway, but that wasn’t Apple’s justification. A future iPad Mini will surely be powered by an M1 and have more RAM.
I think the root issue is that when people choose a computer to buy, they don’t expect the operating system to change significantly for different computer models. You buy a more expensive Mac because it has a larger screen, or is faster, or has more ports. You buy a more expensive iPhone because it has better cameras. You buy a more expensive iPad because it has the latest Pencil support. It is a hardware decision, not a software one.
If you walk into an Apple Store today and pick out any Mac, from a $1000 MacBook Air to a $6000 Mac Pro, you can be confident that every feature of macOS will be available, and that all Mac apps will run, even if pro-level apps are going to run more smoothly on the Mac Pro.
I can’t think of anything comparable to such a major feature as Stage Manager being limited by hardware across a current, latest-generation product line. Maybe the closest is when Portrait Mode was first available. Portrait Mode is nice to have, but it doesn’t fundamentally change how you interact with apps in the way that Stage Manager does.
So I’ve adjusted my thinking on this controversy from shrug, that’s a minor bummer to now thinking that Apple’s decision should be walked back. John Gruber too, while he wrote that he understands Apple’s thinking on this, suggested that there could be a compromise in future betas:
Given the uproar surrounding this M1 requirement for Stage Manager, I wonder if Apple will reconsider over the summer, and perhaps do something like support Stage Manager on more iPads, but only on the built-in display, and make external display support the part that requires an M1 iPad.
Users on non-M1 hardware will understand if Stage Manager is slower or more limited — for example, no external display support or fewer windows open at once — and those limitations will naturally drive iPad upgrades. But it’s a unique and confusing precedent to have fundamental iPadOS features limited by hardware.
Got a hardcover of The Lies of Locke Lamora, which I had only read in e-book before. Want to re-read it after I get through some more of my current reading list. 📚
We rewatched Jurassic Park 1, 2, and World over the last few days, then went to see Jurassic World Dominion last night. Fun movie. I like the way they brought the old and new casts together. 🍿
The story of Juneteenth is fascinating. I’ll admit that growing up in Texas, I didn’t know about it. I’m a novice, but to me it feels rich and deep, at once acknowledging the bad and the good, our history’s shame and redemption. More states and companies should recognize it. 🇺🇸
I take a lot of photos at coffee shops. For some reason this morning I thought it would be fun to create a page on my blog that just shows coffee photos. I already use Micro.blog filters so that whenever I include the ☕️ emoji in a microblog post, it assigns the Coffee category:
The next step was to create a template layouts/_default/coffee.html in my custom theme that would pull posts from this category. It grabs the latest 100 posts, then also checks if the post has a photo (“photos not equal nil”):
Finally, I created a template content/coffee-photos.md to tell Micro.blog to use that template when creating the web page:
Voilà! Looks pretty good.
We posted episode 518 of Core Intuition. Hints about MarsEdit 5, more new WebKit, old frameworks, find bar, and how companion apps make our own apps better.
Me: “Yes, do that little thing.”
Traci: “Do you realize how much you quote Meet Me in St. Louis?"
Me: “Well… It’s right in our hometown. Right here where we live.”
Got an email from Medium: “Your audience is growing. You have 1 new follower.” I’m torn between thinking that this email isn’t worth the bytes it was printed on, and just happy that they put “follower” singular and not “follower(s)”.
Made some tweaks to my check-ins site manton.coffee this week. Also imported my 2020 check-ins. Foursquare is down this morning, a reminder that I need to move away from their service.
Great update to Mimi Uploader from @samgrover:
Recent Uploads used to show only the uploads you make from Mimi Uploader. With the new update it will also show uploads made to your Micro.blog account from anywhere else.
Watched the 4-part CNN series on Watergate this week. I always think I know about Watergate, but every time I read or watch something I learn new bits of how everything fits together. Also makes All The President’s Men rewatches better. Happy 50th, Watergate. 🇺🇸
Finished reading: Big Wonderful Thing: A History of Texas by Stephen Harrigan. Excellent. Took me a while to finish it, but so glad I did. It’s got all the facts but it’s not a textbook-like history… You can tell it’s personal for the author. Well researched, well crafted. 📚
Watching the hearings. We disagree on a lot, but it’s reassuring when members of the GOP do the right thing despite enormous pressure. Pence and his staff come out of this looking pretty good. 🇺🇸
We’re discussing tweaks to Micro.blog Teams to make it more useful. Nice to review our plans and features every once in a while, but I like consistency and non-gimmicky pricing so much that I don’t expect the basic $5/month plan to ever change. Doing our part to fight inflation.
Updated my profile photo for the first time in forever. The old shot was from a cruise we took about 10 years ago.
100° here all week. Nice article at CNN about wind and solar in Texas powering almost 40% of daily energy needs. Renewables don’t have the glamor or craziness of the oil boom in Texas a century ago. They’re just out there quietly doing their job. ☀️
I thought the Warriors/Celtics series would go to 7 games and I still think that. Gonna be tough, though… Curry won’t miss everything from 3 again. 🏀
d20 Tavern in Denton. Such a great idea. Tons of games and 20 beers on tap, so you can roll a d20 to randomly select a beer. We played the NYC Ticket to Ride. (My daughter also wrote an article about the place for the Denton Record-Chronicle!)
When I added compatibility with Mastodon in Micro.blog, I required custom domain names because I think that’s the best way to control your identity. Lately thinking about relaxing that, because it does limit what we can do if you don’t have your own domain name.
So excited about this that I’m even linking to Twitter. Scott Lynch working on Gentlemen Bastards novellas:
Collectively, these three novellas form a bridge narrative, inessential but enriching, taking Locke and Jean from immediately after REPUBLIC to immediately before THORN.
We’ve come up with a new way to document changes to Micro.blog. In the past, we usually only note big changes on @news or on my own blog, so everything is scattered and small changes are rarely even mentioned. To fix this, there’s now a special category on news.micro.blog that will list most changes to the platform, both big and small.
I’ve customized the news blog home page and feed to exclude these posts, so if you’re following @news, you won’t get all the noise of the day to day changes that we roll out. And because it’s all powered by a normal Micro.blog-hosted blog, it’s something that is easy for us to maintain. If you really want to know about everything, you can also subscribe to this RSS feed.
This article in the New York Times about the Great Salt Lake was really eye-opening. I noticed the lake level difference between visiting in 2013 and 2022, but didn’t know it was this serious.
Upgraded one of the Micro.blog servers today. Shouldn’t be super noticeable, just a little bit of extra performance.
The live The Talk Show from this year’s WWDC is up. Sorry to miss this in person, but the 4K video looks really nice. Good complement to the Apple videos to round out the WWDC week.
Watched the first of the January 6th hearings. It is still stunning that this day actually happened, and that even now so many people are being misled and lied to. Unacceptable that Fox News didn’t show the hearing.
I still play Wordle every day. Posting this one because guess 4 is interesting to me… Correct letters, wrong order.
Wordle 355 5/6
⬛🟩⬛⬛⬛
⬛🟩⬛🟨⬛
⬛🟩⬛⬛🟨
🟨🟩🟨🟨🟨
🟩🟩🟩🟩🟩
Tip for Markdown: add 2 spaces at the end of each line so that it wraps correctly.
There’s a new episode of Core Int out with our first thoughts on WWDC 2022. What is the future of the in-person part of the conference, Apple’s new APIs and services, Charts, Passkeys, SwiftUI, AppKit, and more.
Micro.blog will now keep track of previous versions of a blog post when it’s saved. It will keep these extra copies for 60 days. It’s designed as a simple, short-term backup in case something is edited or deleted that needs to be restored. Here’s a screenshot of the new link:
Finished reading: Enchanters' End Game by David Eddings 📚
Watched a few WWDC sessions this morning. Good stuff, but nothing I can really use right now. Think I’ll hold off installing macOS Ventura for a while.
Installed the iPadOS 16 beta only to discover that Stage Manager doesn’t work with the latest iPad Mini. Kind of bummed by this, though admittedly the screen is small.
I don’t buy that many print books anymore. Decided to splurge on this copy of Mistborn. This quick video is my first time looking at it… Really nice paper and ink. 📚
Didn’t see a whole lot at WWDC that will directly impact Micro.blog, but want to test out Stage Manager for iPad. Also will keep an eye on Passkeys.
I’ve added a special Micro.blog pin if you mention “WWDC” in a microblog post today. Screenshot of a few of my pins… You can view these under the Account screen.
This is a cool Shortcut from @ezellwrites for taking text from a book and sharing it as a quote to your microblog. It pulls in your Micro.blog bookshelves for a book you’re reading.
WWDC day! Unrelated but kind of related, I downgraded Apple One family plan to just iCloud+. Going all-in on Spotify because that’s what the kids use anyway.
According to our status page, we had 100% uptime in May for blogs hosted on Micro.blog. This is the direct result of better monitoring and @vincent helping out from a completely different time zone. 🙂
Updated Micro.blog for Mac to version 2.5.1 today with a few bug fixes. Micro.blog now does a better job of auto-saving drafts locally so you won’t lose in-progress posts, and prompting to save a post as a draft on Micro.blog too.
WWDC is next week. On this week’s Core Intuition, we talk about what Apple is doing leading up to the event. I remain somewhat pessimistic about the Apple hype machine right now… Maybe I’ll snap out of it when Monday rolls around.
Lunch yesterday. I usually keep a mask in my pocket wherever I go, but forgot it for some reason and so dug in my backpack and found this old Mickey cloth mask from early in the pandemic.
For the last couple weekends we’ve been updating our bathrooms. New cabinets, sink, mirrors. Our house was filling up with old paint cans and cardboard, so loaded it up to take to the recycle center today. Could’ve flattened these a little better.
Looking forward to Celtics/Warriors game 1 tonight. Love that Derrick White is in the finals! Still wish he was with the Spurs. Thinking Warriors in 7 games, though. 🏀
Fixed a handful of bugs this morning, little things that no one notices and bigger things like push notifications and Webmentions broken for the last few days. Think I need to dedicate June to just working on stability.
We shipped version 2.5 of Micro.blog for macOS today. I had originally intended to just add a new Replies section of the app for this version, but it looked kind of lonely by itself, so I added Bookshelves too, with a multi-window interface for managing books you want to read or blog about. This uses our existing JSON Feed-based API for books data.
Here’s a screenshot of my bookshelves:
You can download the latest version from the help page or choose “Check for Updates” from within the app.
If you’re puzzled by why Micro.blog has all these book-related features… We have a lot of members of our community who love to read and write. If it’s easier to blog about books you’re reading, we can eventually build a distributed, web-scale alternative to Amazon-owned Goodreads. This won’t happen overnight. It’s a years-long goal and just one of many facets of the IndieWeb that we’re interested in.
Books are also great for mental health and thoughtful commentary, broadening our understanding of other perspectives, which maybe the world could use right now.
Catching up on more fallout from the duplicate posts bug last week. The good news is the bug is definitely fixed, but because of various layers of caching sometimes it takes a while for Micro.blog to clean things up.
On the latest Core Intuition, @danielpunkass and I remember that we’re actually programmers and talk about debugging AppKit, compare it to other frameworks, and then discuss the long-postponed effort to migrate away from legacy WebViews.
Finished reading: Klara and the Sun by Kazuo Ishiguro. Brilliant. I loved this. 📚
Planning to release the next version of Micro.blog for Mac in a couple days. It adds reply editing and a new multi-window interface for managing books you’re reading. If you’d like to give it a try, here’s a beta download link.
These few sentences from Nick Heer at Pixel Envy are probably the best and most concise wrap-up of the week. There’s a lot we could do to make things better, but nothing will be enough without addressing the root issue.
I was going to write a longer technical post, but instead here’s the bug summary from last week in a nutshell. I updated M.b so that editing a post’s date changes its URL (good!) but it was too aggressive about changing the URL unnecessarily (bad) which conflicted with what we call “instant publish” that tries to update the timeline immediately when possible. This caused duplicate entries in the timeline, and other confusion with clearing them up. Should all be working much more smoothly now.
Folks seeing duplicate posts in the timeline, usually after editing a post quickly: I finally got to the bottom of this. Working on a fix to roll out shortly. Removing should also be more reliable now. (The duplicates are only in the timeline… No need to delete from Posts.)
Driving to the coffee shop to work this morning, noticed I had a full tank of gas and briefly considered missing my exit and continuing on to Houston for the rally against gun violence. But too much to do today. Thoughts still with the families and everyone advocating for change.
Fixing some issues that could add duplicate posts in the timeline that some folks have run into this week. Hopefully. 🤞
Congrats to @conradstoll on Grocery 3.0! The app keeps getting better. Nice review over at MacStories too.
I’ve mostly backed off political blogging, instead channeling my frustrating into work to make Micro.blog better for more people. But enough with anyone buying an AR-15 already! Beto is right on this. Texas deserves a governor who cares this deeply about making things better.
Up early Tuesday, lots going on today… But can’t shake the feeling that it’s Saturday for some reason.
Car battery died while I left my trunk open waiting for an IKEA pickup. Feels awkward to ask strangers for a jumpstart in the time of COVID, but people are nice.
If anyone wants to play along with the in-progress books support in Micro.blog for Mac, you can grab a beta download here. Reply editing isn’t wired up and some other things need polishing before we release it. Sneak peek is on YouTube here.
I still really like Objective-C and AppKit. I can think of a lot of improvements to make, but nothing like what we ended up with in Swift and SwiftUI. Shrug.
Trying to get back into the photo challenge after missing a bunch of days. Today’s word is beverage. Stopped at a food truck for brisket tacos and much-needed bottled water on a hot day.
When I’m in a coding rut I find it really helpful to work on something fun and different for a couple days. Here’s a sneak peek on YouTube (20 seconds) of something that will be in the next Micro.blog for Mac.
Much has been written about the deteriorating Music.app experience. The new UI never really clicked for me… I barely understand the difference between Listen Now and Browse. So I’ve been trying Spotify on the web and it seems as good or better than the native Music.app.
On the latest @coreint, we talk WWDC and then react to a recent 37signals podcast about selling the byproducts of your work.
Blogging and outlining share a long history together. Userland’s Clay Basket could create a full static site from an outline. NetNewsWire 1.0 had a built-in outliner for notes and blog publishing that would later be spun out as MarsEdit.
Recently there have been new outliners that work with Micro.blog. I blogged about publishing to Micro.blog via Dave Winer’s Drummer. Maurice Parker wrote about his Zavala outliner and integrating it with Micro.blog via Shortcuts.
Bike is a new Mac outliner from Jesse Grosjean of Hog Bay Software. It has a clean interface that feels closer to a text editor than most outliners, and it can save as OPML and plain text. I’m also fascinated that the native .bike file format is just HTML.
I wired up publishing from Bike to Micro.blog with Maurice’s Humboldt that provides Shortcuts for Micro.blog. It looks like Bike has great AppleScript support. You can iterate over the rows in an outline, or you can just grab the contents as HTML like this:
tell application "Bike"
set doc to front document
export doc as bike format
end tell
Note that the export command requires a paid Bike license.
You can download my test shortcut here. It’s a little hacky. It strips out the HTML header/footer with a simple find-and-replace in Shortcuts. It will need a little more work if you want to clean up the outline and publish real blog posts with it.
This is cool! @sod has created a page that when clicked will take you to a random photo in the Micro.blog photo challenge.
We have a new public beta of Micro.blog for Android with a couple bug fixes. Here’s a link if you’d like to join the beta.
Expect I’ve unlocked my phone approaching 100,000 times since the first iPhone. Attempts to steal my phone: 0. Starting to question if the defaults are too secure, but there’s no perfect setting… Ideally would like it already unlocked when at home or near my watch.
For the last few weeks we’ve been reworking how Micro.blog subscriptions are upgraded. I just rolled out the changes. Shouldn’t affect existing customers much, but it’s a nice improvement for starting a new blog with Apple Pay, or managing a subscription.
Posted episode 513 of @coreint. We talk about whether we got accepted to the WWDC special event at Apple Park, and related thoughts and speculation about the event.
Sometime recently, Safari’s back button keyboard shortcut ⌘← stopped working. I’ve preferred this to ⌘[ because it’s much easier to reach when my right hand is on the MacBook Pro trackpad. Unfortunately I can’t seem to reset this using System Preferences.
After a few days of unsuccessfully re-training myself to use ⌘[, I gave up and reached for FastScripts to rewire the ⌘← shortcut. I wrote the following AppleScript:
tell application "System Events" to keystroke "[" using {command down}
Then set it in FastScripts to only be used when Safari is running. There’s got to be a more straightforward way to get the old Safari behavior back — and this solution annoyingly interferes with moving the cursor if a text field is focused in a web page — but for now I’m up and running again.
Last month we quietly added some better server monitoring to catch problems on hosted blogs. Happy that our uptime now shows 100% for the last month. Might be closer to 99% since it only checks every 5 minutes and won’t catch seconds of downtime, but still solid.
Wondering if I should be concerned that I haven’t received any truly negative feedback about my book. I know there are some sections that need work, but not hearing anything makes me question whether I should rework them or just continue to fix minor problems and ship it.
This is the last week to order Indie Microblogging in e-book or print editions. I know I’ve said that before, but really this time. I’ll be deploying some Micro.blog changes that disable the book order page after this week. It’ll be available to read on the web, but not offline.
Driving through our old neighborhood, a lot has changed in the 20 years since we lived there, but the little grocery store and deli remain.
I submitted a request for WWDC’s in-person day, but now I’m much less interested in attending than I was when we recorded the last Core Intuition. I don’t think WWDC will ever return to what it was. 8 years ago I blogged about the “eras” of WWDC… Just feels over now.
The most surprising thing about enabling email newsletters for my blog is that I enjoy getting a copy of my own recent posts on Monday mornings. It’s a nice mini review of what I have been interested in over the last week.
We posted episode 512 of Core Intuition tonight. WWDC event thoughts and more.
Nice update coming soon to Mimi Uploader, a batch photo uploader for iOS. The next version will show photos uploaded from other apps too.
Almost a week into the May photo challenge. I love the photos grid on the web. (Also now looks good in dark mode, thanks @vincent!) These challenges are so rewarding for us because you can see the effect right there, encouraging more photoblogs and finding new people to follow.
Herbs and flowers in the earth, for day 5 of the photo challenge. Happy Cinco de Mayo! This is from lunch on the patio at Mi Madre’s.
The extra time the 1Password folks worked on version 8 seems to have paid off. I upgraded and the workflow feels smoother to me than previous versions. The new search bar and auto-fill most anywhere is a better fit for how I was using it.
Day 3 of the photo challenge is experimental… Didn’t have a good idea for the photo until I was reading (Wise Man’s Fear) and noticed “experiment” on the page. 📚
Photo challenge, day 2. I bought this camera last year thinking it would be worth it for the zoom, especially for school events like marching band. I don’t use it often but the photos are priceless.
Last month was difficult in ways I haven’t blogged about yet. Needed a break, so loaded up the kayak to take a little peaceful time on the water after working downtown this morning.
On our Plans page we have $5, $10, and $20 options. I kind of want to put a “our most popular plan!” label on the cheapest $5 option because: 1) it’s true; and 2) to poke fun of all the SaaS apps that always highlight their middle tier. 💰
Love seeing all the photos for the May photo challenge. I’m hoping to finally get the 30-day Photo Challenge pin myself this month. You’d think I would’ve gotten this pin by now as the first Micro.blog user, but it keeps eluding me. 🙂
Late this week but hopefully worth the wait… Core Intuition 511 about Elon Musk and Twitter! Plus a follow-up about how it’s going with customer support email.
Love seeing completely different themes on Micro.blog, like the design for micro.alexezell.com by @ezellwrites. Just noticed that it’s in the plug-in directory too!
About a month ago, we rolled out a change that made microblog posts much faster to appear in the timeline… except for some folks where it was inadvertently slower instead. I think I’ve now got that fixed. Will continue to look for more optimizations.
If you’re new to Micro.blog, make sure to check out the third-party apps if the official native app isn’t quite right for you. New version of Gluon just shipped with a bunch of improvements.
If you’re using Micro.blog bookmarks, check out this Shortcut for iOS and macOS from @rknightuk to make saving web pages easier. If you’re on Micro.blog Premium, we’ll also archive a copy of any bookmarked pages so they are highlightable and searchable.
Achievement unlocked? No idea where the key is to this old lock and the trick with leveraging the force of 2 wrenches together totally works to bust it open.
It’s cool to see people reading the microblogging book. Reminder that we’re going to stop accepting orders for the e-book and print editions after this month. That’ll help me wrap up the final edit and focus on Micro.blog.
Email response time in Help Scout for the last couple of months. Average about 14 hours. Could be better but I feel good about this… Huge improvement compared to last year.
I expect Twitter to pause anything new during this limbo period between the Twitter board accepting Elon’s offer and it actually happening. It’ll be a great few months for other social networks to innovate and add features while Twitter is at a standstill.
Updated Micro.blog for macOS with a couple bug fixes today, including a fix from @otaviocc for Day One photo export.
Lunch earlier at Torchy’s. Hadn’t been there in a while, nice to see some menu tweaks like fresh avocados instead of fried. 🌮
We love welcoming new people to Micro.blog. Thanks for giving it a try if you’re new! Mastodon has also seen a big increase in users and that’s good for the web too. (Reminder that you can configure Micro.blog to follow and reply to Mastodon users directly from Micro.blog.)
Last night had a dream that was too bizarre and timely not to share… In it, I met Eugen Rochko at a conference, and he showed me a prototype tablet with a physical keyboard that could only post to Mastodon. “And we call it iPhone,” he said. What?! No idea what this means.
Mostly running errands this morning as the Elon Musk + Twitter news was breaking. Watched the rain slowly fill the sidewalk from the front porch of my uncle’s house, there to meet some workers helping with his garage. The sound of rain takes the stress out of everything for me.
Hello new folks joining Micro.blog! 👋 From @kimberlyhirsh:
Everybody on Twitter wants to know where to go now. The answer is your own website, syndicating out to wherever else people end up.
Yep! This is why Micro.blog is both social network and blog hosting platform.
Still disappointed that the Spurs didn’t make the playoffs, but I guess I have to begrudgingly admit that the Pelicans finished the season strong. Looks like the Suns series might go to 7 games. 🏀
Walking around Barton Springs for the first time in a while. Kind of shocked to see Shady Grove closed and rundown.
Just realized I didn’t show the Bookshelves pin in the demo video about books on Micro.blog. I knew I was forgetting something.
In my demo video yesterday, I used the Scribe theme by @ChrisHannah. Looks really nice with the book list even without any customizations.
I know it’s not always clear how all of Micro.blog’s book features fit together, so I recorded a 10-minute video walk-through on YouTube. It goes through Micro.blog bookshelves, Epilogue, and updating your blog with pages, categories, and filters.
When a company gets too big, they inevitably forget why they exist. Not even the greatest, mission-driven companies seem to be able to escape this fate. The only way to stay true to your roots is to stay small.
Needed to be in Georgetown for a band UIL concert this afternoon, so had a long lunch sitting outside at Hat Creek with my laptop. Nice spot above the San Gabriel River. 🍔
If you’re not on Micro.blog Premium, you might not know that Micro.blog has a read-later bookmark interface with highlights. Helps when blogging and quoting. I updated the Dark Mode interface for it today, switching to an orange-ish highlight instead of the murky yellow before.
The photo challenge is back! Starts May 1st.
On this week’s Core Int, @danielpunkass and I follow up on SwiftUI button sizing, cross-platform frameworks, and the new mobile web design for Micro.blog.
Today we launched a design update for the Micro.blog web interface. Vincent has been working on this with a focus on the mobile interface especially, and it looks great on the iPad as well.
In the previous version, when viewing on mobile the sidebar would collapse and you’d get a hamburger menu that was clunky to use. Now, the most important menu items like Timeline, Mentions, and Discover will move to the header, with a new popover menu for accessing other features.
You can see the new layout even on desktop by just resizing your window smaller. Here’s what the header looks like on tablet and at small desktop window sizes:
And on the iPhone, with the new popup menu open:
We are very excited to roll this out. The iOS and Android apps will always be a great choice for posting or checking replies, but they can’t do everything the web version can do. The web version of Micro.blog is now much nicer to use everywhere.
Listening to Bruce Springsteen’s Thunder Road. One of my favorite live recordings, pops up on shuffle every once in a while. 🎶
Core Int 509: we talk about Setapp’s reaction to the war in Ukraine, how Setapp is going in general, React Native, SwiftUI, and whether web frameworks are leapfrogging native ones.
Now that I’m tracking all of my book reading in Micro.blog, I cleared out my “currently reading” and “want to read” lists in Goodreads. But when I finish a book, after blogging it I do add it to Goodreads just to let Goodreads keep track of my 2022 reading goals. 📚
All caught up on support email this morning, mostly updating orders for the book. Also, there should be an Easter egg emoji. Seems like something that color emoji variations would be good for.
Finished reading: Castle of Wizardry by David Eddings. When I started this series, I thought it was a little obvious. But I’m enjoying it more and more with each book. 📚
Can’t believe we’re already getting peaches on the new tree. Only planted it a few weeks ago and thought it might be years until it was big enough.
I sent the following email to anyone who was early to pre-order the book Indie Microblogging. My main goal was to inform people who might have pre-ordered a year ago that we lowered the price, and that they can update or cancel their order if they need to.
Sidenote: We use SendGrid to send email and despite disabling all the tracking in the settings, SendGrid still appears to put tracking info in the email. I hate email tracking and have reached out to SendGrid about how to really disable this in the future.
Thanks for pre-ordering the book Indie Microblogging! You are receiving this email because you were one of the very early pre-orders, from last year or earlier. If you haven’t heard the latest news about the book, the complete draft of the book is now available here on the web: book.micro.blog
Because you were an early pre-order, a couple of things have changed. I lowered the price of the e-book from $20 to $15. I also added a print edition as an option.
What’s next? We saved your payment information securely with our payment processor Stripe, but we have not charged any orders yet while I wait to finish completing the book this month. You have a few options from here:
For more details about the book and current status, watch this video I recorded for Kickstarter backers.
I’ve been making small edits to book.micro.blog over the last couple of weeks. Not as much progress as I’d like, but progress. If you want an e-book or print edition, orders will be open for the rest of the month only. Not going to keep selling it after we go to print.
My initial take on the Elon Musk buyout offer: the web is better when it is more distributed, with more platforms. Reject his offer and let Elon build a new social network if he’s so passionate about it. Too risky to put such a large platform in the hands of someone so divisive.
“There will be distractions ahead” — Twitter CEO Parag Agrawal, last week
Spurs didn’t quite have enough to recover after early foul trouble and missed shots. Great run in the 4th quarter, though. Next year. 🏀
Added a new pin for the Micro.blog bookshelves feature! When you add a book to a bookshelf, you’ll unlock the pin. You can find your pins linked under the Account screen on the web.
We’ve updated Epilogue for Android to version 1.1 with the new React Native-based code to match iOS. Thanks to @benjohnson for helping with the Android support! Epilogue is open source and can post the books you’re reading to Micro.blog.
Finished a bunch of work this morning, now taking some time to get into the 2nd book of The Kingkiller Chronicle. Already can tell I’m going to love it. 📚
Epilogue for iOS has been updated with a couple improvements and bug fixes. I’m also going to try to get the Android version submitted today, which syncs up the code with the iOS code base.
We just posted a new episode of Extra Intuition, our special podcast for @coreint members:
Daniel and Manton talk about accents, and why Manton doesn’t have one after growing up in Texas.
It’s been a while but we want to get more into the routine of posting these.
When at home I’ll eat a quick lunch in front of the TV. Make lunch, turn on CNN. It’s a commercial break. Switch to MSNBC. More ads. Try ESPN. Still ads. Channel surf for a few more minutes, but now I’m done with lunch, often without seeing any real content. And I pay for this?
On this week’s Core Intuition, we talk all about the WWDC announcement. Because of course we do! Mostly online, potential for a small in-person group, and other hopes and speculation.
Twitter announces more Bluesky details:
Starting as a centralized platform, Twitter can take steps to open up APIs and provide choices to users, and this can be a path towards restoring trust in the current service. The premise of Bluesky, however, is to work towards a transparent and verifiable system from the bottom up by building a network that is open by default.
If anyone’s curious how I made my Wordle page, I copied my puzzles from where I had shared them via Slack and iMessage, and formatted them in a basic HTML file. Then created a new template static/wordle/index.html in my Micro.blog theme. View source for the HTML bits.
On a whim, created a web page on my blog with a grid of all my Wordle puzzles for March. Kind of a nice snapshot of my mornings this year.
Spurs over the Nuggets, one of my favorite wins of the season. They’re playing great at the right time. 3 games left. 🏀
Finished reading: The Girl Who Fell Beneath the Sea by Axie Oh 📚
Finished reading: The Paris Library by Janet Skeslien Charles 📚
As Micro.blog hosting has improved, I’ve thought our $5/month plan compares favorably with WordPress.com’s similarly-priced plans. Surprised that WordPress.com has now gutted their pricing lineup, with nothing in between $0 and $180/year. $5 to me is still simple and obvious.
On this week’s episode of Core Intuition, we talk about crosswords, @danielpunkass’s calendar widget, frameworks, and WWDC.
No April Fools jokes from me today, just bug fixes. Deployed a server fix for conversations in third-party Micro.blog apps, and updated the Mac app to version 2.4.3 with a couple improvements.
Always love “going indie” posts. John Siracusa:
Congrats to @RogueAmoeba on the release of Audio Hijack 4! Really big update. Their blog post has details on the new features, design, and scripting.
I think it was @amit who suggested something like this change at Micro Camp earlier this month, on the panel with @pimoore. Thankful for all the Hugo experts who actually know more than I do about it. 🙂
Deployed a bunch of server changes today. Some behind-the-scenes stuff that @vincent has been working on, plus fixes to managing themes and pages. Micro.blog now respects min_version in Hugo’s theme.toml file and will show this notice to make it easy to update:
I’ve been reading a lot of e-books and audiobooks, so wanted to pick up something new in print. Just arrived: The Girl Who Fell Beneath the Sea by Axie Oh. 📚
Improved several things in the Bookshelves section of Micro.blog on the web. More consistent navigation and book sorting fixes.
Finished reading: Magician’s Gambit by David Eddings 📚
Realized last week that I need to actually use the email newsletter feature of Micro.blog myself so that I notice more of the quirks that we can smooth over. You can now subscribe to weekly emails on manton.org. Got the first one today and it looks pretty good!
We watched the Oscars live last night and were confused and then stunned by what happened with Will Smith and Chris Rock, and I hoped by this morning I could focus on other things. Still can’t stop thinking of what Denzel Washington told Will Smith: “At your highest moment, be careful, that’s when the devil comes for you.”
Working on Epilogue this morning, and Android + iOS builds have my Intel MacBook fans going at full speed. Not ready to jump to M1 yet, though. When I bought this 16-inch MacBook Pro, I said I’d keep it for at least a few years and trying to stick to that.
Congrats to @marco on the new Overcast redesign. I’ve been using the beta and it’s a really nice update.
Following up the new bookmarks improvements with more changes today: added Pinboard import and fixed some other problems. Thanks to folks who have upgraded to Micro.blog Premium to take full advantage of bookmark archiving, highlights, and search! That helps us make it better.
The last time I was here (Wright Bros Brew & Brew), you could park across the street because it was just a dirt parking lot next to the train tracks. Now it’s a Whole Foods and Target. ☕️
We’ve started to get the videos from Micro Camp up on the YouTube channel. Thanks again to our speakers and everyone who joined us!
I’m reading through Mozilla’s vision for the evolution of the web. On web sites being too difficult to create:
Building websites has gotten substantially easier in many ways, but it’s also become more complex, and there remain a number of pain points which make the experience more difficult than it needs to be. This has several negative consequences. First, it disempowers site authors by hampering their ability to express themselves. Second, it drives content to native app platforms, which diminishes the Web’s reach. Finally, it encourages centralization by tilting the playing field towards large publishers and platform providers with sophisticated engineering teams and complex infrastructure. Our goal is to reverse these trends by making it easier to build and maintain sites.
There is a lot of good stuff in this document.
Today we rolled out a few improvements to bookmarks, including an import from Instapaper and Pocket. This is meant to complement Micro.blog’s bookmark archiving, where Micro.blog archives a copy of a web page and allows making highlights in it. Like the archiving and highlights, the import feature is for Micro.blog Premium subscribers.
I’ve personally wanted to consolidate my bookmarks to Micro.blog, because I’ve had some things in Instapaper and some newer posts in Micro.blog. Micro.blog is not designed as a replacement for every feature in other read-later services, but instead a quick way to save links and either reference them later or start a new microblog post from a highlight.
To learn more about bookmark archiving and highlights, check out the video in this post on the news blog from when we announced Micro.blog 2.0.
I’ve also improved other aspects of bookmarks, like faster loading, paging through many hundreds or thousands of bookmarks, and better profile icons for domain names that are added to Micro.blog.
We’ve been glued to KXAN for the last couple hours. Tornados in the Austin area, just unreal. Missed us, with only some rain that quickly passed through. 🌧
Finished reading: The Priory of the Orange Tree by Samantha Shannon. Epic. Felt like 2 books and easily could’ve been. I wonder if we could ever see a sequel or novellas with these characters. 📚
Don’t think I mentioned this last week, but there have been some behind-the-scenes improvements to blog publishing. We now surface errors in the Hugo log that weren’t visible before. Also some fixes for posts showing up in the timeline.
Rolled out some improvements to our Goodreads import. It now attempts to find other editions of a book when Goodreads does not provide an ISBN for the book you read, which is especially common for Kindle books.
Posted episode 505 of @coreint. How it went at Micro Camp, the book, and new FastScripts.
I added a new export option to Micro.blog: Posts → … → Export → “Export theme and Markdown”. This gives you a Hugo-structured folder of theme templates, merged in with custom CSS, plug-in templates, and Markdown for any posts. Basically everything except uploaded photos.
Rolled out better support for Goodreads RSS feeds, which were slow or unreliable before. In Goodreads “My Books” list, look for the little orange icon at the bottom of the page. You can add that URL to Micro.blog under Account → Edit Feeds. (Or just use Micro.blog’s Bookshelves!)
One step forward, one step back. Upgraded a server yesterday with faster hardware, which broke something else. All fixed now.
Rolled out a couple fixes for Micro.blog Premium email newsletters: replying to newsletters now correctly forwards the email to your Micro.blog email address, and photos are better resized for Gmail.
I’ve copied all the Markdown files for Indie Microblogging to this GitHub repository, for people who would prefer to submit issues or pull requests.
Continue to fix typos and other mistakes in the Indie Microblogging book. Going to revisit a few chapters that need more work than superficial edits. Also, a clarification on pre-orders: the e-book and print orders are just for a limited time. Probably a couple more weeks.
My mom found this notebook paper I had used when I was 13 years old to plan out the route to my friend Sam’s house, taking 3 buses across Austin. Why did I copyright this?! 🙂
We’ve updated Wavelength for iOS with a couple bug fixes. Easy way to record, edit, and publish your podcast with Micro.blog Premium.
Jean posted a photo of the folks who could join us in-person for Micro Camp. Not shown: me fumbling with the camera timer and trying to run into the frame.
Some people have noticed that Indie Microblogging wasn’t showing up in Micro.blog’s own bookshelves feature. You can now add it via this web link. Still can’t be searched in Epilogue because Google Books doesn’t have it. Need to rethink our books search.
Thanks again to everyone who participated in Micro Camp over the last couple of days. Great talks and it was fun to see some folks in person too in Portland! 🏕
Cold morning in Portland, walked to Extracto Coffee before we get ready to set up for Micro Camp day 2. ☕️
Thinking about Micro Camp, I said to @jean yesterday: “We are so lucky.” Great community members who welcome new folks, share what they know, and what to help the platform get better. Thank you.
Core Intuition 504 has been posted! We talk about this week’s Apple event and publishing the draft of my book.
Thanks again everyone who has joined us for Micro Camp so far! The first 2 sessions are available to rewatch on Vito: State of Micro.blog with me, @jean and @vincent, and How to Self-publish a Novel with @Cheri.
I designed the structure of the Indie Microblogging book knowing that most people weren’t really going to read it front to back. Everyone is busy. Even people excited about the book are probably going to skim some of it or dip in to just a few chapters. That’s totally fine and why it’s linked the way it is with 70+ short chapters.
It has only been a couple days, but even just the “this looks good!” feedback is so encouraging. Thank you. I’m inspired to edit it, fix problems, and get the final e-book and print copies out to everyone.
There have also been a couple mentions that especially made my day, and I can’t help sharing them.
I have to say, @manton’s Indie Microblogging book draft is really great. Reads like a manifesto. Full of “Hell Yeah!” ideas.
High schools should be building technology curriculum around @manton’s book.micro.blog Teach kids how to take action, how the Internet works, why open standards and decentralization are paramount. So good.
I’m in Portland now and my attention is shifting to Micro Camp 2022 through the weekend. But I’m hoping to make even just a little time every day to work on the book now that it’s out there, so the draft keeps getting better for new folks who are checking it out.
Nice thing about how book.micro.blog works is that it’s just a Micro.blog-hosted blog, with a few tweaks to the Lanyon theme. This means while editing I can publish changes using Micro.blog or MarsEdit.
I posted an update to Kickstarter backers today with a video of me talking about the Indie Microblogging book and next steps. I’m including a copy of the video here, followed by a transcript.
Hello Kickstarter backers. My name is Manton Reece. It has been a while, and I wanted to give you an update.
If you’ve forgotten, the Indie Microblogging Kickstarter was for 2 things. First was a new social network and blogging platform called Micro.blog. We launched this pretty soon after the Kickstarter wrapped up, and in the last 5 years it has really improved to be a full-featured blogging platform. Photo blogs, categories, new themes, a plug-in system, team blogs, email newsletters. And I rewrote the backend recently to be powered by Hugo, so you get some of the benefits of a static-site generator but with full native apps for iOS, macOS, and now Android. There are third-party apps, and of course an API and support for IndieWeb standards.
The second part of the Kickstarter — and that’s what I want to talk about today — was for a book. And again, I’m very sorry that it was so delayed. The book has taken a back seat as I focused most of my time on Micro.blog the last few years.
Today I’m happy to announce that the complete draft of the book is available. In the Kickstarter I promised ePub and PDF versions, but as I was working on it I realized that a book about the web should also be on the web. So you can read it now at book.micro.blog.
The book turned into a much bigger project than I expected. It is divided into 6 major sections, covering older social networks and blogging platforms and what we can learn from them, the foundation for indie microblogging, how Micro.blog works, IndieWeb standards, owning our own content, Mastodon, community management, and more. There are interviews in the book.
There are about 70 short chapters, and each one is on the web so it’s easy to link to.
So what’s next. I still have improvements I want to make to the book. I will be editing it over the next few weeks. When the editing is done, I will be sending out PDF and ePub versions to y’all, and I’ll also be preparing the print copy for anyone who backed the Kickstarter at the higher tiers.
Last year I collected some of my blog posts into a book, partly to test the printing process for the Indie Microblogging book. And this is what it looks like.
The cover will be different for Indie Microblogging, of course, and it will be thicker. Indie Microblogging is about 400 pages when printed. But otherwise it will be very similar to this. I’m really excited to get it out.
So that’s the update. Thank you so much for your support. For your patience. If you haven’t checked out Micro.blog in a while, it is way better than it has ever been. If you never used your free months that you got from the Kickstarter, feel free to drop me an email to help@micro.blog. I’m happy to update your account to give you more time with the blog hosting.
And finally, this week, we are actually having a free online conference for the Micro.blog community. It’s called Micro Camp. You can go to micro.camp to learn more if you’re interested. Thanks so much. Bye.
Published the book draft this morning and then got on a flight to Utah, slight detour before Portland for Micro Camp. Beautiful here around Salt Lake City.
It took longer and grew into a bigger project than I expected, but I’m happy to announce today that the draft of Indie Microblogging is now available on the web at book.micro.blog.
70 short chapters. 400 pages when printed. Interviews. Hundreds of quotes and links. I think it’s a unique look at social networks, blogging platforms, IndieWeb standards, and of course Micro.blog.
I’m traveling today, but when I’m settled in with good wi-fi I’ll also be posting a video update to Kickstarter.
What’s next? I’ll continue to edit the book this month and then prepare the final version in PDF, ePub, and print formats for Kickstarter backers. If you missed the Kickstarter, we are also accepting pre-orders for the e-book or print edition.
Finished reading: The Emperor’s Soul by Brandon Sanderson 📚
Finished reading: Queen of Sorcery by David Eddings. The series is slow at times but starting to get good. I can see why it’s a classic. 📚
Clever new app MaskerAid from Casey Liss to automatically put emoji over faces in your photos. I’ve always avoided posting photos of my kids publicly, with only a couple exceptions. But everyone has a different comfort level and it’s good to have options.
Posted episode 503 of Core Intuition. We talk more about Help Scout and GitHub.
Next week is the 20th anniversary of my blog. Would be cool if I had something new to announce then.
Brandon Sanderson drops some big news in a video on YouTube. I did not see this coming. 📚
Finished reading: Sixth of the Dusk by Brandon Sanderson 📚
Here’s another great post about the IndieWeb Personal Libraries pop-up, from Maggie Appleton who facilitated a session on reading groups.
Finished reading: Pawn of Prophecy by David Eddings 📚
The schedule for Micro Camp is coming together! Jean has a blog post with the speakers and topics. Starts in 2 weeks, March 11th, and you can drop your email address on the form at micro.camp to get a reminder. 🏕
Reminded by @jean that the MacPaw folks are primarily in Ukraine:
MacPaw also has a blog post today.
Continuing to make little tweaks and fixes to book search and bookshelves. We now show a book description when browsing a book from a search, like this one.
Ukraine is about the size of Texas. When they show a map on CNN, I keep imagining what we would do. Driving to the equivalent of Houston, Dallas, San Antonio… Makes no sense. Mexico? Feeling for people in Europe. 🇺🇦
Epilogue for iOS has been updated to version 1.2.1, with better accessibility support and a new book description when searching for books. Here’s a screenshot of the new text:
I heard from a user this week that some screens in Epilogue aren’t very accessible with VoiceOver. To be honest I was so focused on getting this release out, I didn’t test accessibility. Most of the buttons and views do have good defaults for accessibility, provided by iOS, but there was one pattern I was using with React Native’s <Pressable> that needed to be updated.
This is the JSX code I have for showing the profile photo in the navigation bar, which can be tapped to show the profile screen:
<Pressable onPress={() => { onShowProfile(); }}>
<Image source={{ uri: avatar_url }} />
</Pressable>
To fix this, I first tried adding an accessibilityLabel attribute to the <Image>, but I found it works better on <Pressable>, where the role can also be set to “button”:
<Pressable onPress={() => { onShowProfile(); }} accessibilityRole="button" accessibilityLabel="show profile">
<Image source={{ uri: avatar_url }} />
</Pressable>
There is more I could do, but as a first pass these kind of tweaks should make Epilogue much more usable in VoiceOver. I did a quick run-through with Accessibility Inspector to catch similar problems. After I test on my iPhone, I’ll roll these into a bug fix update.
A new beta of Micro.blog for Android is available! There has been a lot of work on this since the last release. We’ll be wrapping up 1.0 pretty soon now that we have a solid foundation for Android, then iterating on new features in subsequent releases to get closer to iOS parity.
Epilogue 1.2 is now out for iOS! This release fixes several issues and adds posting to external blogs not hosted on Micro.blog. Reminder that the app is also open source.
Finished reading: Stardust by Neil Gaiman 📚
Posted episode 502 of @coreint. We talk all about email support and evaluating other services like Help Scout. 🎙
Yesterday’s IndieWeb session gave me a lot to think about, and a couple specific next things to work on:
I’ve also submitted Epilogue 1.2 to Apple for review, with Micropub posting support and a few bug fixes. After it’s out, I’ll try to get a release for Android ready too.
Also posted to IndieNews.
Great write-up by @ton of yesterday’s IndieWeb Personal Libraries pop-up session. I thought the sessions were a good start, and it helped me prioritize what to work on. Now we need to continue the discussion in blog posts and the IndieWeb wiki with some more next steps.
I’ve been improving the profile screen in the new Epilogue to support adding external blogs via Micropub. You will still manage your bookshelves with Micro.blog, but the posts can go to another blog.
Here’s a screencast video that shows off most of the UI for searching for books, adding books to a shelf, and configuring an external blog. In this case it uses the IndieAuth and Micropub plugins for WordPress.
Enjoying the switch to Help Scout. Fast, clean UI, and nice personality. Feels like software created by real people.
Excited that Brad Bird will finally get to make Ray Gunn, a concept which predates even his film The Iron Giant.
I didn’t exactly mean to ship Epilogue 1.1 yet, but… it’s out for iOS already! Check out the new version in the App Store. Epilogue is our companion app for books you’re reading. More updates soon.
On the upcoming @coreint, @danielpunkass and I talk about support email. As a heads-up that some people might notice who have emailed help: I’m batch closing some older tickets. Sadly a bit of support email bankruptcy. You can reply to any email to get it bumped back in my queue.
Great article by Jason Snell on side-loading:
When every app review decision is no longer a death sentence, the gravity of the situation is reduced. What was once a story about Apple ruining someone’s business for capricious reasons is now just Apple declining to be someone’s marketing partner.
The goal in my experiments with React Native is to build an app that feels as native to iOS as possible. Early on I tried to use SF Symbols and couldn’t get it to work, so I dropped in some custom icons instead. But the more I used the new version of Epilogue on my iPhone, the more this compromise bugged me.
I briefly considered exporting the symbols I need as SVGs or PNGs and using them in the app only on iOS, but that’s against Apple’s license. Not worth even the small risk. Sticking to real SF Symbols also ensures the icons match other apps if Apple redesigns them slightly in future versions of iOS.
I revisited using SF Symbols today with the component birkir/react-native-sfsymbols. A default install shows a runtime error when attempting to load a symbol. Luckily there’s a work-around mentioned in one of the issues.
I copied this file from the repo and saved it as SFSymbols.tsx. Then instead of importing from the Node module, I just import that file:
import { SFSymbol } from "./SFSymbols";
It works! Here’s a quick screenshot of my navigation bar now:
Some thoughts after about a week of using React Native to rewrite Epilogue. It’s going well and has been fun to work in a new framework, knowing that it’s going to contribute to our long-term plan for mobile apps in Micro.blog. It’s not a throw-away distraction.
It’s only by diving in that I’ve realized how surface-level my experience with JavaScript really is. I’ve taken some time to experiment more with JavaScript promises and async functions. Years ago I bought the book JavaScript: The Good Parts, but I’m not sure I did more than skim it, and it’s probably way out of date for modern JavaScript.
I got pretty far into development over the last week even though I barely understood some of the React features I was using, like useState. That’s okay. After I ship Epilogue 1.1, I’m going to go back and clean up a few things.
Xcode builds are slow and spin up the fans on my Intel-based MacBook Pro every time, but iterating on the UI and features is extremely fast because the JavaScript code can reload while the iOS app is running. In most cases, the UI refreshes automatically in the iOS Simulator when I save my Styles.js file in Nova. I rarely need to run a build in Xcode.
App file sizes are bigger, but not enough to matter. Epilogue 1.0 was a tiny 0.5 MB, and my latest build of Epilogue 1.1 is 2.7 MB. A much more full-featured app, Gluon for Micro.blog, is 8.6 MB. This appears to be a non-issue.
React Native is not new. It’s nice not to be on the cutting edge, because by now every problem I’m likely to run into has been solved. Some things I thought might be hard were easy enough, like handling the epilogue:// custom URL scheme.
I’ve collected all the blog posts in this series in a category on my blog.
Worked downtown this morning from Lazarus, then walked around. I’m okay with the mix of new buildings and old on east 6th and 7th, but wonder if enough of old Austin was preserved. This place doesn’t look long for this world.
I’m continuing to plow ahead with the Epilogue rewrite. I’ve added a storage class to wrap AsyncStorage, making it easier to persist various bits of data. I’ve added searching for books using the Google Books API, largely copying JavaScript code from the previous version. The fetch() calls are the same between web browser-based JavaScript and React Native.
Today I’m working on adding the posting screen. This shows a modal text view with some default blog post text for the current book, so you can quickly blog about what you’re reading:
Just like the navigation controller, the modal uses React Navigation so that it looks and feels the same as any native iOS app. In the JSX, we add a group containing the new modal screen declaration:
<NavigationContainer>
<Stack.Navigator>
<Stack.Group>
...
</Stack.Group>
<Stack.Group screenOptions={{ presentation: "modal" }}>
<Stack.Screen name="Post" component={PostScreen} />
</Stack.Group>
</Stack.Navigator>
</NavigationContainer>
For this version, I’m using a simple multi-line TextInput class. This appears to use a real UITextView under-the-hood.
One thing I’d like to experiment with later is integrating the Markdown syntax highlighting Objective-C code from the current Micro.blog app, making it a component that we could use in multiple apps. It obviously wouldn’t work on Android, but we’ll need something like it when we’re ready to switch the official Micro.blog iOS app over to React Native.
Turns out we broke category pages (including too many posts) for some themes in the new Hugo migration. I’m going through each theme and updating them, so far Marfa and Arabica have new versions you can upgrade to under Plug-ins.
The books pop-up session is this weekend. I’m trying to get Epilogue 1.1 done before then, maybe with IndieAuth support so it’ll be more useful to IndieWeb folks not using Micro.blog.
Even though Epilogue 1.0 was simple, it did support Dark Mode on iOS. I always run my phone in Dark Mode, so I didn’t want to lose that when rewriting Epilogue in React Native.
There are a handful of helper utilities to access iOS-only features in React Native, like Platform.isPad . There’s also useColorScheme, which can be used to check if we’re running in Dark Mode:
const is_dark = (useColorScheme() == "dark");
There doesn’t appear to be built-in support in React Native to use different sets of styles automatically. There are, however, at least a few third-party libraries to make this easier, including various dynamic stylesheets and React Navigation’s themes. I started to go down that rabbit hole, then stopped… There’s a lot to learn and I’d rather adopt a quick “worse is better” approach to first get a feel for how painful it is to style my views manually.
I have a Styles.js source file that looks like this, controlling layout and colors for UI elements in Epilogue:
import { StyleSheet } from "react-native";
export default StyleSheet.create({
bookTitle: {
marginTop: 8,
paddingLeft: 7
},
bookAuthor: {
paddingTop: 4,
paddingLeft: 7,
color: "#777777"
},
...
}
To use this style in JSX, I have something like this:
<Text style={styles.bookAuthor}>Neil Gaiman</Text>
To support Dark Mode, I’ve added a special “dark” field to the styles object. This will only have style properties that I want to override from the default light mode. In the case of bookAuthor, there’s no need to change the padding, just the text color:
bookAuthor: {
paddingTop: 4,
paddingLeft: 7,
color: "#777777"
},
dark: {
bookAuthor: {
color: "#FFFFFF"
}
}
Back to the JSX, I check my is_dark variable and then reference a different set of styles. JSX lets me pass an array of styles, so we’ll include both the light mode version (styles.bookAuthor) and then the dark value (styles.dark.bookAuthor) that will override the color:
<Text style={is_dark ? [ styles.bookAuthor, styles.dark.bookAuthor ] : styles.bookAuthor}>Neil Gaiman</Text>
Here are a couple screenshots showing each mode side by side:
The JSX code is admittedly a little clunky. I can see how it could be cleaned up and more readable with other solutions. But the app only has a few screens, so I’m going to run with this for now.
Posted episode 501 of @coreint. We talk about Apple’s new App Store rules for the Netherlands, and @danielpunkass moving from Mercurial to Git.
I’ve been programming the Mac for over 25 years, but I’m stumbling through React Native and JavaScript like a newbie. I’ve always found the best way to learn is by doing. Hit some brick walls, dig under them, and then realize later that you built the wall yourself, fighting the frameworks.
One of the benefits of React Native or SwiftUI is a formal way to manage state, letting the frameworks update the UI for you when something changes. I’ve never thought of this as a big advantage, but maybe I’ll warm up to it.
As I work on rewriting Epilogue, I’ve improved the book details screen to include a list of your bookshelves. Tap a bookshelf to add the current book to that bookshelf. A progress spinner will show while Epilogue sends the book data to Micro.blog.
In the world of UIKit, I would probably have a reference to a UIActivityIndicatorView. When I’m ready to send the web request, I’d show and start the progress spinner by calling startAnimating() on it.
In React Native, I have a boolean state that keeps track of whether the progress spinner should be animating, defaulting to false:
const [ progressAnimating, setProgressAnimating ] = useState(false);
Then when the button is pressed, I set the state to true and carry on with the web request:
function addToBookshelf(bookshelf_id) {
setProgressAnimating(true);
// send book data to Micro.blog
// ...
}
In the UI, the JSX references this boolean. The UI will automatically update whenever the value changes. I don’t need to hold a reference to the actual ActivityIndicator object anywhere in my JavaScript code:
<ActivityIndicator size="small" animating={progressAnimating} />
Here’s a 3-second video of how this looks in the app:
Next up: I need to add sign-in back to the app before I can do a beta. I’ll also be working on Dark Mode and the search box.
I think I’m ready to move away from Zendesk. Recommendations? I don’t blame it for my failure to keep up with support email, but it doesn’t help that it loads slowly and the workflow never felt quite right for me.
I had upgraded to new AirPods 3 for the last couple months. I loved the sound, but they were never comfortable in my ears. This week went back to AirPods 2. (I’ve tried Pros but not really interested in them.)
Wordle is live at The New York Times and looks identical for now, hopefully easing some concerns.
In the spirit of Brent’s Sync Diary series from 2013-2014, I’m going to blog a little about our decision to move away from UIKit for some of our Micro.blog apps. I’m new to React’s way of thinking about UI, and I barely use SwiftUI either, but it’s just code and I’ve been able to make some progress learning React Native already.
First, to clear up some potential confusion: we are not abandoning iOS! I still love my iPhone, even if I’m very frustrated with how Apple is treating developers. We are embracing Android more fully, and limiting how much time we spend in Apple-only frameworks. Our iOS apps will still be the best we can make them.
Micro.blog for Android is a pretty big project even in beta. Vincent hit the ground running. It’s a little daunting for me to wrap my head around until I’m more comfortable with React Native, so I started somewhere simple: our app Epilogue, which I built a couple months ago for both iOS and Android with HTML, JavaScript, and a sprinkling of native Swift and Kotlin.
Epilogue 1.0 was developed very quickly. While I was happy to ship the app to customers, I wasn’t too happy about the UI. It was a little clunky, and it started to feel more clunky the more I used it regularly for my own book tracking. React Native uses JavaScript but with native views instead of web views, so I was pretty sure a rewrite would fix the problems in the UI.
I started with the placeholder JavaScript you get from running npx react-native init, then added in Epilogue elements like the book list and querying the Micro.blog API. I also integrated react-native-menu/menu to get a native UIMenu-based context menu on iOS, something I couldn’t do before with the HTML-based app.
The toolchain for React Native makes me a little nervous. It uses every package manager you can think of: Node, Yarn, Ruby Gems, CocoaPods… It feels fragile, but there are so many thousands of developers using this framework, I’m also not very worried about it breaking.
Here are a couple of screenshots of the in-progress new version of Epilogue:
It’s already better. The learning curve for me is getting used to how React shares state and React’s JSX markup, a mashup of XML for view layout with bits of JavaScript. I’m sure I’m not doing it quite right, but already I have something that works well as a foundation for Epilogue 1.1.
Vincent shares his thoughts on the future of Gluon, especially as it relates to Micro.blog for Android. I knew when I first reached out to Vincent about helping with Micro.blog (less than a year ago!) that this might be an issue to navigate, and @vincent’s choice makes sense.
Like outliners and Shortcuts? @vincode has a write-up for how he posts from an outline in Zavala 2.0 to a full blog post in Micro.blog.
Finished reading: Termination Shock by Neal Stephenson. Love the premise, characters, and strong first half, then I started to wonder if Stephenson had lost the plot… but it comes together and he sticks the landing. 📚
More presenters announced for Micro Camp 2022. 🏕
A few things are happening at once that together are putting some clarity on the direction we should have for Micro.blog development:
We are a small team, and maintaining so many different versions of our apps is difficult. On top of that, why invest so much time in Apple-only frameworks when Apple could upend our business with a new App Store tax or other disruptions?
Going forward, the tentative plan is to abandon most of the current iOS codebase for Micro.blog, instead sharing it predominantly with Android using React Native. This will free up development time to keep making the Mac version even more Mac-like, sticking with AppKit.
Mobile platforms like iOS and Android are much more similar to each other than either one is to the Mac. I love the Mac and don’t want to compromise the UI on macOS with a cross-platform framework. macOS also remains the only open Apple platform, so investing in it feels right.
What about our other companion apps for Micro.blog? Sunlit and Wavelength will stay iOS-only using UIKit. Epilogue will move to React Native, simplifying the number of cross-platform frameworks we use to just one.
In summary, here’s how I see our apps looking after this multi-year transition:
The official apps for Micro.blog are a baseline. There should be a rich ecosystem of third-party apps that make other choices, going all-in on SwiftUI, Jetpack Compose, or whatever else helps developers build something new for Micro.blog.
What makes the business side of Micro.blog work is that our goals as a company are aligned with our users’ goals. We make money when we provide features that make blogs better and the Micro.blog community experience better. Restructuring our development approach similarly aligns our priorities, moving just a little farther away from being dominated by Apple.
Rolling out a fix for cross-posting in Micro.blog, which broke when we optimized publishing performance this week. Apologies for the glitch.
I’m torn between thinking we have enough emoji already but really wanting an iced coffee emoji. 🥤 and 🧋 are not quite right, so I use ☕️ which is also wrong.
Love this post from @benwerd. I’m imagining what native app platforms would be like if they were half as open as the web, if Apple and Google weren’t driven to tax all payments. The web is truly unique, an incredible gift to developers and users.
Finished reading: White Sand (Volume 1) by Brandon Sanderson. Another part of the Cosmere. Wonder if he’ll ever release the draft that this graphic novel is based on. 📚
Rolling out another optimization in Micro.blog today. You should see some of your new posts show up instantly in the timeline now.
Every Monday morning, I write down a few things I plan to focus on for the week. Inevitably a few hours in, I’m off in the weeds working on something unrelated but seemingly now more important. But it’s good to have that list to return to.
Micro.blog 2.3 is now available in the App Store, including these changes:
We’ve supported color highlighting in Markdown for a while, and now this release adds HTML too. I’ve found this most helpful when editing a blog post that includes images, where the img tag was probably added by Micro.blog:
I also fixed a bug with Micropub servers, no longer requiring the me parameter from some IndieAuth API calls. There has been some related housekeeping of the IndieAuth spec recently, and I want to make sure Micro.blog can post to as many non-Micro.blog servers as possible.
After a nice run last week of 3/6s in Wordle, got stuck today. Wordle 233 6/6
⬛⬛⬛🟩⬛
⬛⬛⬛🟩🟨
⬛⬛🟨🟩🟨
⬛🟩⬛🟩🟨
⬛🟩🟨🟩🟨
🟩🟩🟩🟩🟩
Finished reading: The Art of Wolfwalkers by Charles Solomon. I have a lot of “art of” books, but usually just skim them and then they go on the bookshelf to pick up again later. Decided to actually read this front to back for a change. 📚
Finished reading: How to Stop Time by Matt Haig 📚
We’ve hit episode 500 on Core Intuition. For this special milestone, we look back on a few older episodes.
Nice to make a fire because we want to rather than because we have to like last year’s winter storm.
Added plug-in search to Micro.blog and a filter for only showing themes, now that we are starting to get so many plug-ins. Planning to add categories or tags later for more filtering.
These guidelines from Apple about external payments are even worse than I expected. So many hoops to jump through, and a ridiculous 27% fee. No one is going to go along with this, which means it doesn’t relieve any regulatory pressure on Apple. Burning more developer trust.
After I added Micro Camp 2022 to events.indieweb.org, I wanted to send an IndieWeb RSVP to the event. RSVPs use Microformats and Webmention to let your blog notify another site that you are attending an event. I’ve been creating the markup for RSVPs manually for years, but it’s a little finicky. You need to use HTML with the right reply-to class and RSVP status.
To make this easier, I’ve created a Micro.blog plug-in called IndieRSVP that provides a Hugo shortcode you can use in a blog post. After installing the plug-in from Micro.blog’s plug-in directory, to RSVP to an event use the shortcode rsvp and pass a URL for the event as a parameter like this:
There are more details over in the README. Happy RSVP-ing! 📅
Micro Camp 2022 is now listed on events.indieweb.org too, if anyone in the IndieWeb community wants to RSVP that way. 🏕
Still getting used to the idea that we might have a winter storm like this in Austin every year now. Climate change, huh? We are slightly more prepared this time, with firewood, water, and batteries. ❄️
More Micro.camp 2022 details! Stickers! Portland!
Congrats to @vincode on releasing Zavala 2.0! iOS and macOS outliner with iCloud sync and great support for Shortcuts. Fast, clean UI. I’m testing OPML between Zavala and Drummer and it works well.
Nice to see Maus at the top of the best-sellers list. I actually ordered a copy last week too. I’ve been meaning to re-read it for years… Haven’t read it since I was a kid and one of my friends had a copy. 📚
This morning’s Micro.blog update included performance improvements, bug fixes to ActivityPub and Micropub, scrolling to current post in conversations (thanks @sod!), and a server hardware upgrade.
Tweaking the design of my blog a little, changing the colors and header. Clicking on random posts to test the design I stumbled onto this microblog post from 2016 and smiled. Couldn’t have predicted everything back then, but still sticking to the plan.
I’m resuming the TestFlight beta for Micro.blog for iOS. The first beta of version 2.3 includes bug fixes and HTML syntax highlighting for editing.
I created a new Micro.blog plug-in called “Custom home page” that replaces your blog home page with some Markdown text instead of recent posts. Convenient for folks who want a simpler web site, maybe with an introduction and links. Also good for single-page product sites.
Last night’s Spurs vs. Bulls game was really fun. DeRozan’s playing well, maybe even better since moving to Chicago. But I’m not giving up on the Spurs somehow sneaking into the play-in tournament. 🏀
Improved theme management in Micro.blog today, including disabling previous theme plug-ins when installing a new theme. Makes it faster to try new themes because they don’t need to be uninstalled right away. 🔌
DHH asking questions that remind me of Micro.blog. The balance is easy posting but not virality:
What would a social media design that embraced friction look like? Is it even possible? Could it ever compete against the virality of the existing frictionless alternatives?
Core Intuition 499! Just one episode away from 500. Hard to believe. This week we talk about @danielpunkass feeling more comfortable with iOS development, and programming languages and frameworks as essential tools.
Made a few more improvements to blog publishing performance. Feels kind of like carving something out of wood. Cut a little bit off here and a little bit there until it starts to resemble what you want. Also cleaned up Account → “View logs” to be more playful. (Logs are boring.)
Micro Camp 2022 is happening in March! This post from @jean has the details. Also check out the Micro.camp web site which we’ll be updating with more details as we finalize sessions.
Finished reading: The Republic of Thieves by Scott Lynch 📚
Worked all day on new plug-in improvements. Pretty happy with the progress. Assuming no major bugs, gonna let this change sit for a couple days and see how everyone feels about it. Slowly inching toward more user-friendly management of plug-ins and themes.
A date has been set for the IndieWeb personal libraries pop-up session: February 19th. Looking forward to it! 📚
I should be able to finish The Republic of Thieves this week, so I went to order the 4th book in the series… It’s not out yet! Supposedly was set to ship last year. 📚
On the latest Core Intuition, we talk about the App Store and Apple’s response to government regulation, especially recent news from South Korea.
“I’m a firm believer that often terror is trying to tell us of a force far greater than despair. In this way, I look at fear not as cowardice, but as a call forward, a summons to fight for what we hold dear.” — Amanda Gorman
I’m as tired of debating the App Store as anyone. I’ve been making essentially the same arguments for 10 years, on this blog and on the podcast. But the news from South Korea adds a new wrinkle that is worth highlighting.
The spirit of any law forcing Apple to allow external payments for apps is clearly twofold: give developers more control over interacting with customers, and let developers avoid paying the 15% or 30% on transactions by handling payments outside the store. Apple and Google are trying to follow the letter of the law while missing the larger point completely:
Apple said it plans to provide an alternative payment system at a reduced service charge compared with the current 30 percent charge, as the tech giant turned in its compliance plans to the Korea Communications Commission (KCC).
Ignore for the moment whether this response is legal or fair. Let’s think through how this would work in practice. Apple is developing APIs so that when using an external payment, Apple is still notified about the external transaction so they can collect their “reduced” service charge.
But iOS developers are used to paying Apple $99/year, and then getting a check from Apple once a month with 70% of the sales through the App Store. The 30% (or 15%) is taken out automatically, just like 3% is taken out for Stripe transactions. Developers don’t have to think about it.
In this new world Apple imagines, developers will be collecting all of the sales into their own bank account, and then paying Apple the 11% or whatever Apple ends up demanding. There is a huge psychological difference between these approaches, just as there’s a difference between getting taxes taken out of your paycheck automatically and having to write a big check to the government.
If this goes through, it will only underscore how ridiculous the App Store tax is. Why do developers have to pay Apple a platform fee when we’ve never had to do that for macOS? What is the point of the $99/year program?
Apple wants iOS, the App Store, and their App Review team to be inseparable as a single platform. That’s not a technical reality. If they keep pushing this approach, they’ll only run up against more regulation and more distrust from the developer community.
Latest Android beta of Micro.blog is hung up in review because apparently Google can be just as picky as Apple sometimes. Didn’t realize they have to review every beta. Makes me think we should ship the 1.0 sooner rather than the extended beta period we had planned.
The free COVID tests web site really couldn’t be easier. Takes 30 seconds. Well done, USPS folks.
Last June, I was traveling with my family for a vacation to Washington DC. We had all gotten vaccinated, the Delta variant of COVID hadn’t hit the US yet, and we were feeling pretty great about moving beyond the pandemic. Maybe too optimistic, but that’s another story. For Micro.blog, what happened leading up to that trip and while in DC is that I spent some time thinking about the future of the platform and the team.
Maybe it was the stress of travel. I felt a kind of urgent need to get help with Micro.blog, ideally from someone who knew Ruby, had seen some of my code before, and had experience with mobile apps and APIs, so they could hit the ground running. I emailed Vincent Ritter right before leaving town and asked if he was interested.
Vincent had developed the third-party Micro.blog app Gluon, which runs on iOS and Android. He’s an active blogger and codes with Ruby, which we also use on the Micro.blog backend. He and I have discussed several improvements to the Micro.blog API through his work on Gluon, so I was pretty sure we had a similar approach to development and could work well together.
Vincent has been working part-time on various improvements to Micro.blog since shortly after I reached out to him over the summer. Bug fixes, backend architecture brainstorming, and new features like dark mode on the web. But he’s also been working on something big: Micro.blog for Android.
We rolled out the Android version last week as a public beta on Google Play to get early feedback. It won’t match the features of the iOS version exactly, just like the macOS and iOS versions are different from each other in their own way. The Android version has all the basics: the Micro.blog timeline, posting, replies, Discover. The design borrows from the iOS version but also tries some new things, like a tab bar.
Five years since the Kickstarter for Micro.blog, I remain as excited as ever about the potential for Micro.blog. Finally filling in this missing piece for Android users is a huge step forward.
Thinking back to last summer through to this winter, it’s easy to let bad news happening in the world dominate our thinking. I’m really proud that behind the scenes with Micro.blog we keep moving forward. I probably say something like this every January, but… 2022 is going to be great.
I updated Micro.blog for macOS today with a bug fix and new right-click context menu for hosted blog posts. Part of making the app a little more Mac-like.
Every once in a while, someone new to Micro.blog asks if it is actively developed. What…? We are making improvements to the backend and shipping new apps all the time. Clearly need to communicate this better.
Cold morning in downtown Dallas, walking from the hotel to get coffee and I passed this, on the birthday of Martin Luther King Jr.
There are so many characters in Encanto, it really improves on subsequent viewings when you know who everyone is. Can’t stop listening to the soundtrack.
Today we’re releasing the first public beta of Micro.blog for Android. You can download it here on Google Play.
Vincent Ritter led the development on this and there’s a ton in it for a first beta. Some of the features in this initial version:
We have a few more things to wrap up before we officially call it 1.0. For example, push notifications will make the final release but they aren’t in this beta. There will be bug fixes, UI tweaks, and other improvements based on feedback.
Enjoy! Let us know what you think.
My best Wordle yet. 209 3/6. I tend to play random first words, and sometimes I get lucky.
🟩⬛🟨⬛🟨
🟩🟩🟩⬛⬛
🟩🟩🟩🟩🟩
Reacting to Daniel Jalkut’s follow-up on his 2010 post about native apps vs. web apps, Michael Tsai has a great summary of how much Apple has lost the plot. His blog post collects many of the problems in one place:
Since then, Apple has slowed the pace of improvements to the frameworks for writing native Mac apps. It added technical (sandboxing, TCC, SIP, kernel extension restrictions) and policy (App Review) roadblocks that make it harder to develop apps that go beyond what can be done with Web technologies.
I’ve been doing a lot with AppKit this week, updating Micro.blog for Mac. I can’t believe I’m saying this in 2022, but AppKit is still the best way to develop Mac apps. Apple’s framework strategy is so muddled.
If you’re supporting iOS, Android, and macOS, you might choose an Apple framework like Catalyst or SwiftUI to cover iOS and macOS, then something different for Android. But lately I’ve been thinking the best way to support all 3 platforms is to have cross-platform code on mobile, and AppKit on macOS. iOS and Android are a lot more similar than either one is to the Mac.
I haven’t thought much about AirTags since they launched. I wanted one but didn’t need it. I think Nick Heer is right that maybe just shut the product down. Apple’s Find My network is a dangerously powerful tracker.
Hugo folks, we’re considering a fix that will make it easier to style standalone blog pages in themes and plug-ins. Chime in on this help discussion if you have any thoughts.
New update to the Mac version of Micro.blog today with bug fixes and HTML syntax highlighting along with Markdown. Looks much nicer when editing photo posts. “Check for Updates” to grab the latest.
Testing a bug fix update to today’s Micro.blog for Mac update, and I also squeezed in a change I’ve been wanting to add for a while: HTML highlighting. We’ve had Markdown highlighting, but I really love this for img references. It’ll ship tomorrow.
The situation with the NBA and Kyrie Irving is so silly. If you’re a Nets fan, you can’t watch one of your team’s star players in your own city. Can’t imagine this is going to go over well with teammates when the Nets get to the playoffs and Kyrie’s absent for half the series. 🏀
Today we released an update to the Mac app that adds a preview window. This is handy for longer posts with lots of Markdown or HTML, so you can check what they will look like when published.
I decided to make this a floating window that previews whatever post window happens to be open. You can move it off to the side of your screen and then quickly show or hide it with the keyboard shortcut whenever you need it.
Full changes:
As always, the download link is on the help site, or choose “Check for Updates” if you’re already running an older version.
15 years ago today the iPhone was announced. I blogged that day about how blown away I was by it. But I also added: “Only bump in the road will be if iPhone is a closed platform.” Still kind of bumpy.
Some folks noticed that I broke RSS feeds (including too many items) during the Hugo upgrade. That’s fixed now. Feeds will update after your next post, or when you update your blog settings.
If you’re using the Minos theme for your blog, there’s a new plug-in in the directory to add Dark Mode support. 🌘
A few weeks ago, something in a discussion prompted me to look up the site 43 Things, which I used in 2005 to keep track of big things I wanted to do. The site is long gone, but a lot of it is preserved in the Internet Archive. I took a screenshot of the 10 things I had on my list back then:
The site was peak Web 2.0. Part personal to-do list, part community, part API. Something about the design was fun to use.
Now that it has been 15+ years, I thought I’d revisit my list and see how I’m doing now, with some context from 2005:
Daniel and I also discussed this list on Core Intuition 402 from 2020.
Posted the first episode of Core Intuition for 2022, talking with @danielpunkass about productivity and the book 4000 Weeks.
I enjoy the IndieWeb pop-ups that have become popular in pandemic times. Easier to commit to a couple hours on Zoom than a full weekend. This month there’s Analog Meets Online and in February there’s Personal Libraries.
Finished reading: Red Seas Under Red Skies by Scott Lynch. First book of 2022. Love this series. 📚
There has been a lot of activity around Micro.blog plug-ins lately, inspiring me to improve the theme and plug-in system. Under the hood Micro.blog uses Hugo to process blog templates, and we’ve been running an ancient version of Hugo. Having such an old version has held back some plug-in features, so today I started the process of migrating to the latest version of Hugo.
It’s a big jump, from version 0.54 released in 2019, to 0.91 released just a couple weeks ago. Some things are likely to break, so instead of updating everyone’s blog automatically and dealing with the fallout, we’re going to take it slow. The new version of Hugo is opt-in for now, under the Design screen:
Each blog on your account can use a different version, making it convenient to run Hugo 0.91 with a test blog while keeping your main blog as-is.
I don’t recommend updating unless you are working on a theme or plug-in that needs a specific feature from newer versions of Hugo. I’m testing all the built-in themes with the new Hugo and will keep updating them with tweaks until we’re happy that everything is running smoothly.
If you do try Hugo 0.91, I’ve already updated the Default and Marfa plug-ins — as well as some built-in Micro.blog templates — to work with the new version. You can install the latest versions of the plug-ins for those themes to get the latest versions, instead of waiting for Micro.blog to update.
The most common problem I noticed was using .Data.Pages. That’s a quick fix to use .Site.Pages instead so that it’s compatible with both versions.
I’ve also fixed some HTML escaping issues this week. Micro.blog is now smarter about not escaping special characters like “<” and “{{” when inside a code block.
Wordle 201 6/6. I said I’d stop playing but it pulled me back in for another day… For microbloggers, when sharing Markdown requires 2 spaces at the end of a line for it to wrap correctly.
⬜🟩⬜⬜⬜
⬜🟩🟩⬜⬜
⬜🟩🟩⬜⬜
🟩🟩🟩⬜⬜
🟩🟩🟩⬜⬜
🟩🟩🟩🟩🟩
I put a link to the Surprise me! plug-in in my blog footer. Pretty fun to click it a few times and get taken to some old post that I barely remember.
I’ve updated Micro.blog’s plug-in directory so you can actually link to plug-ins now. For example, here’s a link for the All photos plug-in. Should make it easier to talk about and share new plug-ins.
I think that crypto will have a place in the future, but I think the applications of it right now feel like they’re solving solved problems worse than the existing solutions.
Agreed. Blockchain is so unique it’s gotta be useful for something, right? But not web3.
Wordle 199. First time I’ve played this game and I’m not great at it… Needed at least one more guess. I like that the daily limit makes it impossible to waste too much time.
⬛🟨⬛⬛⬛
⬛⬛🟩⬛⬛
🟩⬛🟩🟨⬛
🟩⬛🟩⬛⬛
🟩⬛🟩⬛🟩
🟩🟩🟩⬛🟩
Great post from @benwerd about blogging:
This earliest form of social media is, for me, the deepest and most interesting: a decentralized sphere of diverse voices, all publishing on the same playing field. It’s what the internet is all about.
Wrote a plug-in called “All photos” that overrides the Photos page to include every photo in a blog post, not just the first photo. It also adds lazy loading for Safari (other browsers already supported it) which really helps if you have many photos. Install it under Plug-ins.
5 years ago today, I launched the Kickstarter for Micro.blog. Soooo much has happened since then, but still more to do. Today’s another day: rolled out several tweaks to Micro.blog and bug fixes today, including fixing the web editor to expand for longer posts. 🎂
I’m not big on stats, but a positive change I made last year was to get my reading time way up, from a handful of books usually, to 33 books last year. Setting a goal of 40 for 2022. 📚
Last episode of @coreint for 2021 has been posted, just barely. We look toward 2022 and talk about how to spend our time.
There was a lingering issue in the last day with updating the Micro.blog timeline for some blogs. Fixed now. 🧑💻
Nice to see the new plug-in version check working. Micro.blog now automatically checks GitHub for new versions of plug-ins so they’re easier to update. (In other words, I’m no longer the bottleneck for getting updates out.)
Old oak trees at Merit Coffee on South Lamar. The house also has a historical marker — built around 1900 by sisters who were teachers and then real estate developers. ☕️
Coffee and work on a few random Micro.blog backend things. I tweaked how publishing works to squeeze a little more performance out of it. ☕️
It was way back around IndieWebCamp Austin 2017 that I proposed a new archive format for blogs. These .bar files are essentially ZIP files that contain HTML with Microformats, JSON Feed with original Markdown or HTML, and uploaded photos. The nice thing about this format is that you can unzip them and preview your entire site in any web browser, and it contains all the related photos and other files.
I’ve been working on improving support for Blog Archive in Micro.blog. Version 2.3 of the Mac app can now import .bar files with a nice preview window and progress. It can import into Micro.blog or external Micropub and WordPress blogs.
When the Mac app uploads photos for your blog from the archive, it rewrites img tags in your HTML to use the new URLs, so it’s a good way to migrate a blog with no or minimal cleanup needed afterwards.
Tools that want to process these files can choose between parsing the Microformats or JSON Feed version of the blog. IndieWeb-friendly tools may find it easier to work with Microformats, and new apps can use any JSON parser.
When generating a .bar file, I recommend having plain HTML in index.html with common Microformats like h-feed, h-entry, u-url, dt-published, and e-content. In the JSON Feed, you can use content_text for the source Markdown or HTML if you have it, and then HTML in content_html. Micro.blog will prefer content_text if it’s there.
For an example to test with, check out this file: example.bar. This contains a few posts and screenshots from our Epilogue blog.
I really hope this format catches on. The files can be big, but they give you a single file that you can backup anywhere.
I’ve added @amit’s Post Stats plug-in to the directory so it’s easy to install from Plug-ins → Find Plug-ins. Great to see all the activity around new themes and plug-ins.
It’s easy to be optimistic after a couple blowout wins, but love how this Spurs team is playing. Climbing back into the play-in race, 2nd in the west for points per game, 5th for point differential. Gotta stay competitive with Dejounte out for COVID protocols this week. 🏀
A little post-Christmas coding, updating the Mac app to support importing .bar (blog archive) files. Probably won’t release for a few days but you can follow along in the GitHub history.
Finished reading: A Darker Shade of Magic by V. E. Schwab 📚
Hope everyone’s having a nice day! Just posted the latest Core Intuition. 🎄
There will be a IndieWeb pop-up session in February about personal libraries: using alternatives to Goodreads, tracking books on your own site, and common formats we can use.
You can unlock a secret “Happy Holidays” pin on Micro.blog by mentioning various winter holidays and Christmas-y themes in a microblog post. ❄️
Trail of Lights at Zilker was cars-only again this year, but still fun. I bet it’ll be back to normal next year. 🎄
This week’s Micro Monday episode features Ridwan Jaafar. Thanks for being part of the community @ridwan!
I know in movies the techie hacker is always going to be typing furiously at fake unix-like interfaces… Fine. But can they at least include some typos so it’s halfway realistic?
Still annoyed by the trend of services showing yearly pricing as a monthly estimate. I won’t go as far as saying it’s intentionally dishonest, but it’s not right either. If you order a coffee once a week at Starbucks, they don’t tell you it’s 70¢/day. They charge you $5.
We just posted Core Intuition 493: @danielpunkass returns to iOS development.
Apple has approved Epilogue 1.0.1, a bug fix update to our books-focused iOS app. Check it out in the App Store.
Feel like I’m almost on the other side of the COVID booster knocking me around for 24 hours. Luckily it was a good rainy weekend to stay in bed anyway. Started reading A Darker Shade of Magic, probably be my last book of 2021. 📚
Boosted. They’ve changed things up at Austin Public Health since my first COVID shots. Now using outside tents so much better ventilated. 💉
I’ve had to do some work in WordPress recently, and I’ve gotta say I think Micro.blog stands up pretty well against the competition. There’s more we can do, of course. But in terms of fast, simple UI, very happy with what we’ve got.
Every time I have to ask Apple to let me send a beta to customers, it makes me want to not develop for iOS anymore. Such a waste of everyone’s time.
The community on Micro.blog is still small enough that even little changes have a big impact. We’ll keep growing, but slow growth is okay. Never want to get so huge that one person can’t make a positive difference.
Read most books as e-books this year, but if I started a series and loved it, I usually picked up the other books in print. I think my bookshelf is going to end up with a lot of book 2s and 3s. 📚
Finished reading: The Lies of Locke Lamora by Scott Lynch. This novel is so well crafted. Loved it. 📚
Downtime this morning was super annoying, but no data loss and everything should be running smoothly again. Brainstormed with @vincent ideas to make it more robust. We have redundancy in photo storage, but when the primary storage is down, it cascades to other errors. Fixable.
Updated a few things with the Micro.blog publishing backend, including a new “Rebuild” button on the Account → “View logs” page. Useful for doing a slower, complete sync of your blog if anything was accidentally out of date.
Misty, rainy day in Austin. Tried to work at Summer Moon but a guy nearby was sniffling and coughing. Even outside I couldn’t tune it out and had to leave. Stay home if you’re sick, people! 🌧
I’ve updated the Mac app with some improvements around drafts and scheduling posts. There’s a new File → “Schedule Post” menu command to tell Micro.blog to publish a post at a date in the future.
This update includes a handful of other fixes and minor changes too. See the help page for the download link and full release notes. Or choose “Check for Updates” in the current app.
I was a little familiar with Billie Eilish but hadn’t listened to her latest album all the way through until now. Love the song Happier Than Ever. 🎵
Christmas tree and stained glass at Lazarus Brewing. Coffee and work on the macOS app this morning. ☕️
I’ve updated the Settings button for email newsletters to allow changing the delay for scheduled newsletters from 30 minutes to 1-2 hours. There were also a bunch of changes last week… Enjoy! ✉️
Scheduling posts in the future and the new email newsletters weren’t really in sync until today. I’ve fixed some additional issues, so you can have posts publish in the future and it will correctly schedule the email to send after, and also incorporate edits in the meantime. ✉️
Theme updates: Cypress has been updated to the latest version, and Tufte has been added as a built-in theme in Design. If you’re using Tufte as a plug-in, no need to change anything. I will be moving everything to plug-ins in the future.
I’ve been updating the email newsletters feature every day this week with tweaks and bug fixes. It now works better with drafts, posts scheduled for the future, and time zone issues in when to send weekly emails.
We posted episode 492 of @coreint. We talk about the new email newsletter subscriptions in Micro.blog, quick FastScripts bug fixes, release notes in general, and winding down the year for the holidays.
We updated Sunlit today with a few bug fixes and performance improvements. There’s also a new TestFlight beta of Micro.blog that fixes issues on iOS 15.
I started reading The Wizard and the Prophet a couple years ago and liked it, but I stalled about halfway through… This glowing review by Seth Godin makes me want to pick it back up and finish it. 📚
Questions or feedback about the new newsletter subscriptions? We’re recording a podcast tomorrow to talk about it and answer questions.
Looks like iOS 15.1 has seriously messed up the swipe interaction in Micro.blog for iOS. I know some people don’t love the no-tabs UI, but the thing that makes it work is quick dragging back and forth, so I’ll try to fix it soon.
We improved the email newsletter subscriptions feature today based on early feedback. There are a couple of bug fixes: not putting imported posts into emails, and a better “from” email address that includes your name.
Styling of HTML emails is now possible with CSS. Under the Design → “Edit CSS” screen, there’s a new checkbox to include the CSS with emails in addition to on your blog:
The email content is wrapped in a microblog_email class, which you can use if you want to target specific parts of an email without affecting the CSS on your blog. For example, when Micro.blog collects posts together in weekly or monthly emails, it adds a link with the post date. If you wanted to change the color of that link:
This could also be used for changing the appearance of block quotes or inline images. I’ll be sprinkling in some more CSS class names in the future so that other components of the email are easy to override.
Very happy with the email newsletters rollout. The feedback has been great. I have a short to-do list of improvements I’m going to make today, and then a longer list of things we can do later.
Today we’re announcing a major new feature for Micro.blog Premium subscribers: email newsletters. Micro.blog can now manage letting readers subscribe to your blog and receive emails for new blog posts. It’s deeply integrated into Micro.blog and works great for collecting multiple microblog posts together automatically.
Why are we creating yet another email newsletter feature when there’s already Substack, Buttondown, HEY World, SendGrid, MailChimp, and others? We always want to make blogging easier and to encourage more people to blog. We think many people want to publish to the web and email, instead of splitting their writing off into a members-only newsletter.
Micro.blog’s email newsletters are like Micro.blog’s cross-posting: designed to start with your blog first and be effortless to maintain. You can enable it and forget about it. Micro.blog will create newsletter drafts from your blog posts automatically. You can edit a newsletter if you want, or ignore it and Micro.blog will queue it to send to your subscribers.
There are a few settings when you enable email subscriptions: have Micro.blog send a new email for every full-length blog post; collect all your blog posts for a week together and send them in a single email; or collect all your blog posts from a category into a monthly email. The weekly and monthly options work great when you have a mix of short and long posts, so your email subscribers can read them together in order.
We think Micro.blog’s email newsletters are a great option for potential readers who are not using RSS. Everyone uses email. You can keep email subscribers in the loop without pulling attention away from your blog. All your content still lives in one place and not fragmented across multiple services.
When you enable email newsletters, Micro.blog also adds a special email address that will be the “from” address for any emails sent for your blog. Your subscribers can reply to your email and Micro.blog will forward the text to you, without having to make your real email address public.
To try out email newsletters, click on Plans to make sure you’re on Micro.blog Premium. This $10 plan also includes podcast hosting, video, and bookmark archiving. You’ll see a new Newsletter link in the sidebar on the web, where you can enable email subscriptions, manage subscribers, and edit email drafts before they’re sent to your readers.
I’ve also posted a video to YouTube showing some more of how it works. Let us know what you think!
Rewatching some highlights from last night’s Spurs win over the Warriors. 4-game winning streak after I almost started doubting if this team could put it together. So fun. 🏀
Putting the final touches on a major new feature we’re launching Monday. I love the way it’s come together. It’s inspired by other services but plays to Micro.blog’s strengths, so totally unique. ✉️
This week we improved a few things in Micro.blog for managing drafts and scheduling blog posts to publish at a future date. If you have any drafts or scheduled posts, you’ll see a new set of buttons in the Posts screen on the web to filter your posts:
You can save a post as a draft in the iOS or macOS apps, on the web (click the “…” button), or from apps like Ulysses, iA Writer, and MarsEdit. Some apps can automatically schedule a post just by picking a date in the future. You can now also take any draft post in Micro.blog on the web and schedule it from the editing screen:
As always, Micro.blog is first about quick, easy posting. If you don’t need drafts or scheduling, the UI should stay out of your way. I know how cluttered some other blog systems can get, and we want to keep Micro.blog as streamlined as possible even though it does have advanced features under the hood.
We just posted Core Int 491 with a discussion of Thanksgiving, recent work, and Jack Dorsey resigning as Twitter CEO.
Should’ve done this years ago, but finally realized that part of my problem with the modern macOS Finder is just how cluttered it is. Now I keep the sidebar hidden and remove most of the toolbar items. Better.
We’ve started watching Christmas movies. Checking my favorite movies blog post from 2 years ago, still holds up. Don’t think I have any additions yet. 🎄
Reminded by @amit that we haven’t done enough for managing draft blog posts, so now there’s a simple toggle on the Posts screen on the web for showing just drafts.
Finished reading: State of Terror by Hillary Clinton and Louise Penny. I’ve been listening to the audiobook in the car the last few weeks. I was curious what characters and setting Hillary would come up with based on her experience in the White House and state department. 📚
There’s a new Micro Monday! @artkavanagh talks with @jean about books, writing, newsletters, tech, and more.
90% into this new feature and I started questioning if it’s the right model. Had to take a step back and make sure it still fit into Micro.blog’s mission. It helped to write parts of a draft announcement blog post to outline why this is our focus, seen through customers' eyes.
Finished reading: Rhythm of War by Brandon Sanderson 📚
Posted to @news:
Elgin Christmas Tree Farm. Super crowded this year. Everyone’s ready to get back to holiday traditions. 🎄
Happy Thanksgiving! 🦃 Just posted Core Intuition episode 490.
Last week I took an Amtrak train out to Los Angeles. I decided not to blog about the trip until I was back home, so that I could mostly unplug and focus on editing my book Indie Microblogging. Now that I’m back, I’m going to share a quick recap and some photos.
I used Swarm along the way to capture check-ins at train stations, restaurants, and other landmarks. Those are published with map thumbnails over at manton.coffee. I’d like to do more with this site, filling in check-in history and eventually moving it away from Swarm.
It’s unusual for me to be away from home so long. In recent years for conferences I’ve been flying out for only a few days and then back. The solo train ride was like stepping back in time. A much slower pace, no wi-fi, and inconsistent cell coverage.
I arrived in LA very early, just before 5am. Opted to pay a little extra 💰 to check in to my hotel early, had breakfast at a nearby coffee shop, then rented a car. Driving around LA in traffic is its own story, which I talked about on Core Intuition 489.
The trip centered around catching a Spurs game with Jon at Staples Center as we attempt to visit all the NBA arenas. Choosing the train instead of flying ensured the trip was a break from the everyday routine, giving me time to focus on writing. It was also great to explore the city, checking out coffee shops, the library downtown (I had just read The Library Book about the LA library fire), tacos in Santa Monica, the view from Griffith Observatory, a quick drive-by of Disney Animation, Angels Flight Railway, and lunch in Koreatown.
I got used to the little quirks about train travel. Eating in the dining car. Settling into my sleeper car roomette. Watching the landscape roll by, changing so slowly it almost didn’t seem to change at all for hours. Then I’d look up from work and New Mexico had faded into west Texas and I was nearly home. Feeling very lucky that I was able to do a trip like this.
Just merged in 3 pull requests from @vincent. Good week for bug fixes. 🎉
Rolling out a fix for the recent Micro.blog cross-posting troubles. Should be fixed now! Unexpected symptom of a server upgrade.
Fixed an issue with moving books around in Micro.blog’s bookshelves (or in the companion app, Epilogue). We blew through our book API limits because of much more activity than usual. Good problem. 👍
After months (years?) of putting off the migration, we’ve finally switched Micro.blog from New Relic to Sentry.io. So much nicer, and more affordable too. Should be able to solve errors more quickly now.
The latest @coreint is out with all things Amtrak. Status update halfway through my trip to LA, book progress, car traffic gripes, and more.
On a train somewhere in Arizona, editing a podcast about being on a train. Going to collect the trip photos into a longer blog post when I’m back in Austin. 🚂
After a whole bunch of App Store rejections — mostly confusion with using Micro.blog accounts and probably (though left unsaid) Apple wondering if they needed a cut of subscriptions — Epilogue for iOS is approved. I’ve updated the Epilogue blog with a link in the latest post.
On the latest Core Intuition, Daniel and I talk about the just-released FastScripts 3, his app for quickly running scripts. He mentioned that even though AppleScript hasn’t had any attention in years, it’s still useful as a complement to Shortcuts and other workflows. Daniel said:
It’s like learning a little bit of French when you go to France. You don’t have to do it, but you’re going to have such an easier time if you do. And in my opinion, learning — even now, even in its state of relative neglect — learning a little bit of AppleScript on the Mac is like learning a little bit of French in France. You’re going to get a lot farther with everything you want to do.
Micro.blog doesn’t have AppleScript support, but it does have a URL scheme for starting a new blog post. For example, I wrote the AppleScript below to play around with FastScripts 3. You could trigger it with a keyboard shortcut from FastScripts to start a new blog post using a link for an open Safari tab.
-- we'll need access to AppKit for NSString's URL encoding
use framework "Foundation"
use scripting additions
-- global variables that we'll set later
set the_url to ""
set the_title to ""
-- helper function to URL-encode the text we'll pass to Micro.blog
on urlEncode(input)
tell current application's NSString to set raw_url to stringWithString_(input)
set the_encoded_url to raw_url's stringByAddingPercentEscapesUsingEncoding:4 -- 4 is NSUTF8StringEncoding
return the_encoded_url as Unicode text
end urlEncode
-- ask Safari for the current tab's URL and page title
tell application "Safari"
set the_url to URL of current tab of window 1
set the_title to name of current tab of window 1
end tell
-- make a Markdown string like [title](url)
set s to "[" & the_title & "](" & the_url & ")"
set the_mb_url to "microblog://post?text=" & urlEncode(s)
-- start a new post with Micro.blog for Mac
open location the_mb_url
My AppleScript knowledge is very rusty, and it took more than a few web searches to cobble this together, mostly because of the URL encoding. Now that it’s working it could be the basis for other automation with Micro.blog.
For @coreint this week, we talk about @danielpunkass shipping FastScripts 3. Then I grumble about Epilogue being stuck in App Review, and we continue with more Apple gripes related to the Epic vs. Apple case.
If you’re on TestFlight for Epilogue, I pushed a new version that adds Sign in with Apple. If your email address matches your Micro.blog account, it will sign you in, otherwise it can be used to create a new account from within the app. (Now let’s see if Apple approves it.)
I created a new Micro.blog theme that uses simple.css. The idea is to have the most lightweight HTML possible without extra CSS class names, so it could be a good starting point for customizations.
Congrats to @danielpunkass on releasing FastScripts 3!
More iOS rejections. App Review has lost the plot reviewing Epilogue. Thinking about adding Sign in with Apple just to get it approved (and because it would be convenient for everyone).
We released an update to Micro.blog for macOS today:
This version includes a fix from @vincode! Neat to see other people look at the code now that it’s open source and contribute changes.
You can grab the latest version in the Micro.blog Help Center or choose “Check for Updates” from the current app.
Hot off the press, just got the test printing of my book 30 Days. Very happy with it. Just need to tweak a couple things like margins inside. The print edition of Indie Microblogging will match, with the same size and layout. 📚
Epilogue is now available in Google Play. This is the first official app we’ve released for Android! Version 1.0 is very focused — just adding books to your reading list and posting about the book to your blog — but if people like it we’ll add additional features in future versions. I like that it takes a small part of the “bookshelves” in Micro.blog and makes it much quicker to access.
We are not going to compete directly with all the features in the new Goodreads competitors that have sprung up recently. Italic Type, StoryGraph, and Literal have interesting approaches to tracking books and building a community around reading. We’ll integrate with them where we can. Instead, Epilogue is for that last step of connecting to your blog, so that you can share your books at your own domain name where you own the content. To get there, we had to build a little bit of plumbing that is similar to those other book services, but I want Micro.blog and Epilogue to remain as lightweight as possible.
The iOS version is stuck in App Review. You can still get the TestFlight public beta here. We also have a blog just for Epilogue news: epilogue.micro.blog.
Happy reading! If you need inspiration, browse through the covers for books that members of the Micro.blog community are reading in our Discover section for books. Each book cover links to a blog post.
Going through a series of App Store rejections. I think the biggest disconnect between Apple and indie developers is that Apple thinks everyone will discover apps for the first time in the App Store. I’m happy if most users discover the apps through blog posts and web searches.
Finished reading: Warbreaker by Brandon Sanderson 📚
Exploring San Antonio on the walk back from the Alamodome. This was an old school, started in 1858. Later served as headquarters for the Hemisfair and where NAFTA was signed.
In San Antonio for the afternoon. Working outside at Halcyon. Cool but sunny, about 65°… Not winter-y enough for me to switch to hot coffee yet. ☕️
Updated the home page of Micro.blog on the web to show whether it is still publishing the latest post to your blog. Usually should only take a few seconds, but this makes it easier to tell what it’s doing. Apps can also access this status in the /posts/check API.
On Core Int this week we talk about Epilogue, fixing bugs, Apple’s Tech Talk, and finishing FastScripts.
Rolled out a Micro.blog change to blog custom CSS that is much faster. Design → “Edit CSS” will now push changes to your blog right away, and force loading the latest version to avoid browser caching. Easier to iterate quickly on design tweaks.
Good luck to everyone participating in NaNoWriMo! I did it years ago and it was a great experience. Not sure I could pull it off again — it seems so difficult to carve out time for writing now — but maybe one day. 📝
Last week I sent out a survey to ask how people are tracking books they are reading or blogging about. The response was encourage enough that I got to work building a new app for books. It’s called Epilogue.
As I discussed on Core Intuition, we already have a few iOS-only apps, but Micro.blog is before anything else a web-based platform. Vincent is working on an official Android app, and whatever we do next should be available on multiple platforms. So I decided to try something new with Epilogue, designing the UI with HTML to share it across both iOS and Android.
I’m pretty happy with the result. There are a few quirks in the UI — things we can probably smooth over in future versions or if necessary replace with fully-native screens. But I was able to build the whole thing quickly by iterating in Safari on my Mac.
Here are a few screenshots:
Epilogue is now available as a public beta on TestFlight. It will be available on Google Play soon-ish. I have it working, even if Android is still mostly uncharted territory for me. I also feel like I need to get some public feedback before going too much farther down this road.
It’s open source. GitHub says the language breakdown is:
What’s next? This first beta is for people who are already using Micro.blog. It’s for quickly adding a book or blogging about it. The search is new, powered by Google Books. We’ll wrap up 1.0 soon and then consider where to go with the app in future versions.
With a dedicated app, we could add more features than would fit into Micro.blog on the web, but I also don’t want to get too sidetracked. The goal is a lightweight app that can complement other book services, making it easier to blog about books.
I worry sometimes when announcing something completely new (we’re working on a few things!) that people will misinterpret my priorities… Yes, I love adding new features, but I’m also fixing bugs. We deploy Micro.blog multiple times a week with little tweaks.
Learning more Kotlin. The best way to learn a language is to first read the documentation. So naturally, I skip that step and instead just type code into Android Studio until it compiles.
Want to use Micro.blog from Shortcuts? @vincode has you covered with a new app for iOS and macOS that adds shortcuts for uploading photos and creating new blog posts, using our Snippets framework for accessing Micro.blog. Looking forward to seeing what people do with this!
If you’re new to Micro.blog, you might not know that mentioning Halloween or even just pumpkin in a blog post will unlock a secret pin. Happy Halloween everyone! 🎃
Experimenting with the Google Books API and I’m pretty impressed with it… We use a mix of different book APIs right now. I don’t like depending on Google but I think we’ll start using it more, with fallbacks to Open Library and ISBNdb.
We posted this week’s @coreint, talking about @danielpunkass’s MacBook Pro purchase, thoughts on macOS Monterey, cross-platform development, and more.
Finally went to the new Dutch Bros in Round Rock. Loved stopping at these while driving back from Oregon years ago.
Plugged in my (old) 16-inch MacBook Pro last night. This morning, battery is already about to die after 1.5 hours at the coffee shop. macOS says it only charged to 79%, but even so… Confused. Battery life has been fine until recently.
Having fun this week working on something new with HTML. I’ve built apps with a lot of languages and frameworks over the years, and HTML is still the best. JavaScript and CSS have come a long way.
Facebook → Meta. Mark Zuckerberg is clearly bored with his core product. But I’m kind of impressed that he’s willing to disrupt his own company with something different. It’s so broad a vision, though, the rest of us should probably focus on solving less abstract problems.
I was thinking a lot about how I track books in Micro.blog and what could be improved. I put together a quick survey to get your thoughts too: forms.gle/6mUbvsohR… 📚
It was great to get away to San Antonio over the weekend. Kind of felt like no one told the city there’s a pandemic. Here’s a shot from the Spurs game… Lucky to see Giannis up close for the first time.
A bit late but I just posted Core Intuition 485. Inching toward episode 500. We talk about Apple’s Tech Talks, new MacBook Pros, and revisit SwiftUI vs. Catalyst vs. AppKit based on what people are seeing with macOS Monterey.
Bought the Sony RX100 VII yesterday. Not really an impulse buy… I’ve been thinking about this camera for 2 years. No new Macs or other gadgets for a while.
I was inspired when I saw news about the Flickr Foundation to take another look at what Flickr has been up to since they were separated from Yahoo. I haven’t used Flickr much in years, but I know it remains popular with some photographers on Micro.blog.
In early versions of Sunlit, we let you browse your Flickr photo library and pick a photo to post to your blog. We removed the feature because the design was kind of backwards. I don’t want to post to Flickr first and then copy to my blog. I want to post photos to my blog first and then send a copy to Flickr, to share with followers on Flickr and to have an extra backup with a company that is committed to preserving web content.
Today we’re rolling out Flickr support in Micro.blog with that vision in mind. It’s enabled under Account → “Edit Feeds & Cross-posting”, just like sending blog posts to Twitter, Medium, Tumblr, and other services. As Micro.blog is processing your feed, when it finds a blog post that contains images, it uploads them to Flickr, including the title (if any) and text of the blog post.
It’s worth pointing out a couple things that this feature does not do:
In other words, if you already have a Flickr workflow that you like, you should probably continue to use it! This is for people who have a Flickr account that has gone unused, but who know there’s value on Flickr if only it was easier to remember to use it. Now there’s a simple way to save photos from your blog to Flickr automatically.
Dune is excellent. Watched it on HBO, but it must be great in the theater. It was only about a year ago that I read the book… Still need to read the others in the series.
Finished reading: The Library Book by Susan Orlean 📚
Ollie sticking his head out the window to bark. Makes me smile so I can’t even really be mad about the broken screen.
My favorite space to work outside when I’m downtown. Coffee at Lazarus Brewing. Mosquitos seemed to have finally left me alone too. ☕️
I dusted off my Flickr account and upgraded to Flickr Pro. What does this mean for Micro.blog? Details tomorrow.
Todays prompt for the Micro.blog photo challenge: sports! Tuned in to the first Spurs game of the season. 🏀
Sunlit 3.4.1 is now available in the App Store! This update adds sharing from the Glass iOS app and fixes several timeline problems, including crashes and refresh issues.
NBA day! It’s a good thing that I don’t know how to gamble on sports from Texas, because the over/under in Vegas of just 28.5 wins for the Spurs is ridiculous. Pop only needs 26 wins to have the all-time record. 35+ wins easy. 🏀
Enjoyed listening to the latest Micro Monday with @pimoore this morning while in the car. Pete and @Cheri are organizing a Micro.blog writers meetup too!
Day 2 thoughts on the new MacBooks… They look great. But I think the 13-inch MacBook Pro remains the best value in the M1 lineup. $1300 (13-inch) to $2000 (14-inch) is a big price jump. I’m gonna keep my 16-inch Intel for a couple years before going M1 Pro.
Drummer is a new outliner (with companion blogging system) from Dave Winer. As I’ve watched some folks on Micro.blog play with Drummer, I thought I’d take a look at how we could make it easier to use an outline in Drummer to write new blog posts for Micro.blog.
The result is an experimental feature in Micro.blog that adds support for creating or updating posts automatically from OPML files on the web. Write in Drummer, publish to a blog hosted on Micro.blog. There are a few moving pieces, so the best way to explain how it works is this screencast video I made (also available on YouTube).
I was fascinated to discover that when you look under the surface of Drummer, there’s the start of a Frontier-inspired scripting system too. I’m not sure where OPML support in Micro.blog will go from here, but this was fun to work on, and there may be more we can do with other outliners in the future.
Maurice Parker has a blog post exploring the differences between Drummer and his outliner Zavala. Over the years, outliners have gotten more feature-rich but also complicated. There seems to be a lot of potential for more lightweight outliners like Drummer and Zavala that can potentially talk to each other and to the web.
An important side effect of keeping Micro.blog as open as possible is that people sometimes move away to other blog systems, and often they move back, sometimes multiple times. This is how it should be! No lock-in. We’ll keep making Micro.blog more robust and adding features.
Busy start to the week! New Apple event soon. New experimental Micro.blog feature later this afternoon. New NBA games tomorrow.
Vincent’s blog post makes it official: there will be a Micro.blog app for Android! Expect the first version to be similar to the early 1.0 of our iOS app. It won’t do everything right away, but we want to get the basics out to give Android users a great place to start.
On yesterday’s Core Int, Daniel and I talked about the upcoming Mac event, new Micro.blog features, and my switch from AT&T to Verizon.
What I like about @dave’s Drummer outliner is that it’s unlike any other blog editor. It’s not going to work for everyone, but we need more experiments. Tool diversity is an open web strength.
We’ve updated our iOS app Wavelength with a couple bug fixes and improvements for Dark Mode.
Even just watching on TV, seeing a rocket launch and come safely back to earth… it’ll never get old. I love that William Shatner made it to space for real. Anything that gets people excited and funds more missions will help move things forward. 🖖
Little screenshot of something new we’re working on. I’ll have a longer blog post about it later this month.
We’ve rolled out a long-awaited upgrade to Micro.blog’s web text editor. You’ll see improved support for emoji on mobile, spellcheck, and dark mode, plus other fixes. If you notice any problems, please let me know.
Tough week visiting my uncle in the hospital. But even surrounded by sickness there is some symmetry and beauty just out the window. And inside, I’m inspired by the remarkable work of so many nurses. Heroes.
Yesterday was a whirlwind for me, taking care of personal stuff unrelated to Micro.blog, and I don’t think I really appreciated the 6-hour Facebook downtime until last night, sitting down to watch CNN. Mistakes happen, and I’m sympathetic to Facebook engineers who had to scramble, but this is the cost if you want your platform to have 3 billion users and essentially be the web for so many people.
Facebook is (obviously) too big. Their week is about to get worse, with whistleblower Frances Haugen testifying in Congress today. It feels like the culmination of years of reputation-destroying bad PR on privacy and misinformation.
In 2018 I blogged that breaking up Facebook is up to us. Facebook’s business is more fragile than I even realized. Their problems are baked into the product design, maybe unfixable at this extreme scale.
Yesterday the world got a glimpse of what 6 hours without Facebook and Instagram looks like. It was disruptive for many businesses and many friends just trying to connect… but it was also fine. More like this, please.
I disabled the “Show color in tab bar” pref in Safari after reading @gruber’s article about Safari tabs and it makes a huge difference, fixing getting lost in which tab is frontmost. Tabs should really be a solved problem by now, consistent across apps without these experiments.
Finished reading: The Name of the Wind by Patrick Rothfuss 📚
iPad Mini, trains, engineering, old podcasts… On the latest episode of @coreint: the Accidental Train Podcast.
Amazing that Rogue Amoeba has been around for 19 years already… Time flies. 19% off today to celebrate if you need a little extra incentive to grab some great audio apps.
Tomorrow is the October photo challenge! I haven’t seen any of the prompts yet so it’s going to be a surprise to me too. It’s a great way to unlock the “30 photos” pin, but also just have fun with it, no pressure.
I’ve collected all of my 30-day blog posts into a book, which I’m going to include as a bonus for Kickstarter backers in the “print edition” tiers. It was a great way to test out the format for Indie Microblogging. You can download the PDF here for free.
This is supposedly the first mural still standing in Austin, Creation painted on the University Baptist Church in 1950. Seems a fitting way to wrap up this series of 30 murals. The artist, Seymour Fogel, also studied under Diego Rivera.
A few of the murals I had hoped to visit have since been painted over. Murals are inherently fleeting. Even the best murals are always at risk of graffiti or new construction. Artists know this, but they put their mark on the city anyway, a gift for us to admire and capture in photos before everything changes.
In Texas today on a range of issues, change takes a step back before moving forward, but we’ll get there. “So I think the side that wants to take the choice away from women and give it to the state, they’re fighting a losing battle. Time is on the side of change.” — Ginsburg
Threadgill’s had a long history in Austin, and we have good memories of eating there and seeing live music. Both Threadgill’s restaurant locations are now closed, but the mural on Riverside remains.
Believe it or not, it’s October on Friday. Not sure where September went, but the good news is that it’s time for another photo challenge. @jean is compiling a list of prompts to inspire the daily posts.
On the side of the East Austin Hotel on 6th, by Jason Eatherly. Inspired by the book Be Here Now by Ram Dass. Winding down the mural series, only a few days left, and still discovering more murals than I could possibly include.
This might seem like a distraction or procrastination technique, but bear with me here. @patrickrhone’s talk at Micro Camp must’ve been sitting in the back of my mind because I realized I should collect my 30 day series — coffee shops, libraries, parks, and murals — into a book. I’m using it as a trial run for the print layout for Indie Microblogging, experimenting with the size, fonts, footnotes, etc.
After I finish the final week of murals, I’ll send a copy off to IngramSpark for printing. I’m actively editing Indie Microblogging and feel good about wrapping it up this year. If everything turns out well with 30 Days, maybe I’ll include the book as a bonus for Kickstarter backers at higher tiers too. We’ll see.
There’s a long stretch of great murals on both sides of North Lamar under the bridge for 3rd street and the train. I took a bunch of photos and it was hard to pick just one to feature. This segment is by Luis Angulo, and there’s a web page here with more about the project.
Sad to see this news that a train derailed in Montana. When talking to @danielpunkass on @coreint 481, I had “joked” about derailing and regretted it when I listened later… Almost cut it but decided to keep it in, then saw this news just a few hours after editing the show. 🙁
Busy last couple days and finally got episode 481 of Core Intuition posted. We talk about @danielpunkass ordering the iPhone 13 Pro, standalone cameras, and Amtrak trains.
I debated including this because it’s words, more spontaneous graffiti than mural. But it’s well-loved in Austin and has a history perfect for SoCo. Musician Amy Cook wrote it for her partner and owner of Jo’s Coffee. It’s grown into something more, like a love letter to anyone.
This used to be an exotic pets store on Burnet Road. Years ago when my son loved snakes we had a great time visiting. The store is gone now but the beautiful mural remains.
“The purpose of life is to live it, to taste experience to the utmost, to reach out eagerly and without fear for newer and richer experience.” — Eleanor Roosevelt
Wonderful cool weather in Austin continues. Sitting outside working at Patika on South Lamar. Hoping to wrap up some text editor improvements in Micro.blog. ☕️
Another popular mural in Austin. As the state flower, surprised the bluebonnet doesn’t make an appearance in more murals.
Part of the discovery process of finding murals is learning more about local artists like Federico Archuleta. I knew next to nothing about the mural scene in Austin before starting out. Each painting is an opportunity to get lost down a rabbit hole of web searches.
It’s just about time for another photoblogging challenge! @jean has the details here and where to send suggestions for prompts. Starting October 1st.
Bumble mural at 6th and San Jacinto. I’ve found that some of the best commissioned murals are “on brand” but also just great paintings on their own, incorporating bits of Austin themes.
Updated my murals page with larger, left-aligned thumbnails. Have I mentioned how much I love having a blog? Only a dozen days left in this series… Starting to finalize the last murals I want to visit.
Legendary mural on the drag. Walking around here takes me back to being a student. So familiar despite how much has changed.
We have a brand new web site for Micro Camp, designed by @vincent! It better showcases the speakers and links to the session videos. Already talking about what a Micro Camp 2022 might look like.
I still consider this part of Austin, but technically a little farther out at Milburn Park. Cedar Park had an open call for muralists to paint this wall a couple of years ago. Nice way to incorporate the door into the design.
This post on Kotaku (via @jack) makes some good points. When too much content is lost in chat history, the web gets a little worse. I’m happy that we went the opposite way and moved from Slack to forums.
On Core Intuition 480, @danielpunkass and I react to Apple’s September event, talk about the latest Sunlit update, getting things done, and the pros and cons of paying a little or a lot for hosting.
I’m halfway through visiting 30 murals in 30 days. This has taken a little more driving around than I first expected, because I want to include popular murals that are nowhere near my house. Turns out it’s a good way to learn new bits of Austin history.
A small part of a mural that stretches along the Planet K on 183. I drive by this often and glad to see it last so long.
Watching the Apple event, of course. iPad Mini looks great, and I would’ve bought this if it was available when I got my iPad Air earlier this year. Same basic design as the Air, just more convenient for what I use it for: e-books, web, chat.
Sunlit 3.4 is now available in the App Store. For this update, we focused on improving the timeline experience, cleaning it up so that it better focuses on photos and viewing conversations. There are a bunch of little changes that together make the app feel much more responsive and easier to use:
The blurred photo placeholders are done with BlurHash. Whenever you post a photo, Micro.blog calculates the BlurHash for it and includes that value in the /posts/media JSON Feed so apps like Sunlit can use it.
Remember that the Micro.blog iOS app also supports sharing photos from Glass, and those photos will show up in Sunlit. I’ve been using Glass in addition to posting to my own blog for my murals photoblog series this month, and some of these improvements in Sunlit 3.4 are partially inspired by the UI polish in Glass. This is the best version of Sunlit yet.
So happy. This model train is now ours… Just needs a little love and wiring to bring it back to life. N Scale.
20 years ago, listening to NPR when the story cut out and they broke in with the news. Wondered how widespread the attack was. Should we go to work? Take our daughters to day care? A lifetime ago, they are 21 now. Glad we’re out of Afghanistan… Time to turn the page. 🇺🇸
Big news for Epic and all iOS developers. The judge clearly put thought into this and made a reasonable, defensible compromise. It’s not everything Epic wanted, but it’s a great step forward.
Micro.blog automatically redirects old feed URLs from other blog systems, but that was broken the last couple of weeks. If you still had RSS subscribers from an old site, you may have noticed a backlog of posts go through RSS this week. That hit my blog too.
Victory Grill on 11th, originally opened at the end of World War II with dining, blues, and jazz as African American veterans returned to a segregated Austin.
We rolled out some improvements to the Dark Mode version of Micro.blog on the web, based on feedback over the last week. We’ll continue to tweak things.
Another day, another mural. East 6th on the side of Whisler’s, by Federico Archuleta.
Starting the morning with coffee and breakfast tacos at Lazarus Brewing. Great space with lots of outside seating too. ☕️
Quiet morning on the UT campus because no classes. Working for a bit at Lucky Lab Coffee before walking around for the next mural photo. ☕️
Happy with the way my simple murals page is shaping up. I’m adding little thumbnails for each post, letting Micro.blog do the resize and caching.
Day 4 of murals. South Congress is too crowded. I grew up not that far from here and kind of miss when it was just a normal street and not a tourist destination.
Enjoyed talking with @danielpunkass about the latest App Store controversies on Core Int. Here’s a clip near the end of the show where Daniel digs up an old blog post of mine predicting the never-ending approval problems as long as Apple completely controls app distribution.
Finished reading: Elantris by Brandon Sanderson. Not often that I finish 2 books in the same day, but I’ve been alternating both audiobooks and e-books over the last few weeks. Loved this and couldn’t put it down tonight for the final chapters. 📚
Just posted Core Int 478: MarsEdit 4.5 and all the latest App Store settlement news.
Finished reading: The City of Dreaming Books by Walter Moers. 📚
This used to be a Tower Records, and before that a theater. It must be one of the oldest remaining murals in Austin. Sadly, the mural that was across the street — painted by the extraordinary artist Doug Jaques who I used to take life drawing lessons from — is gone.
Only the 3rd day of visiting murals in Austin and I’ve already hit one on my list that has been painted over. Detoured to another option.
For day 2 of visiting 30 murals in 30 days, I’m in south Austin. Picked up coffee at Mañana first but it was too crowded to stay to work. ☕️
Congrats to @danielpunkass on MarsEdit 4.5! Big update with features for WordPress but also improvements that apply to Micro.blog too.
I’m starting a new project in my 30 days series. Murals! Each day, I’ll visit a mural and take a photo. For the first one, this wonderful and silly and somewhat famous (in Austin) mural. 🧈
Fixed a few things in the Ink theme. You can upgrade by clicking Plug-ins → Find Plug-ins → Upgrade. We’re going to move all the existing themes into plug-ins so that it’s easier to manage and scale to lots of themes contributed by people in the community.
We updated the Micro.blog app for macOS today with the following changes:
Choose “Check for Updates” to grab the latest version.
We’re also hearing feedback about the new Dark Mode support for the web version of Micro.blog. I’m excited that we rolled this out and we’ll continue to update it as-needed. I don’t usually run Dark Mode on my Mac, but I’m living with it this week so I can better test everything.
Dark Mode for Micro.blog on the web is ready! Huge thanks to @vincent for doing this work and updating all the little bits of HTML and CSS so that everything is readable. We plan to still tweak some of the colors and buttons as we live with it more.
I’ve fixed the “squished photos” problem in the new Ink theme. It’s now in a plug-in so it’s easier to install. Click Plug-ins → Find Plug-in. Also, clear your default theme by setting it to “Blank” under Design.
Had to wait a little while at the dentist. Listening to all the calls the front desk takes for people rescheduling appointments makes me feel pretty bad that I also tend to postpone appointments, sometimes with little notice. Going to stop doing that.
Just posted @coreint 477: AppKit Is The Only Way. Our take on the 1Password 8 beta, the confusing state of Apple frameworks, and whether Daniel is close to shipping MarsEdit 4.5.
This headline in the Washington Post (“major concession”) is wrong. There is nothing major about this… It’s hardly a change at all. Sending emails has been a gray area but we’ve been doing it because Micro.blog can’t function without some basic emails.
My hopes for the Spurs this season: make the playoffs, Pop gets all-time most wins as a coach (only 25 wins away), retires having lead this young team back to the playoffs and USA to a gold, announces that Becky Hammon will take over next year. 🏀
As an animation fan, one of the silver linings with COVID is having access to so many virtual events that previously would be in-person in Los Angeles or elsewhere. Wonderful talk and Q&A with Andreas Deja just wrapped up. Also reminded me that he has a great blog.
There’s now a special pin for Micro Camp! I’ve unlocked it for anyone who registered on Vito and set their profile to public, if the email address or username matches on Micro.blog. If you don’t see your pin (linked from the Account page), lemme know. 🏕
Butterfly joining me at the coffee shop. Working outside for a bit after an appointment nearby. There’s a new Summer Moon in Steiner Ranch. ☕️
Great episode of The Changelog with @aaronpk. The first half is a discussion about tracking our location and the IndieWeb. Pretty accessible to anyone interested in having their own web site. The 2nd half is more technical with OAuth details.
Got my Micro Camp sticker! They turned out great. Thanks @Burk! 🏕
I updated the Hugo theme Ink for Micro.blog. Needs a little more testing before I put it in the defaults, but you can create a custom theme and copy it from GitHub if you want something new to try.
More server deployments today. There were a couple hiccups yesterday and this morning after our server improvements. Hopefully the glitches are behind us and it will be smooth sailing for the rest of the year.
Lots of nice RSS in the new members-only subscriptions from MacStories. Interesting how different publishers approach building new tools… MacStories stuck with Memberful but built their own blog. Stratechery stuck with WordPress but built their own subscription management.
We’ve updated our YouTube channel with several more videos from Micro Camp. 📺
I know you can’t rush science, but… finally. The New York Times:
The Food and Drug Administration on Monday granted full approval to Pfizer-BioNTech’s coronavirus vaccine for people 16 and older, making it the first to move beyond emergency use status in the United States.
We’ve finished a server upgrade for Micro.blog-hosted blogs. It’s now backed by the Caddy web server and includes a few other improvements. The big changes for Micro.blog are:
If you are hosting on Micro.blog, you don’t need to do anything. All blogs have been upgraded with these improvements.
If you notice any problems, please let us know. We’ve been rolling this out slowly over the last few days to avoid rate-limiting with new HTTPS certificates. If you are using Cloudflare in front of Micro.blog, you will need to disable Cloudflare’s request proxying so that Micro.blog can finish setting up the secure version of your site.
We just posted episode 476 of Core Intuition. A review on how Micro Camp went, why @danielpunkass shipped Touché, and the latest Micro.blog update for iOS with Glass support.
Micro Camp has wrapped up, but there are IndieWeb online events about once a month. I’ll be attending the IndieAuth popup session next week!
This week I learned that ZeroSSL — which is compatible with Let’s Encrypt — has no rate limits. Doesn’t matter for “normal” blogs but for hosting services like Micro.blog, this is really nice.
We’ve started mirroring the Micro Camp videos to our YouTube channel. There are a few up now, and more will follow in the next couple days. We’ll update the web site later so that everything is in one place at micro.camp.
Funny to think back to the early prototypes of Micro.blog, which couldn’t store photos. I was worried about the hosting costs and scaling problems with photos, not to mention video or audio. Now photos is a big part of what we do.
Love the way the new Sunlit beta is coming together. We were inspired by Glass to revisit clunkiness in our own app. The new version looks familiar but is simpler and more clear.
When the 1Password 8 beta hit, I installed it briefly and gave it a superficial look to see what the fuss was about. I re-installed it this morning to really use it, adding my family and Micro.blog team accounts. It’s actually quite good!
I switched manton.org over to one of the new servers to make sure everything is running smoothly before we flip the switch later this week. The new publishing has a couple improvements that should make things faster, as well as improve redirects between domains.
Biked up to the coffee shop to work. Can’t find my lock so just set it outside the window where it’s easy to see.
Hit a nice milestone today testing the new static server infrastructure (based on Caddy) for hosted blogs. We are pretty much ready to go and will be rolling over to the new system in the coming week. It’ll be a big win for automatic HTTPS and redundancy.
We watched some of the epic, hours-long Round Rock ISD school board meeting last night. Both depressing and inspiring. Happily surprised that they are requiring masks, even if there are exceptions. Tell people to wear a mask and I think most people will. 😷
In the Q&A at Micro Camp, we answered a question about who the next 3 people we’d like to hire would be. My list had a system administrator at 3rd… Might need to bump up that priority after dealing with a server failure today.
I’m always paying attention to new platforms that pop up, especially when there is some overlap with Micro.blog. The iOS-only photo sharing app Glass launched last week as an interesting alternative to larger social networks. Today I’m announcing a new version of Micro.blog with special support for Glass.
Glass has no public API or web version, but it does have a way to share a simple web page of your photo. We’ve leveraged this so that you can take one of your Glass photos and send a copy directly to your own blog.
Here’s a quick screencast video showing this feature in action:
This might look normal enough, but because Glass shares a web page URL instead of the photo, if you use any other app you’re just going to get a link. Micro.blog downloads the HTML, parses it looking for the photo URL and caption, then moves that into a Micro.blog post. The new photo is hosted on your blog, with your own domain name if you have one.
Glass is so new that it remains to be seen where the app will go, and how it might expand in the future. It shares some of the same principles as Micro.blog — no ads, no algorithms, no likes — but Glass lacks important open web features like domain names and IndieWeb APIs.
I’ll always prefer posting photos to my own blog instead of a silo. We do need more social networks, though, and any attention that can be pried away from Facebook and Instagram is a win. Best of luck to the Glass folks.
I really like what I’ve seen of Josh Primo in the NBA summer league. Spurs picking him 12th now looks like a great choice. If he plays in Austin before finding time in San Antonio, might need to get G League tickets again. 🏀
At Micro Camp, I hinted at some new features coming for Sunlit. As @cheesemaker and I work on it, we’re opening up the TestFlight beta again. You can sign up here. (Nothing new yet… This is just to get the beta ball rolling again.)
It might seem a long way off, but one day I’m going to load the New York Times home page and there won’t be anything about COVID on it. No daily numbers. No maps. We have the tools for this to pass. 😷💉
Thanks again everyone for participating in Micro Camp! The videos are available on Vito if you missed anything. We’ll probably copy them over to micro.camp at some point too. ⛺️
I need to watch this session from @patrickrhone: Want to Write a Book? You Probably Already Have! Thanks everyone who has joined us at Micro Camp! Reminder that sessions are broadcast live and will be available to rewatch later.
Good morning! We’ve got the live stream up for Micro Camp day 2. We’ll start with a meditation session led by David Johnson, then sketchnotes with Chad Moore and Chris Wilson at 7am PDT. I’ve also posted an audio version of yesterday’s intro session with Q&A in Vito.
Hemispheric Views is live now to wrap up the first day of Micro Camp!
We’ve added the latest 2 sessions to the Videos section for Micro Camp: “Open for Inspection”, @Miraz’s session about using the web inspector to customize your blog, and our developer discussion panel with @samgrover, @danielpunkass, and @vincent.
Technical difficulties at Micro Camp with the audio. Happy Friday the 13th! I guess this is why I do podcasts and not live-streams. 🙂
We’ve got the slideshow up on the Micro Camp livestream with art, photos, and music from the Micro.blog community. We’ll keep this playing in a loop when there aren’t other sessions going on.
Hot off the presses! A new Core Intuition with final thoughts getting ready for Micro Camp today, and @danielpunkass pivoting on his work priorities to ship an update to Black Ink.
Finished reading: Project Hail Mary by Andy Weir. Ended up listening to the whole thing on audiobook. It was fantastic. 📚
Jean has posted the schedule and RSVP details for the informal meetups during Micro Camp. Each meetup is going to be small so everyone joining has a chance to chat if they want to.
We’re going to use @news for announcements about Micro Camp if anything important comes up during the event.
Do you have any questions or feedback about Micro.blog for me and @jean to answer live during Micro Camp? You can send them to us early and also comment in Vito during the event.
Over the weekend, @cheesemaker and I were tinkering with adding location check-in support to Sunlit. Because it’s open source, you can follow along with the commits in this branch on GitHub if you want. Not totally functional yet.
Free iced coffee and snack while I wait at the Honda dealer to have our car checked out. Battery died unexpectedly this morning and seemed glitchy.
Finished reading: Made to Stick: Why Some Ideas Survive and Others Die by Chip and Dan Heath. I listened to the audiobook version of this. Lots of good lessons that we could apply to how we talk about Micro.blog. 📚
Micro Camp will have stickers! Thanks so much to @Burk for coordinating the design and printing. Can’t wait to put one on my laptop. When you register for Micro Camp, there’s an “Offers” section to sign up to get a sticker too.
Updated the micro.camp web site with session titles and registration link for Vito, which we’re using to handle the live stream and comments. Hope to see y’all on Friday!
Just sent an email out to folks interested in Micro Camp with more details about the sessions.
Jean has a longer post today about the new survey and what we’re hoping to do to facilitate some conversations during Micro Camp.
Up early enough to watch the end of the bronze medal game. Congrats to Australia! I’m gonna miss Patty Mills in San Antonio. 🏀
Gold for USA basketball. I’ve loved watching this team get better with each game. Especially happy for Pop. 🥇
Planning to attend Micro Camp? We have a quick survey to help prioritize topic meetups between other sessions. Thanks! Full schedule coming on Monday.
Core Int episode 474 is out! We talk Micro Camp, domains, marketing, and @danielpunkass’s impending battle with The New York Times.
We’ve updated our Instagram-like photoblogging app Sunlit with a couple bug fixes. If you ever had any slow photo uploads or timeouts, I think we finally solved that! Grab it on the App Store.
Micro Camp is in one week! I didn’t think we were going to have this fun domain name too, but it came together at the last minute and I love it: micro.camp
Every few years I price Amtrak routes for potential upcoming trips. May not be possible right now, but thinking it would be a great way to get some uninterrupted writing done. So hard to find the time to focus.
We’ve updated the Micro Camp web site with the speaker list and panels. Coming up in about a week and a half! If you’re interested, make sure to add your name to the email list so you’ll get a registration link when it opens up.
Finished reading: Mistborn Secret History by Brandon Sanderson 📚
Micro Monday is back! Episode 101 features @jasraj, who will also be speaking at Micro Camp.
The latest episode of @coreint is out. We talk about what product @danielpunkass is going to focus on shipping, accidentally making Black Ink 2 free, and then follow up on working with @vincent on Micro.blog.
Micro Camp is 2 weeks away! Just announced: more speakers and a special logo for the event.
If I have to accept cookies one more time I’m going to lose my mind. What started as a well-meaning privacy initiative has made the web worse. Enough already.
I’ve been wanting an electric bike for years but the nice ones are way out of my budget. Finally had enough of the hills in our neighborhood making me never want to ride, so picked up this less expensive bike from Walmart and love it. Game changer. 🚲
Don’t forget to sign up on our list for Micro Camp. We’ll be sending a quick email before the conference goes live with (free) registration details. Just a few weeks away!
In other basketball news, congrats to the USA 3x3 women’s team on winning gold. This is a fun addition to the Olympics. Half-court, 12-second shot clock, quick games. 🏅
I’ve been rolling out little bug fixes and improvements this week, which always feels good. Background logging is now linked under your Account page. Also some of @vincent’s work is starting to show up, such as better favicons you might notice in Safari or the iOS home screen.
Stayed up to watch the first half of United States vs. Iran basketball last night, but called it a night when they were up 30 points after midnight my time. Great to see the team play up to their potential. 🏀
Sports can be beautiful, exhilarating, and heartbreaking. Hope everyone in Tokyo is proud of how far they’ve come. Can only imagine how difficult it is. 🏅
Increased the font size in Terminal a couple points. Am I getting old? I could read the small font fine, but realized there was no point in keeping it so tiny for what I’m usually doing.
Renewed my TSA PreCheck registration. Which is weird because after the stress of flying last month, I really don’t feel like flying anytime soon. Eventually, though.
I forgot how fun manual transmissions were to drive. It had been 25+ years and I picked it up like it was yesterday. (My son now has an old Honda Civic.)
Watching USA vs. France. NBC wants you to subscribe to Peacock to get all the basketball games live… Fine. Expect they’ll have a lot of cancellations after the Olympics are over. But nice not to have ads. 🏀
I’ve updated status.micro.blog to add a check for the Micro.blog-hosted blogs (represented by our news site), so that it can better catch problems like we ran into last week.
After a few months fully vaccinated and feeling invincible, I’ve mostly gone back to wearing a mask indoors. Also, when someone starts coughing at the coffee shop, that’s when I pack up my laptop to head home. Let’s get more people vaccinated and get through this Delta wave. 🙁
For Finish Friday today I’m wrapping up some server development work and merging in @vincent’s changes. Major milestone to have some non-@manton code running on the servers.
Daniel and I talk about “Must-do Monday”, our different approaches to shipping apps, and the recent Micro.blog downtime on Core Intuition 472. Thanks for listening!
Vincent Ritter shares his side of the story on his podcast Abstract Development: Welcoming Micro.blog.
To pair with my post about downtime, I thought I’d share our current Linode servers. Some people ask us about this kind of thing, and I know I love reading about how other platforms are set up.
My server naming theme for Micro.blog is the Disneyland Railroad. Servers are named after locomotives, people who inspired them, or theme parks. Fort Wilderness in Orlando, which used to have a train back in the 1970s, is the server that failed last night and is still offline.
The only server that doesn’t get a name is Discourse, because I don’t really enjoy hosting it and hope to shuffle it off somewhere else eventually. We also use Linode’s load balancers, object storage, and Amazon S3.
Thanks to everyone who has a Micro.blog paid subscription. Your support allows us to add new servers when we run into problems and make everything more stable and fast in the future.
Yesterday’s outage was the worst downtime we’ve ever had for Micro.blog-hosted blogs. I designed the architecture to separate the main platform from hosted blogs, so that all the complex moving pieces of the platform — databases, the API, multiple servers — couldn’t affect performance of your own blog. This has worked out so well over the years that it has made me lax about planning how to recover quickly from worst-case scenarios.
So what happened? We noticed some performance issues and glitches, with unusually high CPU usage. On reboot, the disk check failed, and I was unable to repair it. To make matters worse, I could not recover from the latest backup because Linode’s backup service was also down for unscheduled maintenance.
As I wrote in more detail a few months ago, we store important files like photos in multiple places so that if disaster strikes we can still rebuild your blog. With the backups down, I set out to do that kind of rebuild, but I had never done it on quite that scale before. One problem I had overlooked is how long it would take to update HTTPS certificates for custom domain names.
After a few false starts, I scrapped that restoration work when Linode’s backups came online, and was able to more quickly get everything back up and running. I learned a lot, and Vincent and I will be talking through some next steps to make this more robust. I never want to go through an extended outage like this again. I’m very sorry it happened and I’m thankful for everyone’s patience.
I’ll be keeping an eye out for any lingering problems. Please reach out to help@micro.blog if you notice anything that looks wrong.
Usually I think it’s good to have fewer places for filing bugs, but now that the iOS and macOS apps are open source, we’re going to use GitHub more. I’ll be moving some old issues around. Just wrote this help page with details of the various repos.
In part because of this post at Six Colors, I started using Backblaze again. Years ago, I was using it and my credit card expired, but I missed the reminder email, causing them to delete all my backups. I was so frustrated that I refused to sign back up. Time heals all wounds.
It has been a while since I’ve given JSON Feed much attention. Deployed an updated version of the validator today with better support for JSON Feed 1.1.
Micro.blog for iPhone and iPad has been updated today with a handful of bug fixes:
Happy blogging! You can grab it in the App Store.
Time to read Rhythm of War. The longer I put off reading it, the more daunting it started to seem. Also got the e-book at the library for whenever 1100 pages isn’t convenient to have with me. 📚
Fixed some profile photos loading in the Micro.blog timeline in the apps. I thought it was a caching problem that would fix itself, but it was actually a new bug interfacing with Gravatar. All good now.
Absolutely nothing was on my calendar today. No reminders. No events. No errands to run. Woke up early and working at Lamppost Coffee on Micro.blog server maintenance… because apparently that’s the exciting stuff I do on my day off? ☕️
Finished reading: The Midnight Library by Matt Haig 📚
On the latest episode of Core Intuition, we talk about why I reached out to Vincent to help with Micro.blog, working with other developers, and Daniel’s new Must-Do Monday strategy.
Lots of basketball news swirling around right now in addition to the finals. I can barely keep up. Excited to see Keldon Johnson get promoted to the USA team. 🏀
Vincent Ritter is the developer behind the excellent Gluon, a Micro.blog app for iOS and Android. He has been a long-time member of the community and helped push the Micro.blog API forward. As we look to all the things we want to do this year, I’m excited to announce that Vincent has agreed to join us as a part-time contractor to help me on the Micro.blog backend code.
This complements our announcement that all the iOS and macOS apps have been open-sourced. Having another set of eyes on the larger web platform behind Micro.blog will help us scale it as we grow the community, and Vincent’s experience developing third-party apps will make sure we don’t overlook improvements to the API that can benefit all apps.
But wait, is this like when Twitter acquired the third-party iOS app Tweetie, making it the foundation for Twitter’s own native app? Are we taking over development of Gluon? Nope. Vincent may help with the official apps in the future, but Gluon will continue as an independent project with the same access to the API as any other app.
It’s an important part of Micro.blog that there is an open API and a diverse set of third-party apps. Our business is simple — no ads, just pay for blog hosting if you want to — so we don’t need the official app to solve every problem or discourage third-party apps. Where we need help is improving the foundation of Micro.blog, the web interface, and expanding the API to make all apps better.
Vincent will also be joining us on a panel at Micro Camp — along with Daniel Jalkut and Sam Grover — to talk about developing for Micro.blog.
Thanks Vincent for your support of Micro.blog and for jumping into the server codebase!
Whenever I dip back into programming with AppKit, I really enjoy it. I’ve probably spent too much time considering Catalyst and even Swift UI. The years-old APIs are still pretty good.
Version 2.1 of Micro.blog for the Mac is now available. This release includes the following changes:
And don’t forget, the app is also open source. We’ll be talking more about development with the Micro.blog API at Micro Camp next month.
This should be the last beta of Micro.blog 2.1 for macOS. You can download it here. It features a new Discover emoji pop-up! Finally.
Because of a networking slowdown at our hosting provider, some of the profile photos in the timeline may appear blank or gray. I’ll be keeping an eye on things and re-enabling missing profile photos when things are fast again.
Looking forward to the IndieWeb Microsub API pop-up session in a couple weeks. Micro.blog already supports Microsub but there’s more we could do.
Going to be an exciting week for Micro.blog. Ramping up Micro Camp planning and have some other great news to share soon.
Finished reading The Bands of Mourning by Brandon Sanderson. That’s it for the Mistborn series until the final book in the 2nd era is out later this year. 📚
Usually I work on features in short sprints and ship them out to everyone as soon as they are ready. Days or weeks, not months, unless it is a major overhaul that touches all pieces of the platform. For Micro.blog 2.1 for macOS, I set out to add some export options directly to the app, and it has proven to be a bit of a slippery slope… If there’s Markdown export and Day One, might as well add Blog Archive Format and WordPress too. And if there’s export, what about import?
But importing and exporting are already part of Micro.blog on the web. We support importing from WordPress, Medium, Tumblr, Ghost, Markdown, and others. It doesn’t make sense to recreate all of those in the native app, unless there’s an advantage to running locally like for our Instagram import on macOS.
This is all a long way of saying, I’m keeping 2.1 in beta while I continue to work on this and test it. Your milage may vary, make sure you have backups, etc. You can download the latest beta here.
Micro Camp is about a month away! We’ll be announcing more details soon, probably later this week. Make sure to sign up on the announcement list to stay in the loop.
Another photo from exploring downtown last night. We did something we never do: a guided tour in our own city! A walk through the 1880s Austin murders, highly recommended for true crime fans or anyone wanting to know some weird Austin history.
Sunlit 3.3.1 is now available with several bug fixes: improved scrolling performance, an iPad sidebar fix, and photo scaling when posting that’s more consistent with the main Micro.blog app.
On the latest episode of Core Int, @danielpunkass and I talk about working while traveling, “workations”, sponsoring podcasts, and why advertising on Twitter or Facebook never feels right.
I’m honestly still on the fence about whether I prefer Swift or Objective-C. Swift is so much nicer and cleaner, generally, but then I go back to old Objective-C and love how easy it is to sling code around without the compiler complaining about every little thing.
My name is very uncommon, so it’s weird that there’s a character named Manton in The Bands of Mourning that I’m currently reading. Also still need to visit Manton, Michigan one of these years. 📚
Here’s the first beta of Micro.blog 2.1 for macOS with a couple new export options: Markdown folder and sending posts to Day One. Choose File → Export. To run the export, it downloads all your photos and other uploads locally, so it’s good as an extra backup.
I don’t think I say often enough how thankful I am of everyone who gave Micro.blog a chance. Your posts, your kindness to other folks in the community, your questions, your patience. I still believe as much as ever that we can make the web a little bit better together.
Now that Micro.blog for macOS is open source, I guess you can see as I work on new features. Wonder if this will change how I approach development. Currently setting the foundation for export to Markdown folder and Day One.
Happy 4th, America. We had an early fireworks show at Mount Vernon for our DC trip… Here’s a quick video from last week. Soundtrack was on the speakers at the event! 🇺🇸
Finished reading: Shadows of Self by Brandon Sanderson 📚
This is a useful script from @aaronpk to export data from Foursquare and (optionally) import it into a blog via Micropub. It should work with Micro.blog. Just having all the data exported is great too.
Very impressed after a few days of testing the Caddy web server. I’m planning on moving a few test blogs to use it and if things go well, likely will migrate Micro.blog-hosted blogs because of how much easier it will make custom domain names and HTTPS.
I’m now tracking the books I’m reading in Italic Type in addition to Micro.blog. Lots of potential to use their “book board” feature to take notes while reading, some of which could later turn into posts on my blog.
On this week’s Core Intuition, @danielpunkass and I talk about open-sourcing the Micro.blog apps, hesitancy with putting our work out in the world, how open source relates to our legacy, and why simplicity can be a competitive advantage.
Tried twice but still can’t get Foursquare to successfully export any data. Meanwhile, the founder blogged this week that he’s left the company. I think we’re going to add check-ins back to our app Sunlit. Location was part of 1.0 (and 2.0) but was removed with the rewrite.
Great idea from @ajennische:
I’ll start with posting a picture that shows where I am right now in this particular moment. I also write a short post telling you what I appreciated the most with this day so far. Then it’s your turn to do the same.
As we’re getting closer to Micro Camp in August, drop your email address over on our announcement sign-up form. We’ll use that to send out a reminder email when the schedule is finalized and again on the conference day.
There appears to be an intermittent problem with photo uploads this morning. Looking into it and hope to have it resolved soon.
I’ve been thinking a lot lately about the longevity of Micro.blog and where we need help to continue to grow the platform and community. As we approach 4 years since the public launch, there are some parts of the platform and supporting services that should be shared more widely, so that I’m not the bottleneck on every little change.
As a next step, all the native apps for iOS and macOS are now open source, available on GitHub:
Note that the projects started as private repositories without the intention of lots of people seeing them, so the usual disclaimers apply: the project structure might be confusing, the code a little messy, and maybe not everything will work perfectly without some tinkering.
I’ll have more to write later about how we want to grow Micro.blog this year. In the meantime, enjoy the code! MIT license, so there’s plenty of flexibility to use it however you’d like.
Micro.blog for macOS has been updated to fix several bugs and improve post search. See the help center for version history and a download link, or choose “Check for Updates” to get the latest.
Finished reading: Alloy of Law by Brandon Sanderson 📚
Starting to import my recent Swarm check-ins from our trip to DC into Manton.coffee. This is a special blog hosted on Micro.blog with a tweak to the theme to use location data. I blogged about how this works back in 2019.
So busy with travel last week that I haven’t even had a chance to listen to the latest episode of The Pen Addict, but I’m really happy that we’re starting to sponsor the show and welcome more listeners to Micro.blog.
This has been the morning routine this week. Picking up coffees at Ebenezers for our last day in DC. ☕️
After a mixed up trip getting here — cancelled flights, driving to Dallas, last-minute hotel, and flying into a different airport — it was great to take some time to explore around DC.
Congrats to @samgrover on the update to Mimi Uploader, for quickly uploading multiple photos on iOS. Now with a tip jar so you can send a little extra thanks for him supporting Micro.blog.
Sunlit 3.3 is now available! It adds iOS widgets so you can show recent photos from your timeline or Discover on your home screen.
Thinking about the NBA games that happened over the weekend… Wow. My guess is Suns/Bucks in the finals, but all of my predictions this season have been wrong so far. 🏀
When I heard Stacey Abrams had a book called While Justice Sleeps, I assumed it was nonfiction based on her extraordinary work on voting rights. Nope, it’s a novel! So cool.
Finished reading: A Man Called Ove by Fredrik Backman 📚
We are wrapping up a new Sunlit release with bug fixes and widgets support. I still haven’t fit widgets into my home screen, but it’s fun to play with in Sunlit to show recent posts from the timeline or Discover. It’ll be submitted to Apple soon.
Glad that Juneteenth is now a national holiday. I’m going to have to seek out this mural next time I’m in Galveston.
On this week’s Core Intuition, @danielpunkass and I talk about the public beta of his Black Ink for iOS.
Micro.blog 2.1.1 for iOS is now available. Bug fixes and a few new keyboard shortcuts for iPad.
Since launching the bookshelves feature in Micro.blog on the web, I’ve been wondering whether we should build a native interface for this in the Micro.blog app. My answer: no. Books are so unique that it feels like they need a dedicated app, just like there is a native app for Goodreads on iOS and Android. Native apps could make it easy to quickly mark a book as “finished reading”, or provide fun features like barcode scanning from the phone camera.
You can make a pretty strong case that we already have too many official iOS apps: Micro.blog, Sunlit, and Wavelength. Books seems like a great third-party opportunity instead.
I’ve documented the bookshelves API in the Help Center. It can do most of what Micro.blog on the web does, with the notable exception of book search. If you are building a books app, you’ll need to “bring your own” book search from Open Library, ISBNdb, Google Books, Amazon, or wherever.
A theoretical app built on Micro.blog could let the user sign in with their Micro.blog account using IndieAuth. Then the app could get the user’s bookshelves, add new books, or post to their blog with a link to the book.
Like most of Micro.blog, the API is based on JSON Feed. Lists of bookshelves and books are just JSON Feed with a little bit of extra data like isbn in a namespace field. When Micro.blog has the book cover, it’s included in image.
There have been some interesting experiments with custom JSON formats or even based on OPML, but as I was reviewing these it seemed like an unusual departure for Micro.blog to not use JSON Feed. We can consider adding additional formats later.
I’m happy to support whoever wants to tackle this. Jon Hays suggested a hackathon for people to get together and tinker with the API, or build an app together. What do y’all think?
In addition to the Micro.blog API, another area where we could experiment is an app that connects bookshelf data from independent web sites. For Micro.blog-hosted blogs, the bookshelves are available via Hugo templates, so it’s possible to generate HTML pages that include Microformats. See the IndieWeb wiki for some prior art about this.
Yesterday we added a new “pens” emoji to Discover. Posts are starting to appear there, although it may take a couple more days for everything to show up as it populates old posts. Enjoy! ✒️
For years I’ve wanted to transcribe my handwritten journals. I finally found a workflow that I’m happy with, splitting it into 2 steps: first scan each book into a single PDF of all the pages using Prizmo, so there’s a digital backup, and then retype into Day One from the PDF.
Rolled out a few tweaks to following Mastodon users in Micro.blog. Mastodon recently switched from Atom to RSS (cool) but did not redirect old feeds, likely breaking most clients (not cool).
While on the road last weekend, we started the audiobook for Project Hail Mary. I’m now reading the 2nd half in print form because I had already ordered the book, but the audiobook reading is very good. 📚
Finished reading: Crooked Kingdom by Leigh Bardugo 📚
Congrats @vincode on releasing Zavala, a new (free) outliner for macOS and iOS!
Automattic acquires Day One. Smart. I’ve been thinking a lot about how (or when) to combine my private journals with my public blog. I’ll be curious to see if Day One adapts to anything in WordPress.
Another photo from over the weekend in Mississippi. Abandoned train tracks going off into the weeds.
This is a cool blog post about converting blog posts into a Word document for nicer book printing. Maybe Micro.blog could use a .docx export?
Our WWDC episode of @coreint is up.
Happy that last night’s maintenance went smoothly — about twice as fast as expected. I had disabled photo upload during the downtime to minimize confusion. Up early, dropped the car off for service, then picked up coffee at Lamppost and walked back home. ☕️
Just a reminder if you missed the post from @news: we need to take down parts of Micro.blog for maintenance in about an hour. Thanks for your patience! Will post an update here when everything is back online.
I’ve watched a half dozen WWDC sessions and learned a lot. Great work Apple. But now I’m kind of burned out and getting back to web things I can ship on my own schedule. If this was an in-person WWDC, I’d probably be flying home today.
I’ve been doing a bunch of JavaScript and CSS this week and wow, browsers have come a long way. Sometimes I still code as if it’s the 2001 web, not 2021.
Watched a few WWDC sessions this morning. Shortcuts for Mac looks excellent. Also interesting that “almost the entire Mac app” for Shortcuts was written with SwiftUI. That sounds like it’ll be the path forward for future versions of Micro.blog.
Maybe my opinion will change after the WWDC State of the Union, but right now I’m most interested in tinkering with Shortcuts for Mac and wish it was available as a standalone download. I’m grabbing Xcode but may wait on the OS betas.
Universal Control is blowing my mind a little. Now that I have a new iPad, I’ve been meaning to try Sidecar, and this looks like a great step forward for juggling multiple devices.
Apple Maps update looks great. I default to Google Maps, but gotta give Apple credit for sticking with Maps and improving it each year. (Also a good example of where big companies and big data are useful… Wish they’d focus more on those problems and not Weather, etc.)
Looking forward to WWDC but don’t really have any predictions. I’d like to see more improvements to Mac Catalyst. I’m going to keep my 16-inch MacBook Pro another 1-2 years so don’t really need hardware announcements either.
We added a secret Micro.blog pin for WWDC today! Just mention “WWDC" in a blog post this week to unlock it.
Dragon’s Lair at Cidercade. The animation is just how I remembered it but it’s even more fun on free play. 🕹
Some great stuff in this LaMarcus Aldridge interview:
I always thought of playing for the Mavericks or the Spurs so to actually get to the Spurs and be a part of that dynasty of those three guys, I definitely enjoyed my time. We were right there if Kawhi doesn’t go down.
🏀
First new blog post from @marco in a while is a great one:
It isn’t the App Store that has enabled all of the commerce on iOS — it’s the entire world of computing and modern society, created by a symbiotic ecosystem in which Apple played one part alongside many others.
I enabled bookshelves in Micro.blog for everyone this week. There is more tinkering I can do, but I think as-is it’s already useful for anyone reading and blogging about books. It’s also now possible to add new books that can’t be found via search.
On Core Intuition 466, @danielpunkass and I respond to feedback about our Apple vs. Epic take, then get into thoughts about next week’s WWDC. We’ve also decided to cut our sponsorship price in half. It hasn’t changed in years and seemed out of sync with the podcast market now.
Project Hail Mary arrived this week. Currently reading Crooked Kingdom to wrap up the Shadow and Bone books, then we’ll see what looks good next in the book queue. 📚
I like how Micro.blog stacks up against Twitter’s subscription. $5: Micro.blog hosting, photos, use your own domain name, categories, bookmarks, themes, CSS, plug-ins, bookshelves, standalone pages, native apps, open APIs. $3: undo tweet, thread viewer, free Twitter features.
Thanks to @stett for updating the “Marfa dark mode” plug-in for Micro.blog with a better color palette and other improvements. You can install it or update to the latest version under the Plug-ins section of Micro.blog.
I’ve finally been supplementing all the books I buy with also checking out e-books from the library. I love it, except I need to get used to the timing of everything… I was 2/3 of the way through A Man Called Ove when my loan expired. Back into the month-long hold queue. 📚
Finished reading The Invisible Life of Addie LaRue by V. E. Schwab. Unlike anything I’ve read before. Beautiful. There’s never enough time. 📚
We have a placeholder web site for Micro Camp. There’s an email form if you want to get notified as we get the conference details worked out.
In anticipation of launching the bookshelves feature next week, I wrote up a help page so that some of the details are collected in one place.
Was up early and decided to go get coffee and breakfast tacos. Maybe too early: coffee place hadn’t gotten their food delivered yet. No problem, went to cheap drive-thru… but they were out of potatoes. First-world breakfast problems. The coffee is delicious so I’m still happy. ☕️
Added a page to my blog for the books I want to read. I’ve also been tweaking the bookshelves beta feature in Micro.blog (which powers that page) and think I have it to the point where I’m mostly happy with it. Planning to enable it for everyone next week.
We released an update to Micro.blog for macOS today with several bug fixes. Choose “Check for Updates” to grab the latest version.
Update on my lost AirPod: ordered a replacement “left” ear AirPod but Apple accidentally sent another “right” one. Equally annoyed and laughing about it. Contacted Apple support and they were great about sending a new one and letting me keep the extra as a backup.
On the latest Core Int, we talk more about Apple. From the show notes:
They wonder how Apple can be so apparently dense about the optics of their actions, and question whether the company is more afraid of changes in the status quo than they are of losing developer enthusiasm.
Lost one of my AirPods last week and we turned the house upside down looking for it. No luck. Best guess is I accidentally vacuumed it while simultaneously cleaning and searching. Gave up and ordered a replacement, but not thrilled to throw away that money.
Finished reading: The Old Man And The Sea by Ernest Hemingway 📚
Adding a couple more filters to my blog to automatically assign categories. I think this is one of the more clever features we’ve come up with. Powerful but mostly hidden so it never distracts from writing a new post. It’s under Categories → Edit Filters.
New @coreint! On this episode, @danielpunkass and I react to Google I/O, Microsoft, Epic vs. Apple, WWDC costs, and more.
Whenever I dip my toe into what’s going on with Twitter, I’m always struck by how the outrage level is always a “10”, no matter the topic. Seems rare to have a proportional response. I don’t think Micro.blog is necessarily immune to this. Amplification just makes it much worse.
“When you’re in the midst of a storm like we were, it’s easy to temporarily lose hope. To feel like it’ll never pass. But it usually does, and so it did at Basecamp.” — DHH
The experiment to manage the books you’re reading in Micro.blog has been really well received. We’ve heard some great feedback about how to improve this feature and what its final form should look like when it’s rolled out to everyone.
I’ve made a few improvements recently, including making it easier to try. If you want to enable the “Bookshelves” link in your Micro.blog sidebar, just click on this link when you’re signed in to Micro.blog on the web.
The books list is now sorted with most recently-added books at the top. The data is also now available to Hugo themes. In any template, you can use some Hugo code like this to access the books in a bookshelf such as “Currently reading”:
Thanks to Jason Becker for suggesting this. I had never used Hugo data templates before and there is a lot we could do with them. (And you can still edit a bookshelf to include it on any page without making theme changes.)
Some of the feedback I’ve been thinking about is whether “books” isn’t general enough for this feature. Daniel made this pitch on our podcast, and others have suggested music, movies, podcasts, or even beer as other things that could be tracked in “shelves”. These would all be fun to work on and useful, but they would make a fairly simple feature many times more complicated and take months of additional development time. I don’t think we could tackle that kind of scope expansion without distracting from our core priorities with Micro.blog.
For 2021, the plan is to stick with books. We’ll continue to tweak it and then enable it for everyone by default in a few weeks.
And that’s the end of another Spurs season. Really strong 2nd, 3rd, and 4th quarter. That meltdown at the beginning was tough to overcome. Glad they were in it and had the lead briefly near the end. 🏀
Watching the highlights from Google I/O, Android really has come a long way. The color themes in Android 12 look great. I like my “test phone” (Google Pixel) and would consider using it more if it wasn’t for iMessage lock-in.
After the Webmention session last weekend, I was inspired to revisit a quirk of Micro.blog’s Webmention implementation. Bridgy is an IndieWeb-friendly service commonly used to forward tweet replies via Webmention. If you were using Bridgy to connect your blog to Twitter, Micro.blog had been essentially ignoring any tweet replies to your blog post. Unlike Micro.blog’s support for Mastodon and blogs, there was no way to represent a Twitter user in Micro.blog, and so it didn’t make sense to thread tweets into a Micro.blog conversation.
Including tweets in Micro.blog would have other ripple effects that I wanted to avoid. For example, what happens if you reply to a tweet? I’m not interested in turning Micro.blog into a Twitter client. Quite the opposite. I’m actively trying to distance myself from Twitter and avoid dependencies on any big social networks unless they are based on open standards.
Back to Webmention. I think I’ve found a good compromise solution for compatibility with Bridgy, bringing Micro.blog’s Webmention support more in line with what Webmention.io can provide.
When Micro.blog receives a Webmention for a tweet via Bridgy, it now does create a special reference for that Twitter user and stores the tweet text. The tweet still does not appear anywhere on Micro.blog. The tweet is available as part of the conversation on your blog, though. If you don’t have replies enabled on your blog, you can learn more in the Help Center about using Conversation.js.
This is all a long way of saying: when you post a link to your blog post on Twitter, tweet replies will be collected and included under your blog post on the web.
There’s an additional gotcha you should know about using Bridgy and Micro.blog together. Bridgy needs a link to your blog post for it to be able to match up tweet replies to that blog post. When cross-posting to Twitter from Micro.blog, Micro.blog only includes a link back to your blog if your blog post has a title, or if it needs to be truncated to fit in the tweet.
If you want all cross-posted tweets to link back to the microblog post, even if they were short, you can use Bridgy itself for the cross-posting instead of Micro.blog, and disable cross-posting in Micro.blog. I’m not planning any changes to Micro.blog’s cross-posting in the near term.
Enjoyed this write-up at The Verge of Phil Schiller’s testimony:
presenting one of the most ruthlessly efficient cash machines in tech as a helpful friend of small developers is kind of like painting a whale shark orange and calling it a goldfish who feeds other goldfish
Notifications in macOS Big Sur are so finicky, I’m disabling them for most apps, especially calendar reminders. I don’t have much of a wish list for WWDC except to smooth over a few of these rough edges in Big Sur.
I can’t get tempted by the new iMac. Trying to ignore all the reviews dropping this week. It looks so nice, though.
We updated Wavelength to version 1.1.1 today, fixing a bug with playback, editing, and Dark Mode when publishing podcasts. The app is also open source, written mostly in Objective-C.
Finished reading Six of Crows by Leigh Bardugo. Different kind of book than Shadow and Bone, and it wasn’t until I was halfway through that I really got into it because it takes time for all the backstories to develop. Loved it. 📚
The latest version of Mimi Uploader for Micro.blog has shipped. Congrats @samgrover!
With this very unusual NBA regular season wrapped up, coming to terms with the idea that the Spurs may only have 1 game left if the play-in doesn’t go their way. This team is much better than their record, but missing Derrick White hurts, and anything can happen. 🏀
Finally got episode 463 of @coreint edited and published. We talk about WWDC being just weeks away, and then go over the new “bookshelves” beta feature in Micro.blog.
This weekend there will be an IndieWeb discussion session about Webmention. Micro.blog has support for both sending and receiving Webmentions, with some twists, so I thought I’d make a quick video to demo how it works with external blogs. This is a big part of making sure Micro.blog is a good participant in the larger web.
I glossed over a few details in the video. One thing I should have mentioned is that WordPress doesn’t have this functionality by default. It requires installing the IndieWeb suite of plugins for Micropub and Webmention.
Looking in our fridge this morning, wonder if we’re secretly running a coffee shop out of our house. We might have enough milk.
This is a cool idea from @becky to collect multiple WWDC wishlists together in one place. Can’t believe WWDC is nearly here!
If you replied to me about the new bookshelves experiment, you should have access. I also added an option when renaming a bookshelf to assign it to a blog page. Then when you add a book, it automatically adds that book to the page. This is how I’m maintaining my Reading page.
Still no idea who will take the last 2 spots in the NBA playoffs. I’ve heard criticism of the play-in tournament that it’s like the single-elimination NCAA, but that’s not quite right. Lakers (for example) would have to lose 2 games in a row to miss it. Seems fair. Go Spurs. 🏀
Thanks for the feedback on my bookshelves experiment post. Rather than send individual replies, I just enabled the feature for anyone who replied to my post (and I’ll continue to add other folks later). Enjoy! I think it’ll be fun to tinker with this and see where it goes.
I’ve been experimenting with another new feature for books in Micro.blog. Bookshelves are like a little slice of Goodreads, but without some of the social features and complexity. Bookshelves in Micro.blog are focused on keeping track of books you are reading to make it easier to blog about them.
Here’s a screencast video of how it currently works:
Next steps might include showing a “Currently reading” page on your blog, and pulling any existing “Finished reading” blog posts into a bookshelf to get started. I think there’s a lot of potential, but I also don’t want to clutter Micro.blog for people who don’t need this. Looking forward to your feedback before we ship it.
We updated our iOS companion app Wavelength today. The new version adds Dark Mode support, now uses the system font, and takes care of some other housekeeping after going so long without an update.
We are also open-sourcing the app! It is available here on GitHub. Just like our other app Sunlit, this was developed with Jon Hays and as we wanted to open source more pieces of Micro.blog, Wavelength felt like a perfect next step.
To celebrate the launch of version 1.1, we’re enabling podcast hosting for all paid Micro.blog accounts for the next 2 weeks. You can publish a podcast episode to your blog via Wavelength, or upload an MP3 directly on the web. We take care of generating a podcast feed and all the other details. If you want to continue with podcast hosting after that, it’s included in Micro.blog Premium for $10/month.
Download Wavelength from the App Store, or learn more in the Help Center.
In high school I researched the death penalty for an essay. Back then I wouldn’t have believed that 25 years later it would still be legal. This story about Quintin Jones brings it all back. In a world where we seem to rarely give 2nd chances, I wish we could fix this one thing.
Walking on the trail this weekend I was surprised that the tracks for the old Zilker Zephyr have already been ripped up. At least this old sign is still there.
Posted episode 462 of @coreint, our re-take to touch a little on Basecamp after we lost the original recording, then a discussion about web and native frameworks.
Sitting down to edit this week’s @coreint, where @danielpunkass and I talked for an hour about Basecamp. It appears that most of my recording has been garbled and is useless. This has never happened in 460+ episodes. Might be a sign to change topics.
Small books tweak: new buttons to more easily link back and forth from the books grid and books search pages. Also, typing micro.blog/books in your web browser now takes you somewhere.
Fixed a minor book search issue on Micro.blog that was annoying me: better support for looking up books by their ISBN-10. When blogging about a book, I often copy this number from Amazon or another directory.
The bookmarklet by @cdevroe has been updated to tell Micro.blog to close the window after posting. This is a really nice way to quickly blog links (optionally with quoted text from a web page).
Keeping an eye on this work with federated bookshelves. Only a matter of time before we have good IndieWeb-friendly alternatives to Goodreads, and I want Micro.blog to be a part of that.
I believe my team can win even when they’re 20 points down. I believe they can make the playoffs from the 10th seed. But as the season winds down, and a couple wild OT games not going their way, I’m starting to doubt. Spurs need a win tonight. 🏀
John Gruber writing about Trump’s new blog:
He should have had a blog like this all along. This is exactly why being kicked off Twitter and suspended from Facebook doesn’t silence or censor Trump, in the same way that being banned from a restaurant doesn’t starve someone.
We are preparing an update to our microcast recording app Wavelength. If you’d like to try the beta, here’s a TestFlight link. Note that to actually publish a podcast requires Micro.blog Premium.
Finished reading Ruin and Rising by Leigh Bardugo, wrapping up the Shadow and Bone trilogy. 📚
The plot thickens at Basecamp. Casey Newton’s new post reveals more about the all-hands meeting, how it devolved into a debate about white supremacy, and Ryan Singer resigning. Feel like it confirms my gut feeling that this is… complicated. Mostly just sad for everyone involved.
This looks like a great list of links from Om Malik for resources to help the COVID crisis in India. Thinking of everyone there and who has family there.
I used to blog a lot about the App Store, and it often felt like I was one of only a handful of people who were on the same page about the 30% and exclusive distribution. Now that opinion is effectively mainstream. No need to blog much about it because it is well-covered.
I’ve been wondering lately why I have any cryptocurrency. I got some Stellar Lumens free a long time ago, added a little Bitcoin and Ethereum to it “just because”… Decided today to take it out as cash. Wasn’t very much money anyway and now it’s one less distraction. 💵
We will probably close out the Micro Camp survey after today to start making sense of the results. If you missed the announcement, Micro Camp will be 1-2 days in August. Free virtual conference for the Micro.blog community. (There may be t-shirts.)
Picked up a to-go iced coffee from a new place that opened up recently: Lamppost Coffee off 183. I visited another location back in 2016 for my 30 days of coffee shops. Haven’t had coffee outside the house in a couple weeks so this small thing feels like a treat. Happy Monday. ☕️
Expect we’ll see a blog post from Jason or David today before everyone is distracted with Epic vs. Apple lawsuit. It will be difficult to write (might need lawyers). It has to serve multiple audiences: employees, customers, and casual “fans” of Basecamp who feel disillusioned.
Sometimes I take a break from my real to-do list to just randomly click around on Micro.blog until something annoys me, then fix it. These little things are easy to overlook, but enough of them taken together make a nice difference.
There’s a new beta of the iOS app Mimi Uploader available. Great way to upload multiple photos to Micro.blog.
Voted at the library today. Long line for just propositions on the ballot. They let everyone wait inside because of the rain. Voted against the homeless camping ban but have no idea how the results will turn out.
Finished reading: Siege and Storm by Leigh Bardugo 📚
I’ve been a fan of Basecamp for a long time. My first blog post about Jason Fried and 37signals was from 2002. I still have conflicting thoughts about what unfolded this week, but wishing everyone the best, including the founders.
We’ve gotten a bunch of responses to our Micro Camp time zone survey, but hoping to get even more to help us plan an event that as many people can attend as possible, even if for just part of the day. Thanks everyone!
Micro Camp! We’re going to do a virtual conference in August for Micro.blog. More details here and a link to let us know which hours work best in your time zone.
It’s been great to welcome Ulysses users to Micro.blog, and also point new people to try Ulysses. Micro.blog users can now try Ulysses for 3 months! @jean has the details here.
Enjoying my new iPad Air. The size is taking me a couple days to get used to after mostly using my old iPad Mini for the last year. I will probably stick to the Kindle for book reading… The iPad for video, chat, blogging, and Micro.blog-related testing.
I’ve been critical of Spotify’s approach to podcasting, but this is great news that their paid subscriptions via Anchor will work with private RSS feeds. Every advance in podcasting needs to remain open and compatible with multiple apps.
Reading through some of the pushback against Basecamp’s “no more political discussions at work” policy. Like a lot on Twitter, it has been amplified into an extreme version of the debate, no longer really capturing what Basecamp said or the good points on both sides.
Micro.blog version 2.1 for iOS is now available. New support for saving drafts, editing replies, and more. Full release notes in the Help Center.
Finished reading Shadow and Bone by Leigh Bardugo. Enjoyed it, so I’m going to read the next 2 books in the trilogy and then queue up the Netflix series. 📚
To balance my post earlier that sounded negative about the iPad… Excited that my first new iPad in years arrived today. Green iPad Air.
12.9-inch iPad Pro powered by M1, 8 GB RAM, 256 GB, with keyboard: $1498.
13-inch MacBook Air powered by M1, 8 GB RAM, 256 GB, with keyboard: $999.
Are we being pranked? Apple’s products seem optimized for profit much more than when the original iPad was introduced for $499.
I filled out Apple’s new privacy info for the next Micro.blog app update, but I feel like Apple is so worried about ads and tracking that it doesn’t really make as much sense for an app like Micro.blog. Might need to review and edit the info again later.
Finished reading: Howl’s Moving Castle by Diana Wynne Jones 📚
Sent another Micro.blog iOS beta with a couple fixes. I think we’ll ship this to everyone on Monday if there are no major problems. There’s always more to do, but pretty happy to get these improvements out.
Getting my 2nd Moderna shot later today. If you’ve been hesitant or waiting, there is much more vaccine supply now. The sooner the better, before COVID variants take hold and undo our progress.
On Core Intuition 461, @danielpunkass and I talk about what an M1-powered iPad means for the future of Mac development, Apple’s fragmented OS strategy, and developer frameworks.
Just uploaded a new iOS beta with a few improvements such as saving new drafts and editing replies. If you’d like to get on the beta, here’s a TestFlight invite link. There are a couple other minor changes planned, then we’ll ship it next week.
I don’t want to jinx it, but Micro.blog has been pretty stable and fast lately for me. Of course, could always be better. Just submitted an iOS update to Apple to approve for beta testing. Anything on iOS that you think needs attention?
So Apple will take 30% of subscription audio revenue. Not great, but unlike the App Store, podcasts are open and we can still publish podcasts wherever we want without Apple’s approval.
Working on Micro.blog for macOS while watching the Apple event. Instagram changed their export file format, which broke our Instagram importer.
Still have that $500 Apple credit from returning the DTK and plan to spend it immediately following tomorrow’s Apple event. Probably on an iPad Air, unless they update the Mini.
I’ve been upgrading servers and improving performance in Micro.blog lately, a theme which will continue throughout the year to make everything as stable as possible. Sometimes this introduces new bugs or weird behavior that makes people scratch their heads. What is Micro.blog even doing? So let’s look a little at the architecture.
When you write a new post, Micro.blog saves it into a MySQL database. We currently run 2 database servers, so that we can spread some queries between them and to make backups easier. But unlike many web apps, we do not serve blogs from this database. Blogs are published to a separate server as static HTML and images, served directly by Nginx with few or no dependencies on the rest of Micro.blog. This makes your blog very fast, and means that major parts of Micro.blog can go down without affecting your blog.
This has been a key design goal from the very beginning of Micro.blog. We host a blog for you, but it can have its own domain name and is only loosely tied to the rest of Micro.blog. This goal meant discarding some common architectures such as dynamically generating the blog when pages are requested.
Micro.blog is really 3 separate systems combined into a single platform: a blog admin interface, a blog hosting service, and a Twitter-like timeline.
To achieve this, Micro.blog has to translate the blog posts from Markdown to HTML. It runs all the text through Hugo. It also has to put photos and podcasts in the right place. When you upload a file, Micro.blog copies it to an object storage server at the same time that it syncs the file to your blog.
Timeline web requests and background tasks are run across a few servers, so that we can balance load and deal with outages. While Hugo wants all your Markdown and photos in a specific structure in the file system, Micro.blog maintains content in separate databases and then writes it out to the format that Hugo wants for processing.
Any given server could have part of your content or none of it yet, so Micro.blog will have to sync everything up. It does this in multiple phases to make publishing as fast as possible, and this is the area that I’ve been spending a lot of time tweaking.
First, Micro.blog attempts to quickly publish your latest post, so that it’s available at the permalink URL and included in the blog feed. If you have thousands of posts, it ignores most of them during this phase. It just wants to get your post up on the web as quickly as possible and added to the Micro.blog timeline.
Whenever Micro.blog is processing posts, it also applies any custom themes for your blog. It never skips the Hugo step, even if your blog post content is so simple that it could be previewed with a separate Markdown filter. Every post is run through Hugo, added to the RSS or JSON Feed, and only then processed into the Micro.blog timeline.
This round-trip journey your content takes is an important part of how Micro.blog works with external blog feeds like WordPress. We aren’t interested in building a proprietary social network that is not rooted in blogs. The timeline works with blogs no matter where they are hosted.
Next, Micro.blog will do a full publish of your blog, with the entire site, categories, photo pages, and archive. In some cases, it will combine the Markdown with any uploaded photos before processing them, but usually the uploads are already on your blog. It also keeps a copy of all the Markdown files, independent on any of the web servers, so that if possible it can update those versions without writing out potentially thousands of posts to the file system.
This phase of publishing is the longest, although it’s faster now than it has ever been. During this phase, your latest post should already be live and the timeline updated, so it’s not as annoying to wait around for the archive or category pages to update.
I’m exposing more of what Micro.blog is doing behind the scenes in the logs for your account. Here’s a snippet from my log recently, although I’ve flipped it so that it reads in chronology order instead of newest at top:
Here, there are actually 2 overlapping background tasks. The lines with “Initial” (italicized above) are part of this first phase of quickly publishing your post. In this case, the round-trip from saving the content, publishing the feed, and then updating the timeline was about 1 second. Under a few seconds is kind of the gold standard we’re aiming for.
Finally, Micro.blog assembles the timeline so that it can be served quickly no matter how many people you are following. We have a Redis server that keeps the timeline for each user in a sorted set, and use that from the Micro.blog API to page between posts. Micro.blog also processes posts for @-mentions, sending Webmentions, auto-linking URLs, and other details that are beyond what I wanted to write about here.
Could this be even better? Yes. But while I’m sometimes tempted to change the architecture to something closer to WordPress’s model, I know there’s always more performance we can squeeze out of our current setup.
Loved the special episode of Mythic Quest as a way to close out the season, and officially turn the page on the last year. We rewatched the quarantine episode first too. 📺
I’ve fixed a couple issues with our ActivityPub API support, so that following your microblog from Mastodon works again.
Just posted a new @coreint. We talk about the upcoming Apple event, DTK credit, multi-user support, and more.
Tracking down performance bottlenecks, I’ve decided to temporarily disable Micro.blog processing large RSS feeds. Some services like Goodreads have default feeds that seem quite bloated, often 300k. I’ll re-enable this later, but please let me know if it affects you.
Micro.blog sends Webmentions to external blogs when you “reply” to a post inside Micro.blog. It marks up your reply with Microformats, discovers the Webmention endpoint for the post you’re replying to, and sends the Webmention. This allows your Micro.blog replies to be included as comments on blogs hosted by other platforms, like WordPress.
An RSVP is a special type of reply used to indicate whether you’re attending an event. By posting RSVPs to your own blog, you can attach them to existing posts or just have your own copy of the data. As more bloggers use RSVPs, we could eventually have a more distributed, IndieWeb-friendly system instead of relying on Facebook or Evite.
How to create an RSVP on Micro.blog? We don’t currently have an RSVP button in Micro.blog, because Webmention-enabled events are still rare enough that it would take up a lot of the Micro.blog UI, potentially cluttering the interface.
You’ll need a little bit of HTML to create an RSVP. First, add a link to where you want to send the Webmention. Instead of using Markdown for the link, use HTML and add the Microformats class="u-in-reply-to" to mark the link as a reply to another URL:
Looking forward to this <a href="..." class="u-in-reply-to">Webmentions pop-up session</a> next month.
Then, to make this an RSVP, add a data tag somewhere in the post with “yes”, “maybe”, or “no”:
<data class="p-rsvp" value="yes" />
I like to use data because it’s invisible when displayed in a web browser, but it could be a span or other HTML tag. You can see a full example of this if you view the HTML source of my post here, RSVP-ing to an IndieWeb online event.
When you publish the post, Micro.blog will automatically notice the u-in-reply-to, find the Webmention endpoint for the post you’re linking to, and send the Webmention for you. Micro.blog themes also handle the other details, like including your name and profile photo.
Another new Micro.blog theme in the works! @cdevroe is on a roll. It’s called Red Oak and you can see a preview here.
Thanks to Ulysses for the kind words about Micro.blog. It has been great to welcome more Ulysses users to Micro.blog. Everyone wins — users, developers, and platforms — when more apps are compatible.
I don’t use Spotify, but it’s neat to see them experimenting with hardware. We finally have CarPlay in our car and love it. I could see this Car Thing becoming popular until it’s eventually obsoleted by newer cars.
Spurs had a great, much-needed win last night. Highlights: Lonnie’s dunk and DeMar’s game-winner. I know it’s silly but I’m in a much better mood in the morning when sports goes my way the night before. Still need to string together a few wins to stay in the playoff race. 🏀
Along with dealing with fallout from server stability problems last week, I’ve been sneaking in some performance improvements and bug fixes. Please continue to report issues if you run into problems. (I see everything even if I sometimes get behind on replying.)
Finished reading The Sword of Kaigen by M. L. Wang. Halfway through this turned into a different (and even better) story than I was expecting. Surprising and tragic and very good. 📚
We published episode 459 of @coreint, talking about vaccine appointment web sites, the conflict in some of Apple’s services that are only partly a force for good, and more.
Gluon for Android (the latest beta) now supports push notifications when you’re @-mentioned on Micro.blog. Thanks @vincent! I was just testing this on my Android phone and it’s great to see in action. (Works on iOS too.)
I’ll be upgrading one of the Micro.blog servers this morning. There shouldn’t be any downtime. A little closer to everything getting back on track.
Sorry for the Micro.blog flakiness today. I’ve resolved a few issues, and push notifications are now working again. I will continue to monitor the servers and have some additional improvements for tomorrow. Thanks!
It’s time for Micro Monday episode 100! I really enjoyed talking with @patrickrhone and @jean on the podcast about where we are with the community and what more we can work on.
I picked Baylor to make the championship game (and win it) but pretty much nothing else in my NCAA bracket went right this year. Meanwhile, the NBA season feels like a sprint to the playoffs… The west play-in tournament is going to be tough. 🏀
Wait, they put Iron Giant in the new Space Jam? Actually looking forward to this now that I’ve seen the trailer. Nice that there’s some 2D animation in it, too.
Carvana has the best customer support. Can’t think of any company that does something at their scale and is as helpful. Maybe Apple? We’ve been juggling cars again and super happy not to deal with traditional dealerships.
On Core Intuition 458, @danielpunkass and I talk about WWDC returning as an online conference, and whether Apple’s priorities and the spirit of the company have changed since Think Different.
Excited for the proposed Amtrak expansion (PDF). Dallas to Houston and LA to Vegas seem long overdue. More would be even better, but these investments (plus the private trains like Brightline) can only help.
I’ve had the Chauvin trial testimony on in the background as I work, off and on. The multiple videos, camera angles, 911 call audio, witnesses talking about the rising level of distress on the scene… It all paints a vivid and overwhelming picture. Heartbreaking.
This week’s Micro Monday guest is @rom. From the show notes:
…an avid photographer, and especially enjoys sharing food photos. He shares a lot of photos on Flickr, and we talk a bit about how online communities evolve.
My usual morning routine: check email, @-mentions, and turn on CNN for a few minutes while eating breakfast. Watching the George Floyd family and lawyers take a knee for 8:46 outside the courthouse… A powerful statement. 8 minutes is a long time.
Finished reading: Dawnshard by Brandon Sanderson. Now only have Rhythm of War as the last published Stormlight Archive book to read. I bought it already but going to detour into some other books first and save it for later. 📚
Congrats to @brentsimmons, @vincode, and the other contributors helping ship NetNewsWire 6. It’s a big update.
It’s always 2 steps forward, 1 step back. Fixing some new bugs from yesterday’s publishing and redirects feature deploy.
I rolled out several improvements to Micro.blog today. I’ve been working on a long-term plan to significantly improve publishing performance for blog posts, and the first part of that is live now. It may not be immediately noticeably but it will start to make a difference for some parts of the publishing workflow behind the scenes. (And in the best case, some things will already be faster.)
I also finished better support for redirecting URLs in hosted blogs. This cleans up some clunkiness in the old implementation:
Note that when using the import feature of Micro.blog — from WordPress, Ghost, Medium, or Tumblr — Micro.blog tries to automatically create redirects to preserve your old URLs. It also redirects common RSS feed URLs. It does not list these special redirects on the Pages screen.
Thanks everyone for using Micro.blog! We’ve seen a lot of new interest this week with the release of Ulysses. More improvements on the way.
On Core Intuition 457, we celebrate Ulysses shipping with support for Micro.blog, then talk about competition and follow up on Apple’s relationship with developers.
Noticed that a couple supporting services for Micro.blog have changed since the last update to our privacy policy, so I just edited it. You own your content, of course, and we try to store as little private data as possible. Probably still room to improve how we write about this.
Finished reading: Oathbringer by Brandon Sanderson 📚
This week’s Micro Monday features @jayeless. Thanks for joining the Micro.blog community, Jessica! (And we’re just a couple more episodes until #100.)
The new Cypress theme has a really nice, responsive photos page. You can see an example over on @endonend’s blog.
Micro.blog has a new theme! Thanks so much to @cdevroe for creating Cypress. Check out his blog post for details.
The latest version of Ulysses is out today with Micro.blog support! We are very excited to see this ship. I use Ulysses for my notes, blog post drafts, and even writing for my upcoming book, so the integration to publish directly to Micro.blog is perfect, skipping the need to copy/paste or export text between apps.
Here’s how to get started. I’m using the Mac version, but this works on iOS too. Ulysses supports publishing to a few blog systems, and you’ll configure them in the Preferences window on the Mac. First click the “+” button under Accounts.
You’ll be prompted to enter an “app token” for your Micro.blog account. This is like an app-specific password that lets Ulysses sign in to your Micro.blog account and publish to your blog. You can generate a new token for Ulysses in Micro.blog on the web under Account → “App tokens”. The “Micro.blog account” link in the Ulysses window will also take you right there.
If you have multiple hosted blogs in Micro.blog, Ulysses will prompt for which blog you’d like to post to. Micro.blog supports multiple blogs so you can have an extra blog for a podcast, or photo blog at a different domain name, or just a test blog to try out theme changes without affecting your main site.
When you’re ready to publish a blog post, click the share icon in the upper-right corner of Ulysses and select Publishing. Ulysses will preview the post and then when you click Publish, it will prompt for setting a title, categories, and whether to save the post to Micro.blog as a draft or make it live on your site.
To learn more about everything included in the new version of Ulysses, check out the Ulysses blog post. It’s available through the App Store and includes a free trial.
Finished listening to the audiobook of How to Avoid a Climate Disaster by Bill Gates, read by Wil Wheaton. I learned a lot from this book. 📚
15%… 30%… 5%? @danielpunkass and I talk everything App Store fees and why it’s inevitably going to simplify in developers’ favor, on the latest Core Intuition.
Wolfwalkers was beautiful. Cartoon Saloon has such a unique style… a love letter to hand-drawn animation. Expecting Soul to pick up the Oscar, but wouldn’t be surprised with Wolfwalkers either. 🍿
Austin’s vaccine web site had a meltdown last night, with people waiting 6 hours in a virtual queue only to have it all scrapped. I know servers are hard. Maybe we need programmers to pursue public health jobs instead of Silicon Valley startups? Seems like a lot of work to do.
It’s amazing to me that we are getting close to 100 episodes of Micro Monday. Probably already at 100 if you count the bonus episodes. Thanks @mandaris for being on this week’s show!
Last month I detoured away from podcasts into listening to more audiobooks, but now I’m back to a mix of both. Great episode of Dithering yesterday about NFTs.
On Core Intuition 455, we talk about Hey World, integrating our own apps with other products, and the balance of good PR without getting too much attention.
I haven’t had a chance to explore the new Gowalla yet, but I was excited to get the t-shirt and stickers.
I wanted the original help site for Micro.blog to be a blog, hosted on GitHub, because it would be easy for me to post new articles, and anyone could see the version history of an article, or contribute their own changes. And some people did! I want to especially thank @paulrobertlloyd for redesigning the help site a couple years ago.
But now that we’ve had some time since winding down our Slack community, it has become clear that even with the potential for extra blogs about Micro.blog like custom.micro.blog, which is a great resource, we needed a place that people could ask questions and get help from the community. The idea is to use the web forums software Discourse and combine it with all the content from our original help site.
Today the new help.micro.blog is live. My favorite part: it will use your Micro.blog account. Just click Login and you’ll be automatically signed in. No new account to manage just to post to Discourse. Hope you like it!
Nice blog post from @khurtwilliams about automatically sending Untappd check-ins to his Micro.blog-hosted blog.
Wasn’t a shock, but still sad to see Aldridge go. Hope he ends up in Portland to retire. Too great a player to be tossed around to random teams. 🏀
Finished reading: Sharing a House with the Never-Ending Man: 15 Years at Studio Ghibli by Steve Alpert. Japanese culture, international travel, Miyazaki tidbits, and entertaining stories of meetings and clashes in bringing Ghibli to the rest of the world. Enjoyed it. 📚
Started my blog 19 years ago today. Haven’t made many changes recently, although I’ve expanded blogging about books. Will have to come up with something special for the 20th anniversary.
It should be a good week for Biden’s presidency. Hopefully COVID relief goes back through the House without any setbacks. And he set a goal of 100 million vaccines by his 100th day. We’re at day 47 and could hit 100 million by the end of the week with the current pace. 🇺🇸
Spent most of yesterday rebuilding servers and troubleshooting. Missed one thing which caused some additional problems for Micro.blog this morning. I hate to say “mission accomplished” too early… But things should finally be getting back to normal. More improvements coming.
The server flakiness that I thought I had resolved yesterday have cascaded into new problems this morning. I’m rebuilding servers and bringing new capacity online to fix things. Thanks for your patience!
Just posted another episode of Core Intuition, talking with @danielpunkass about his return to full-time Red Sweater indie life, freemium business models, and the potential for the Arizona bill about the App Store.
Added a simple reading page to my blog, for books that I’m currently reading. Thinking about how this could be a built-in Micro.blog feature. Reading on a couple of these books has stalled… Need to finish them or give up.
Furious at our governor right now. We are finally making progress on COVID again in Texas, just months until the vaccine is widely available, and he would throw all of that away. Keep wearing masks until we’re actually through this. 😷
Finished listening to the audiobook for The Great Hunt by Robert Jordan. Think I’m going to switch over to the print version for the next book in the series and see how it compares. 📚
Very excited for the Ulysses beta, which adds Micro.blog publishing.
First, there is no right way! Just type something about what you’ve read or want to read, hit post, and you’re good. However, we have built a few book-specific features in to Micro.blog that aren’t obvious on first glance.
My favorite is the book search. Enter an ISBN-13 or a book title and author, and Micro.blog will return a list of books it finds using Open Library and ISBNdb. From there, you can click to automatically draft a post with the book title, link, and author. You can then add some commentary or just publish it as-is.
Blog posts that contain the books emoji 📚 will get collected in our Discover → Books collection. If the post includes a link to Micro.blog with the ISBN (micro.blog/books/isbn-here, added for you by the book search), then Micro.blog will also show the blog post on our book covers grid, which is another fun way to discover what people on Micro.blog are reading.
A nice bonus with including 📚 in your posts is that it’s easy to tell Micro.blog to add all your book-related posts to a category on your blog. Click on Categories → Edit Filters and make a filter that assigns the Books category whenever a post contains that emoji.
Micro.blog also supports indiebookclub. It uses the Micropub API to publish blog posts, and Micro.blog will format them so they are also included in the book covers and Discover collection.
Personally, I’ve been reading a lot the last few months. I’ve also started to use Goodreads more, in addition to blogging about books I finish on my own site, to better understand what additional features we could build around books for Micro.blog.
Jean and I were talking this week about how it’s been 1 year since IndieWebCamp Austin. That was the 3rd IndieWebCamp here, and after it wrapped up we were already talking about plans for 2021, excited to look at potential new spaces for the conference in Austin.
Little did we know last year that IndieWebCamp Austin would be the last in-person IndieWeb event all year, for any city, with everything else cancelled or moved online because of COVID. If the Austin event had been even a couple weeks later, we probably would have cancelled it too, as the scope of COVID was just starting to be understood.
Now a year later, a tragic 500,000 dead in the United States, vaccines are rolling out, and we are starting to see the light at the end of the tunnel. I think 2021 is going to be largely the same as 2020 in terms of events. WWDC will no doubt be online again too. But I can start to imagine that some in-person events and meetups will come back next year, although surely reimagined around safety. In the meantime there have been a number of online IndieWeb events, both informal meetups and pop-up sessions around specific topics, like improving APIs.
We are also thinking about what a Micro.blog-focused online conference might look like. It has been wonderful to watch the community grow, and there’s so much we could do this year.
I’ve been reading Big Wonderful Thing by Stephen Harrigan. Growing up in Austin, I thought I knew Texas history, but this book has so many details that are new to me. Both extraordinary and heartbreaking. Not quite halfway through, just after the Civil War. 📚
This week’s Micro Monday episode features @gregmoore:
…why his microblog is really his first blog, despite his years of experience building and maintaining websites. We talk about whether the notion of a “challenge” is helpful when it comes to maintaining a blogging streak.
We now have running water again. After this week, I don’t think I’ll ever look at water and electricity the same way again. We take so much for granted until it’s gone for even just a few days.
On the latest @coreint, I update @danielpunkass on the winter storm that hit Texas this week. Trying to stay positive and even laugh a little about it, but this has been a disaster for nearly everyone. The cold is finally behind us. Still no running water in most of Austin.
What a week in Austin… Shoveling snow. Cutting firewood. Some computer work between rolling blackouts. Trimming trees. Melting ice. And yet we’re feeling lucky compared to folks still without power. Also, thankful to Beto for organizing a phone bank to check on seniors. ❄️
Finished reading: Edgedancer by Brandon Sanderson 📚
Finished reading: No Filter: The Inside Story of Instagram by Sarah Frier 📚
Lost branches on 4 cedar trees so far because of the weight of the ice. One knocked over part of the fence. I just hope the oak trees hold up. 🌳
Just posted another @coreint where we follow up on Apple’s Developer Transition Kit $500 credit and talk about how Apple (and Microsoft) treat developers.
For day 10 of the photoblogging challenge, the prompt is “energy”, suggested by @ridwan. If it’s already February 11th where you are, the next prompt is “machine”, suggested by @gubler.
Day 9 of the photoblogging challenge is “muddy”, suggested by @Gaby. For folks already on day 10: “energy”, suggested by @ridwan. Thanks everyone who is participating! You can see a collection of previous photos here.
Big news on the latest Core Intuition. Daniel is back to full-time on Red Sweater Software. We also talk about the Developer Transition Kit return (unfortunately recorded just before Apple changed their mind about the credit).
Finished reading: Words of Radiance (The Stormlight Archive, Book 2) by Brandon Sanderson 📚
Catching up on the February photo challenge… Another one to add to all the happy dogs and cats out there who have taken the best spot in the house. Comfort.
Separate from launching the “for work” plan, Hey.com’s forwarding also now supports sending email using a custom domain name. This is a great feature and makes Hey much more useful for personal email addresses.
Finished reading: The Way of Kings (The Stormlight Archive, Book 1) by Brandon Sanderson 📚
I’ve been trying to spend a few minutes each day on the piano. Close up of sheet music for Defying Gravity from Wicked.
For this week’s episode of Core Intuition, Daniel and I reflect on the passing of Brad Cox, inventor of Objective-C, and on that programming language’s great impact.
Just posted Core Intuition 448. @danielpunkass and I talk about how we’re feeling after the inauguration, reflecting on the last 4 years, and then ignore our optimism for the future with some pessimistic speculation on the latest Apple VR rumors.
Finished reading: The Hero of Ages by Brandon Sanderson. Discovering the Mistborn series and reading the first 3 books mostly back to back reminded me of how I felt when I was younger, reading every book I could get my hands on. 📚
I’ve been doing a lot of reading and thinking the last couple months and probably not enough writing and coding. Feels a bit like I’ve been hibernating and now have a million new things to try to do.
Finished listening to the audiobook version of Eye of the World by Robert Jordan. I had always put off reading this series because there are so many books, but I’m finding the audiobook great to supplement podcasts and other books. 📚
Snowing in Austin. Don’t even know the last time it has snowed this much here. It just keeps falling. ❄️
Took the drone out for its first flight today and 15 minutes later it was stuck in this tree. A bit too windy out. Eventually got it down with the help of a neighbor’s ladder.
Don’t like that the rollercoaster that was 2020 has crept into 2021 already… Last night I was feeling great — Warnock won, Ossoff won, the Spurs won, and I caught up with an old friend — but today we’re back glued to cable news and doomscrolling. 🇺🇸
Finished reading The Well of Ascension by Brandon Sanderson, 2nd book in the Mistborn trilogy. 📚
Just before the new year, I updated my iPhone home screen for the first time in a while. New apps: Calm and Audible.
Took a wrong turn that ended up in a nice scenic detour while on the road today. Sam Houston Library and Research Center.
This week Helge Gudmundsen joins @macgenie on the Micro Monday podcast to talk about the Micro.blog community, photography, beer, hobbies, and much more. Enjoyed listening to this one on my walk this morning. Thanks @helgeg!
NBA preseason starts tonight! Because Hulu Live and YouTube TV have dropped the regional sports networks, we’ve cancelled Hulu and switched to Spectrum TV, where we get internet anyway. No cable box, since they have an app for our smart TV, iOS, etc. 🏀
Finished Mistborn: The Final Empire by Brandon Sanderson. It’s fun to get back into reading fantasy. Looking forward to the rest of the Mistborn series and Sanderson’s other books. 📚
We posted a new Core Intuition today with a discussion of the recent App of the Year awards and Slack acquisition by Salesforce.
Before the cold weather this week we decided to pick all the oranges. The tree produced about 50 total counting the ones I picked early. Now looking for marmalade recipes.
Happy Thanksgiving! Lots to be thankful for despite a bizarre, difficult year. Trying to stay flexible and adjust plans as needed for the holidays. If you’ve got a break and need a podcast to queue up, @danielpunkass and I also posted a new Core Int. 🦃
We posted a new episode of Core Intuition over the weekend, talking about Apple’s new Small Business program, the App Store, and M1-based Macs.
The macOS version of Micro.blog has been updated to run natively on M1-based Macs. Also fixed a bug with selecting windows. Enjoy!
I’ve been taking more time away from the computer to reset and read lately. Finished reading Dune this week for the first time. An extraordinary book.
Daniel and I react to this week’s Apple event and new M1-based Macs on the latest Core Intuition, plus related speculation about iOS apps on macOS and what will happen with the Developer Transition Kits.
Three, two, one… Sunlit 3.2.1 was released today with a couple bug fixes for uploading videos (with Micro.blog Premium) and sharing photos from other apps.
Feel like I’ve been holding my breath since Tuesday. Even though we’ve known for a couple days this was going to happen, to actually see it… Incredible. 🇺🇸
As @macgenie blogged about last year, we usually leave political posts out of the Discover timeline if they could be divisive. Many people come to Micro.blog to get a break from the arguments elsewhere. Today is unique, though, with the election on so many people’s minds, so you’ll see a mix of posts. Feel free to take a break from Discover for the next couple days while the dust settles, or check out Photos, other emoji sections, or Timeline which is always only people you follow.
Barely slept. Woke up and started pouring through county data like an amateur Steve Kornacki. Seems like Biden’s lead in AZ, NV, WI, and MI can hold. 🇺🇸
Stayed up to hear Biden speak and now feeling a bit better. Stay safe everyone. The votes will be counted and we’ll see where this goes. 🇺🇸
There are many differences between 2016 and 2020. The coronavirus. No Comey letter to influence undecided voters in the final days. But the big difference is that now we know that Trump can win if we don’t do enough to stop him. More turnout, more volunteering, more urgency. 🇺🇸
Election Day is today. I hope that it will be a turning point for the country, so it seems like a good time to also look back.
I try to write every day, whether it’s here on this blog or in my journal using Day One. Posts about family or personal stories usually stay private, because there are plenty of other topics to write about here. Today I want to collect together a few things that have happened this year, events that I might jot down in my journal but which haven’t made it into the blog.
Back in March, when the kids were home for spring break and the seriousness of the coronavirus was just starting to become real, we wrote down some rules on giant sticky notes and stuck them on the fridge. Like the rest of the country, we were trying to figure out what to do, and it helped get everyone mostly on the same page.
There was still a lot of confusion about what was safe. Texas was about to go into lockdown. The NBA was about to postpone games. SXSW was about to be cancelled. It felt like everything was just on the verge of changing. I thought if we could only stay safe for a few weeks, we’d make sure that our family didn’t get sick when hospitals would be overrun.
We made masks. I didn’t do much of the sewing, but our home-made masks turned out great. It was fun to do something a little creative, especially early on.
We ordered more masks later, including my new go-to mask with a Mickey Mouse pattern. We fell into a routine of ordering groceries online. I rarely went inside stores. I wore my mask whenever I was picking up take-out dinner or running other errands. I washed my hands all the time. The few weeks of quarantine had turned into months of isolation.
Later in June we went to the beach for a couple days, to get away. I was worried, because the Houston and Galveston area were getting hit hard by COVID, but we were barely 30 feet from anyone else. It felt great to be near the water, eat outside on the deck with a cool breeze, and escape the normal stress of the quarantine. We had a house on Airbnb to ourselves, cooked most of our meals there, and I picked up pizza one night in town.
A few days later we were up in Dallas. That weekend I wasn’t feeling great. I figured it was a cold or allergies. No fever, no shortness of breath. Because I had been with family, out of caution I decided to get tested for COVID-19. I talked to a nurse for advice and also called a nearby drive-thru clinic that did testing.
While waiting in line to get tested, I convinced myself that I had overreacted. I was wasting everyone’s time, while people with much more serious symptoms needed help. But I got tested anyway, felt better the next day, and went on with my work week, releasing a major upgrade to Micro.blog to support plug-ins that week.
A doctor called me with the results about 4 days after I had gotten tested. It was positive.
My symptoms were extremely mild. I’m still not sure the test wasn’t a fluke. I had planned to follow up with an antibody test to confirm it, but I never did. Even so, going through that process of getting tested had highlighted for me what Texas and other states were going through back in June and July, and now again as winter looms.
This year has been long, and disappointing, but there was hope. We flattened the curve. We were well on our way to putting the coronavirus behind us and looking toward school restarting. But we opened too quickly without the right guidance. We lost control of the virus. We were almost there, and we blew it.
Fast forward several months when I’m writing this. We flattened the curve a little, again, only to see the progress slip away. The setbacks have been frustrating, watching so many people flout the guidelines. 2020 could have gone much differently — much better — but there were good moments too, with family and work, watching the Micro.blog community grow.
We can’t get 2020 back. There’s a lot to catch up on. Let’s make 2021 count.
Election Day, and also day 3 of Microblogvember. Hope to be astonished by tonight’s results. Starting to feel like this is really happening.
I sent a new Micro Monday email newsletter this morning, also posted to the blog. I think this will be the last email for a while… Need a new way to manage the list without it growing prohibitively expensive to send email.
Microblogvember, day 2. I’ve gotta concentrate on work today. Too many distractions with the election looming.
We’ve released an update to our photo app Sunlit with the following changes:
Download it in the App Store. Next up on the to-do list: an iOS widget extension. Jon has been testing it and it will show up in the TestFlight beta soon.
Stayed up late watching SNL, woke up too early, a bit dreary, wondering if it was Election Day already. It’s the start of Microblogvember.
Finally submitted Sunlit 3.2 to Apple to approve. It’s a pretty big update with new features and several bug fixes. We also have a roadmap on GitHub for what’s next.
Earlier this summer we watched 20 spy movies, including everything with Sean Connery as James Bond. Hard to believe he was 90 years old this year. Still love his role in Indiana Jones and the Last Crusade too. Rest in peace.
We just posted Core Intuition 441. From the show notes:
Daniel checks in with Manton, who is making an effort to take some time off from working so hard. They veer into a discussion weighing the merits of fixing little nitpicky bugs vs. adding meaningful features. They discuss the debate sparked by Sketch about native desktop apps vs. web apps, and Daniel concedes some of the advantages of web development.
Thanks for listening to the show. If you’d like to support the podcast with a subscription, check out our membership page.
Great article from RevenueCat that sheds light on how subscriptions are working for the App Store. 13% churn is not good. If apps use subscriptions when it’s a bad fit, that contributes to subscription fatigue and will hurt apps that do need subscriptions.
Starting November 1st we’re doing another Microblogvember post challenge on Micro.blog. 30 days of microblogging using keywords that @macgenie will post each day. Should be fun! And a good way to get into a routine of blogging.
Trying to get my important files organized after a few years of playing fast and loose with backups. Ordered another hard drive for the old Drobo. Consolidated even more photos and family videos to Dropbox.
Tuned in to the news today at lunch as Biden was in the middle of a heartfelt, powerful speech. About the nurses, delivery drivers, grocery store clerks, and other workers on the front line of the virus: “They were giving their all, while the president was giving up.”
Great post from @gruber going through how Trump was played by McConnell. It’s now 7 days until the election and Trump still doesn’t seem to have a coherent campaign strategy.
I’m going to make time to call voters this week. If you haven’t voted yet, do it soon. Don’t wait. I think election night is going to be extraordinary, but it’s also not too late to blow this. No complacency. Show up, please. 🇺🇸
On the latest Core Int, we talk about whether we’re buying new iPhones, getting stuck in our ways, how Apple takes risks when redesigning phones and Macs, and more.
Picked a couple of our oranges that are starting to turn orange. It’s a little bit early but the first one was still delicious.
5G mmWave still seems like the wrong priority to me. Ridiculously fast, but too difficult to deploy. From the iPhone 12 review in the New York Times:
But the locations where I tracked down ultrafast 5G were far less satisfying. At one point, I found the speedy connection in the back of a Safeway parking lot. Another time I was in front of a Pet Food Express. What would I do with an incredibly fast internet connection there?
Gowalla returns! Excited to see how they’ve reinvented it. Just in time… My old Gowalla shirt was getting faded. “…while our communities have plenty of work ahead to rebound from 2020, we believe 2021 will be a year like no other to rediscover your city.”
Because of a glitch with the @coreint feed after switching servers, some people may not have seen last week’s episode show up. It’s now fixed. Thanks for listening!
If you like to tinker with HTML, @DoctorMac is looking to hire someone to help with a custom Micro.blog theme. See this thread. (I wonder if we need a directory of theme developers.)
I’ve fallen behind on support email again, and getting more spam isn’t helping. So tired of those “I see you wrote about Topic X, can you link to my blog post too?” emails. (Except for other people’s blog posts and conversations on Micro.blog, not even my own posts.)
Protesters outside Disneyland are a reminder of how inconsistent the response to COVID has been. Inside seating at restaurants is allowed, but outside at a theme park — where masks, temperature checks, and distancing are required, with plenty of fresh air — is not okay?
On this week’s Core Intuition, @danielpunkass and I talk about the Apple event, new iPhones, and HomePod Mini.
A couple more photos from our trip earlier this week, at the Airbnb and the view on the Canyon Lake dam.
So great to see all the photos for the A Day In The Life challenge. Thanks everyone who was able to participate! You should also have a new pin on the Account → “Show All” pins page.
As the 24-hour photo challenge was getting underway, we were driving back from a couple days at Canyon Lake, a mix of vacation-ing and working. Stopped at Summer Moon in Buda, then picked up Chick-fil-a back in Austin around 1pm with the kayaks still on the roof.
Catching up a little on the iPhone 12 news. This is probably the first time in 20 years that I haven’t followed an Apple event live. Busy week.
Micro.blog’s 24-hour photo challenge is coming up tomorrow, starting at noon central time. You only have to post 1 photo to participate, from wherever you are on that day. Looking forward to seeing everyone’s photos!
Kawhi giving up on the Spurs has ended up working out pretty well for Danny Green. What a weird season… Already excited for 2021. 🏀
Sunlit 3.1 for iOS is now available, adding push notifications, improving the blog settings, and fixing several bugs.
On the latest Core Intuition, we talk about @danielpunkass’s 20-year wait for a domain name and a surprise package that showed up at my door.
What a game. Basketball season isn’t over yet. Congrats (and thanks) to the Heat for giving us at least another game. 🏀
Today is the last day to register to vote in Texas. I double-checked my registration today just in case. All good. Planning to early vote next week. Let’s do this. 🇺🇸
On today’s episode of Micro Monday, @macgenie and I answer questions about Micro.blog 2.0 and other upcoming features.
Micro.blog for macOS has been updated to version 2.0.2 with a bunch of bug fixes. This help page has the download link and release notes, or choose “Check for Updates” to get the latest version.
We posted a new episode of Core Intuition this weekend, running through many of the new features in Micro.blog 2.0.
Pushed a few more bug fixes out for the upcoming Sunlit 3.1 release. We’re going to wrap this up in time for the photo challenge in a couple weeks. (Which you can still sign up for here!)
Relieved that Biden tested negative. Just thinking about all the people Trump met with over the last couple of days, rarely wearing a mask or distancing… It’s a contact tracing nightmare and hopefully a wakeup call to his supporters to take this seriously.
We sent out a beta of Sunlit 3.1 today, with an improved settings screen, push notifications for mentions, fixed layout on some phones, and selecting multiple photos on iOS 14. You can sign up on TestFlight here.
We have a press release announcing Micro.blog 2.0. Thanks everyone for your support so far with the 2.0 rollout!
The debate was hard to watch. Trump is an embarrassment. He made a mockery of the debate format. He has no idea what he’s doing as president. Vote. 🇺🇸
I’ve written a few blog posts to preview some features in Micro.blog, but until 2.0 launched today we didn’t really have everything in one place. Here are a bunch of the new features:
img, audio, video, or link tag for the upload into a blog post.And many other minor improvements and fixes. Enjoy!
For the Micro.blog 2.0 launch week, we’ve enabled the new bookmark archiving and highlights feature for everyone to try out. You can upgrade to Micro.blog Premium at any time and also get podcast and video hosting.
Micro.blog 2.0 is rolling out with updates for the web, iOS, and macOS. It’s a lot of little (and big!) changes at once, so I’ll be watching for any launch day quirks. Thanks for your support!
24 hours before a major software release without a QA department, pretty much guaranteed to find one last show-stopping bug, scrambling to fix it. This is the way.
We’ve had a great response to the upcoming A Day In The Life of Our Online Community. If you’re interested in participating, check out this post from @macgenie for details. It’s 1 day next month, 1 photo capturing a little part of your day.
To stop using YouTube until November, I’ve retrained myself to launch the Duolingo app instead whenever I think about tapping over to YouTube. I think it’s working. (Finally re-learning Spanish.)
Still can’t believe that late comeback by the Longhorns, down 15 points with a few minutes to go. Only tuned in during the 4th quarter and thought it was over. 🏈
Core Intuition 436 is all about the Coalition for App Fairness.
Mimi Uploader has been updated for iOS 14. Quickly upload multiple photos to a Micro.blog-hosted blog. Love the way it handles upload progress.
Very excited about the Micro.blog global photo challenge next month: A Day In The Life of Our Online Community. Register for details and a reminder. It’ll only last 24 hours: a snapshot of everyone’s day, October 13-14.
If you thought Epic Games would just go away quietly, forget it. Coalition for App Fairness launches with founding members Epic, Basecamp, Spotify, and others. I support this.
Picked up Summer Moon drive-thru this morning. Getting a bunch of work done on final Micro.blog 2.0 wrap-up and Sunlit 3.1 testing. ☕️
One of my favorite features in Panic’s Nova is how smart the Open Quickly is. You can type little fragments of a couple parts of a filename or path and it’ll find it.
We posted another Extra Intuition episode just for @coreint members. @danielpunkass and I talk about wiring our houses for ethernet.
I’m trying to mostly stop using YouTube until November, so I’ve created a new Vimeo account to host videos about Micro.blog. Here’s a 3-minute screencast tour of the Micro.blog 2.0 bookmarks and highlighting interface, launching next week.
There’s a new Micro Monday out!
Besides train travel, curry snacks, and photography, Bharath and Jean manage to talk a bit about microblogging and how it has helped Bharath reinvigorate his writing practice.
We are getting ready to roll out a major update to Micro.blog. The web version and all the native apps are being updated at the same time. The new version will launch Tuesday, September 29th.
What’s new? To start with, the web version has been redesigned with a new sidebar, bringing common areas of your microblog like managing posts and uploads to the top-level of Micro.blog so they’re easier to access.
In the iOS and macOS apps, we’ve added new Pages and Uploads section, so you can create or edit standalone pages, and upload podcasts or other files to your blog. There are new icons in the sidebar and the layout in many screens has been improved.
On the Mac, creating a new post has been moved to its own window. This makes it easier to see the timeline while you are typing a new post or reply. You can also drag photos from the Uploads section into a new post.
We are expanding what the current $10/month plan can do, renaming it Micro.blog Premium. In addition to hosting podcasts and video, Micro.blog Premium will archive the contents of bookmarked web pages, with a special reader interface for highlighting text. You can quickly create a new blog post from highlights in Micro.blog.
I’ll be talking more about the new bookmarks and highlights as we get closer to launch. I’m excited to bring something totally new to Micro.blog, but in a way that stays true to Micro.blog’s mission of making it easier to blog.
And there are many other bug fixes and minor improvements, such as (finally!) editing replies. I can’t wait for everyone to check it out next week.
Apple has approved Micro.blog 2.0 for iOS, so now I just need to put the final touches on the web and macOS versions, which I can do on my own schedule. Planning to launch everything at once in a week and a half. Details tomorrow.
Day trip to San Antonio. Puffy tacos for a picnic at Brackenridge Park, then walking through the Japanese Tea Garden.
Still stunned about Ruth Bader Ginsburg. Going to switch over to watching the Lakers/Nuggets game 1 and maybe forget about the news for a bit. Take care everyone and keep your hopes up. 🇺🇸
We’ve posted a new Core Intuition talking all about this week’s Apple event, me breaking my iPhone and buying a new one, and more.
From the IndieWeb chat: Tantek Çelik suggests “Blocktober”. Block the big social networks in October. Maybe you can’t quit Facebook, Instagram, and YouTube forever, but you can do it for a month.
Thoughts on today’s Apple event… Lower-cost Apple Watch is nice. It’s one of Apple’s best products and it’s a good thing if more people can afford it. Not really in the market for anything. (My new iPhone 11 Pro arrived shortly after the event.)
Development on Micro.blog 2.0 for iOS is almost wrapped up. Here’s a sneak peek at the redesigned menu screen. The whole app looks better in addition to the new features.
Sunlit 3.0.2 is now available in the App Store with a bunch of fixes. Because it’s open source, we’re also starting to get some contributions from other folks! Very cool to see that happen.
I’ve heard the excuses and I get it. You have family on Facebook. You have friends on Instagram. Maybe you can’t completely give up on those platforms. But you can shut them down for a month.
Facebook has not made enough progress in the last 4 years to deal with misinformation and hate. In the final stretch of the presidential campaign, why are we supporting any platform that risks the consequence of fake news and conspiracy stories spreading unchecked? Are we going to stop using Facebook and Instagram now, or are we going to wait until after Trump is reelected?
You don’t have to use Micro.blog. But don’t spend another minute on Facebook-owned platforms until after the election.
Puzzled about last week’s App Store guideline tweaks. By bundling so many changes in one update, most people are talking about the video game guidelines and not the (slight) loosening of in-app purchase rules. So it hardly did anything to fix Apple’s reputation with developers.
With my iPhone X glass broken, I needed a replacement phone quickly. The timing is not great because Apple has an event tomorrow, likely for the iPad and Apple Watch, with an announcement for new iPhones to follow within a few weeks. On the other hand, it has been nearly 3 years since I bought my iPhone X, so I don’t feel bad upgrading even to last year’s iPhone.
Meanwhile, there’s Android. As Daniel and I have been discussing on Core Intuition, I’ve been increasingly frustrated with how Apple manages the App Store. It would be good for me to have more experience with Android, eventually developing an Android version of Micro.blog.
Last year I bought a cheap Android tablet (Galaxy Tab A) to use for testing. I’ve been using it much more often, and it has become my “catching up on email, surfing the web, and Slack-ing while in the living room” device. The hardware is slow, but it runs Android 10, and already it has been useful for seeing how Android users experience Micro.blog.
iMessage lock-in remains the biggest problem with Android for me. I tried AirMessage, which Ben Thompson had good things to say about on Dithering. AirMessage runs on your Mac and essentially forwards messages back and forth to Android. It’s clever, but because I use a MacBook Pro exclusively, AirMessage will stop working if I close the laptop or take it somewhere else.
One option I seriously considered is getting a Pixel 4a and using an old iPhone (or ordering a new iPod Touch) just to run iMessage, Micro.blog, and anything else that I needed iOS for. It doesn’t make sense to go all-in on Android while I’m in the middle of wrapping up a major iOS upgrade to Micro.blog 2.0. Having 2 inexpensive devices would force me to live in the Android world while also keeping iMessage and everyday testing for Micro.blog 2.0. It looked like I couldn’t get a Pixel 4a shipped very quickly, though.
In the end, I’ve decided to upgrade to the iPhone 11 Pro. It arrives tomorrow. It’s the 3rd version of the iPhone X-style phone, so I know it’s a stable, better version of what I already have. I don’t know what the iPhone 12 is going to look like, whether the quality will be rushed because of COVID, or what features they’ll stick in that I don’t need. I’ll continue to tinker with Android, and maybe that will be my next phone, but it felt a little too early for such a disruptive change.
I was on the beta for Panic’s Nova but I’m really only just now starting to use it. It’s great. I’ve switched over to using it for the Micro.blog backend: Ruby, HTML, etc.
I hadn’t planned on upgrading my iPhone X for a little while longer, but our cat had other ideas. He knocked my phone off the kitchen counter today, shattering the glass on the tile floor. Not great timing with an iPhone announcement probably weeks away. 📱
Sent out a 3.0.2 beta of Sunlit with a bunch of small improvements and bug fixes. If there are no new problems, we’ll ship to the App Store in the next couple of days.
The latest episode of Core Intuition is out. From the show notes:
Manton and Daniel review Daniel’s experiences as his first podcasting sponsorship airs, and they talk more generally about being willing to “sink money” as part of a learning process in business. Manton talks about his interest in developing for Android, and we lament the increasing feeling that we need to hedge our bets against being “all-in with Apple.”
We’ve also been publishing more episodes of Extra Intuition, our podcast just for members, with the 10th episode out this week. You can subscribe for $5 and get a special podcast feed for the extra show, plus access to a members-only channel in Slack.
Just for @coreint members, we posted episode 10 of the Extra Intuition podcast. @danielpunkass talks about his son wanting to build a PC, and I think about getting into Android development.
I’m at the point with using the development version of Micro.blog 2.0 that I can’t stand that other people don’t have access to this yet. We’ll be coming up with a release plan soon.
Went to a local coffee shop for the first time in a while to pick up a to-go coffee. Still uncomfortable with the number of people inside. Not ready to bring my laptop, but for places with outside seating I can start to imagine it. ☕️
Listening to today’s Six Colors podcast has convinced me that I need to un-require macOS 11 in the Micro.blog 2.0 launch plans. Too much uncertainty with Apple’s fall rollout schedule.
For this week’s episode of Core Intuition, we talk about the just-released Sunlit 3.0, the process of getting it shipped, and @danielpunkass getting into podcast marketing.
Upgraded Disney+ to Premier Access so we can watch the new Mulan. Big fan of the original. Also going to queue up the latest episode of the Bancroft Brothers podcast, where they often talk about the Disney animation studio in Florida that made the 1998 Mulan. 🍿
There’s a great article over at WP Tavern about the new Sunlit 3.0.
There’s a new version of Gluon out. Nice update with support for multiple blogs on Micro.blog and other improvements.
Sunlit 3.0 for iOS is now available in the App Store! It’s built on the foundation of Micro.blog, but just for photos, and it can also publish to WordPress or IndieWeb blogs. Kind of like Instagram except no ads, no algorithms, and no Facebook.
There’s another new Micro Monday episode this week, featuring @agilelisa! You can listen here or subscribe in your favorite podcast player.
Sunlit 3.0 will ship tomorrow. For the last post in this blog post series to highlight Sunlit features, I want to mention a convenient way to follow Tumblr photoblogs.
Micro.blog is based on blogs and IndieWeb standards so that it can integrate well with the rest of the web, not be walled off like a silo. One aspect of this is that you can follow many blogs in Micro.blog even if the author of the blog hasn’t registered on Micro.blog yet, similar to how you can subscribe to blogs in a feed reader like NetNewsWire or Feedbin.
For Sunlit, there’s special support for searching for Tumblr blogs so that they are easy to follow directly from within Sunlit. Use the search under the Discover tab to enter the domain name to follow, as shown in this series of screenshots:
There is expanded support for following other blogs and even Mastodon users in Micro.blog itself. You can always use Micro.blog to find a blog to follow, then go back to Sunlit and those posts will appear in the Sunlit timeline.
Tomorrow we’ll update the App Store for the Sunlit 3.0 release. I hope you like it!
Posted a new episode of Timetable, talking about tomorrow’s Sunlit 3.0 release, Tumblr integration, and other upcoming work.
Sunlit 3.0 will ship in 2 days, on Tuesday. Today I’m going to highlight how Sunlit’s timeline can be used to browse and reply to photos.
Sunlit’s timeline is built on the Micro.blog timeline. When you follow someone in either Micro.blog or Sunlit, their photo posts are added to the Sunlit timeline. It’s strictly reverse-chronological based on who you’re following. No ads. No algorithms.
This quick video shows how scrolling through the timeline works, and how to reply to posts and view conversations.
Tomorrow I’ll have the last post in this series about Sunlit 3.0. We’ve also been working on some additional bug fixes that will be rolled into 3.0.1, shortly after launch.
Sunlit 3.0 will ship in 3 days, on Tuesday. Today I want to highlight another new feature: the redesigned Discover browsing interface.
Both Sunlit and Micro.blog use Discover to help you find people to follow. Because Sunlit is all about photos, Sunlit takes the usual Discover sections from Micro.blog, but shows only the photos from each section instead of all post types.
For example, tapping on 📚 at the top of Discover will show microblog posts that have used the books emoji along with a photo, which will often be a book cover or other photo of the book. Tapping on 🧶 will usually show people’s knitting or crochet projects. Tapping on ☕️ will show coffee-related photos. Tapping on 🍞 will show baking.
It’s a great way to discover people to follow even if they haven’t posted a recent photo that you might see in the main 📷 photos section.
Check back tomorrow for another blog post in this series as we look forward to the Sunlit 3.0 launch. And thanks to everyone who tested the Sunlit beta!
Migrated sunlit.io to be a Micro.blog-hosted site. Much easier to manage. The previous site was running on Nginx/Ruby but not doing much except redirects, so I was able to replace the whole thing with a custom Micro.blog theme and a little JavaScript.
Sunlit 3.0 will ship in 4 days, on Tuesday. Today I wanted to highlight one of the new features in 3.0. We’ve redesigned the new post screen to be faster and more flexible than the previous version. It’s great for posting a quick single photo, but it can scale up to full blog posts with multiple sections of text and photos.
Here’s a screenshot for part of a blog post I wrote last year about a trip to Toronto. Sunlit lets me structure the blog post in sections that can each have one or more photos. It then uploads the photos to my blog along with the HTML layout for the post.
I’ll continue this blog post series about Sunlit 3.0 with a new post tomorrow.
This article at Smashing Magazine is a great introduction to the IndieWeb by Ana Rodrigues. Covers the principles, community, and tech building blocks. Perfectly captures the “why” of owning your own content and blogging.
Yesterday on Timetable, I was worried about App Store rejections. On today’s episode, I talk about starting to make tentative plans for the Sunlit 3.0 release.
“As with many bad stories of late, this one starts with Facebook.” — Casey Liss retires his app Vignette after problems with social network APIs
Not surprised that Epic will hold their ground on Fortnite. Remember that Tim Sweeney said in an email to Apple that if Fortnite was blocked, Epic would be in conflict with Apple “for so long as it takes to bring about change, if necessary for many years”. Not weeks. Years.
I recorded a new episode of Timetable today, talking about submitting Sunlit 3.0 to the App Store and the new uncertainty around Apple reviewing apps. It’s about 4 minutes long.
Grabbed coffee and sat outside on a recent trip to Dallas, the vines relentlessly growing over the gazebo at Oak Lawn Park.
NSDrinking tonight! Informal chat about Apple development and related topics. Zoom link will be posted over on Twitter later. 🍻
Today’s article on Stratechery is excellent, providing a unique framework for fixing the App Store for developers. While I want even more significant changes, if Apple adopted Ben’s proposal it would be a big improvement and help rebuild developer trust.
On the latest Micro Monday, @cheesemaker returns to the podcast to talk about the upcoming Sunlit 3.0 release.
We just sent another Sunlit 3.0 beta to TestFlight folks. Here are a few screenshots. There’s a TestFlight sign-up link on the web site.
We posted Core Intuition episode 432, talking about Sunlit 3.0, photos and books on Micro.blog, and progress on Black Ink for iOS.
“Facebook is like a society in a sci-fi novel that polluted and ruined its home world (Facebook), colonized a beautiful new world (Instagram), and just went ahead and immediately polluted and ruined the new world in the exact same way.” — John Gruber on Instagram Reels
I was listening to Jason Fried on This Week in Startups today while out taking a walk, and Jason said something so extraordinary it kind of stopped me in my tracks. On the Hey vs. Apple controversy:
If the Apple decision would have gone the other way, I was considered quitting, and basically retiring. […] Here’s why: I didn’t get into business — I didn’t start a business — to be told what to do by another business. […] We’re self-funded. We do everything our own way so that we can do it our own way. And to be in an industry where if Apple forced us to have to give them 30% of our business and not be able to interface with our customers the way we want, I don’t want to be in that industry.
The segment starts about 60 minutes in. Here’s an Overcast link to the spot in the podcast.
Even more than the latest case with Epic Games, or WordPress iOS rejected for weeks, that quote from Jason highlights what this is all about. Apple’s total control over iPhone app distribution and payment is preventing developers from doing their best work. The App Store started with good intentions, to help users, but the rules have become twisted, corrupted as Apple gains power. It’s not right.
The next regular episode of @coreint will be out Monday, but today we posted another Extra Intuition episode for members. @danielpunkass and I talk about getting haircuts during a pandemic. 💇
Sent another Sunlit 3.0 beta out this morning with another round of bug fixes. Really happy with the way the app is coming together. We may try to wrap it up and submit to Apple next week. ☀️
Today’s Sunlit 3.0 beta includes several bug fixes. I’ve also updated the web site to include a link to the TestFlight beta. This is a good one to start sending to other people who might enjoy Sunlit.
We’ve added a cycling emoji to Discover. It should find posts with a bunch of variations, including 🚲 and 🚴 and 🚵.
We sent out a new build of Sunlit to TestFlight beta testers. There are still a few things to do, but 3.0 could ship as soon as a couple weeks from now.
We posted a new episode of Extra Intuition just for @coreint members. Thanks for your support!
I missed day 2 (“floating”) of the photo challenge, but finally took my new inflatable stand-up paddle board out on the water earlier this evening.
On this week’s Core Intuition, @danielpunkass and I talk all about Epic Games and the App Store.
It only took a pandemic and a Phoenix Suns 8-game winning streak to keep the Spurs out of the playoffs.
“Fast forward to 2020, and Apple has become what it once railed against: the behemoth seeking to control markets, block competition, and stifle innovation.” — Epic sues Apple over the App Store rules
No matter what happens with the final games to decide the west play-in, very happy with the way the Spurs have played. FiveThirtyEight predicted they would win zero games, and they are currently 5-2 (and were 1 shot away from 6-1). The NBA bubble has been a huge success. 🏀
Excited that it’s Kamala Harris. 84 days until the election! Feels like it’s finally getting real. 🇺🇸
We were playing with Rubik’s Cube this weekend. Here’s my book from the 1980s… Black and white for the inside pages so not the best resource to learn from in 2020.
On the latest Core Intuition: open-sourcing Sunlit 3.0 and more. Also, just for members, we’ve released a new episode of Extra Intuition!
A couple months ago, we watched The Spy Who Came In from the Cold and then became kind of obsessed with finding other old spy movies. Next we watched a series with Michael Caine, and then moved on to James Bond, and so on, filling in a bunch of movies we’ve never seen over the course of a month.
Here’s the complete list, with a short note about each one or each series. First the standalone movies:
Then three movies with Michael Caine, based on books by Len Deighton:
This series started great, and I would’ve loved to see more movies with Michael Caine’s Harry Palmer character, but by the 3rd movie the plot has gone completely off the rails. The author Deighton had an interesting career.
Sean Connery as James Bond. I hadn’t really seen most of these, and never in order before:
We alternated between old Bond and the new movies with Daniel Craig:
Just for fun, we rewatched all the Austin Powers movies too:
I think I’m now officially burned out on spy movies for a while.
Today we’re officially announcing version 1.1 of JSON Feed:
We’ve updated the spec to version 1.1. It’s a minor update to JSON Feed, clarifying a few things in the spec and adding a couple new fields such as
authorsandlanguage.
The jsonfeed.org site has also recently switched over to be hosted on Micro.blog. The design and previous URLs are all preserved or redirected. I created a simple Micro.blog theme to adapt the old site.
Thank you for all the congrats and replies to that 5 years post. One of my favorite things about blogging is marking those milestones, and then being able to look back later. I wasn’t even sure it had been 5 years until I searched my own blog. 🙂
This week 5 years ago, I was winding down the last few days at my regular job. It was a great job working with great people, but I knew I had to move on to be able to create Micro.blog. In a blog post on my last day at the job, I wrote about starting over and the hope for what would come next.
The years since have been both amazing and difficult. Only recently, a few years after launching Micro.blog, does it feel like things are really starting to click. Micro.blog has improved significantly and the community keeps growing. For all the things we still want to do, we’ve also done quite a lot already that I’m very proud of.
Thanks everyone who reads this blog or participates on Micro.blog. The next 5 years are going to be fun.
I’ve been experimenting with a few different features around books on Micro.blog. The goal is to make it easier to blog about a book you’re reading, or to discover other books from fellow microbloggers. Some of these features are now tied together in a more cohesive way, so I’d like to summarize what we have.
There are 2 new buttons on the Discover → 📚 page:
micro.blog/books/isbn-here) will automatically be included in the grid view.Micro.blog also continues to work great with indiebookclub. Micro.blog will format your microblog post and link the book if you’ve included the ISBN, so it will show up in the 📚 page as well as the new covers grid view.
We’re not trying to reinvent all of Goodreads here, but I’m pretty happy with the way these book features are falling into place. If you like to read (or wish you read more often!) I hope this makes Micro.blog more useful for you.
Another experimental books feature: on the web, click Discover → Books → Book Covers. It’s not a complete list yet, and some covers are missing, but hopefully a nice start to more ways of browsing books people are blogging about.
Fixed an issue with saving blog posts to the Wayback Machine, after the Internet Archive changed their API. If you don’t have this enabled, it’s just a checkbox in Micro.blog under Posts → Design. More details in my blog post from last year.
Micro.blog used to have a feature that would mirror the HTML and photos for your blog to GitHub, so that you’d always have an extra copy as a backup outside of Micro.blog. The initial version of this feature had some limitations that forced me to disable it over a year ago. I always hoped to bring it back in another form, and today I rolled out the replacement.
The new version of GitHub archiving has a few changes:
I’ve updated the help page to describe the new feature. It’s available under Posts → Design.
Posted episode 429 of Core Intuition. We talk about the MarsEdit 4.4 release, plans for Black Ink, and more.
Spurs were great tonight in a must-win game against the Kings. Still an extremely narrow path to the playoffs, but so nice to have basketball back. 🏀
The photo challenge for August is a go! In Micro.blog on the web, the top of Discover now shows the current prompt word and a link to the list so far.
Just in time for the upcoming August photo challenge, the latest Sunlit beta is now available in TestFlight. This is the first beta to properly support the iPad, with many improvements.
It’s cool that anyone can add a book to Open Library, with basic metadata and book cover. I added The Venice Chronicles, which I read years ago on the web, and just ordered a used print copy.
Very excited for Pixar’s Luca next year, directed by Enrico Casarosa. Love his short film La Luna, and going back further, his earlier watercolor comics and sketch crawls.
“While my time here has now come to an end, I want you to know that in the last days and hours of my life you inspired me. You filled me with hope about the next chapter of the great American story when you used your power to make a difference in our society.” — John Lewis
Over the last few weeks, we rewatched all 5 seasons of Breaking Bad. Some episodes are still hard to watch, but there are some that might even be better the 2nd time. Unlike so many popular shows that drag on, the series ends when it needs to. Deserves all the awards it got. 📺
One of the minor hassles that has held me back from blogging about books I’m reading is finding the ISBN and cover art. To improve this workflow, I’m testing out a new book search feature on Micro.blog.
Type in the title of a book, and Micro.blog will search Open Library. It is not as complete as Amazon or Goodreads, so I hope to expand this in the future with more data sources. You can add author or ISBN to the search too.
Micro.blog will also show thumbnail images for any book covers that are found for the various editions. You can click on one of the book covers to select it, leading to this page:
From there, use the Micro.blog or indiebookclub buttons to start a new microblog post with the title, author, and ISBN filled in:
Currently reading: The Farthest Shore by Ursula K. Le Guin 📚
I’m going to start using indiebookclub more often to post book reading progress. Might help me actually finish some books, and think about other tools we could build to make sharing easier.
I’ve made a few minor improvements to the web posting form for Micro.blog. The “Preview” button now supports Markdown tables and footnotes, so that it more closely matches the Markdown rendering on your published blog.
The new post URL also now accepts an optional text parameter to pre-populate the text form. For example, to start a new post on the web with the word “Hello”:
micro.blog/post?text=Hello
This is similar to the URL schemes used in the native iOS and macOS apps. It’s useful for creating bookmarklets or sharing from other apps.
MarsEdit 4.4 is now available with major improvements for Micro.blog. Server drafts, editing posts and pages, and downloading your full post history even if you have thousands of microblog posts.
We had a great Micropub pop-up session over the weekend, discussing a dozen Micropub extension proposals. I’ve now implemented some of the improvements in Micro.blog:
filter parameter when getting the category list. If someone is using categories more like tags and has hundreds or thousands of categories, the server can now filter them, making it easier to build category auto-complete in client apps.mp-channel=pages. To query a list of pages, use q=source&mp-channel=pages. Update: Changed from h-page to instead use the new channels idea.q=contact to help clients do username auto-complete. This requires the filter parameter. Clients should also maintain their own username cache, built from the timeline or following lists, so they can show results quickly even before asking the server.q=source on the media endpoint to support paging through uploaded photos with limit and offset parameters.Micropub continues to improve through IndieWeb community discussions like this. If you’d like to learn more about Micropub, I’ve published the Micropub draft chapter from my upcoming book here.
Loved the first season of Central Park on Apple TV+. Very funny and when the songs were good, they were really good.
Lots of great feedback about the Sunlit 3.0 beta. Thanks everyone! We have a few bugs to fix, especially around sign-in and replies.
A couple weeks ago I posted a sneak peek at Sunlit 3.0, our iOS companion app for photos. Today we’re opening up the beta and also making the source code public.
You can sign up on TestFlight here. There are still some rough edges, and this version is mostly for iPhone. iPad will be improved in the next beta, and macOS will follow later.
Sunlit can post to Micro.blog-hosted blogs, WordPress, or any blog that supports the Micropub API. You can use it with a free Micro.blog account or a paid subscription.
Composing a new post is much more flexible now. You can post a quick photo, or you can create a full blog post with multiple photos and text sections. I’ve created a screencast below to show how it works:
Jon Hays also joined me on the latest episode of Timetable to talk about the Sunlit beta and more.
Resuming my microcast Timetable this week, and @cheesemaker joins me for the latest episode to talk about the upcoming Sunlit 3.0 beta. (If you had previously subscribed, I made a mistake with the link, so if your podcast app cached the wrong audio, delete and re-download.)
Can’t believe it’s almost August already… We’re doing another photo challenge! @macgenie has the details and how to send in suggestions.
If you’re using the Typewriter design on Micro.blog, there’s a new plug-in on the Find Plug-ins page that adds Dark Mode support. Thanks @TheDimPause for sharing it!
We’ve had our orange tree for years but it has never produced fruit until this year, and now it has dozens of oranges. Can’t wait.
Coming up this Saturday, there’s a Micropub discussion session over Zoom. We’ll be reviewing some of the Micropub extensions people are using (including Micro.blog). Details on the IndieWeb events site.
If you ever use Micro.blog from a Mac, check out the MarsEdit 4.4 beta. Major improvements for managing posts, pages, and drafts on Micro.blog.
There’s another new plug-in on the Find Plug-ins page: Category Cloud adds a /categories page to your blog with your category names, sized for how many posts use them. Thanks @chaitanya! (Should work with all the themes except Lanyon and Minos.)
We took last week off, but @coreint is back. Just posted episode 428 with @danielpunkass and I talking about the Twitter hack, Twitter leadership, Micro.blog, and MarsEdit 4.4.
After years of gathering dust, lately I’ve been using my old iPad Mini everyday. Reading in the Kindle app and writing in Ulysses. Only problem: it’s so old it can’t run iOS 13, which means no Hey iOS email and no Sunlit 3.0 beta. Otherwise still works great.
“As of today, 90% of everyone who pays for our service uses at least one Apple device.” — DHH in a statement to the antitrust subcommittee
There’s a new plug-in on the Find Plug-ins page: Navigation List by @TheDimPause. It adds a Pages link to your navigation that shows a list of your other pages and categories, so you can keep your main navigation simple. See it in action here on @TheDimPause’s site.
For anyone using IndieBookClub to post what books you’re reading to Micro.blog, I changed how Micro.blog links ISBNs for you. Instead of always redirecting to Amazon, it now shows a page like this with the book cover and links to Amazon and Bookshop.org.
Added @jsonbecker’s Bigfoot plug-in to the Micro.blog “Find Plug-ins” page. This works really well. Now you can use Markdown footnotes in your blog post and get a nice popup.
I’ve rolled the Quotebacks experiment out to more places in Micro.blog on the web. The “Embed” link makes it easy to copy a microblog post and then paste it into a full-length blog post. More improvements will follow later to the apps and editing.
There’s another new plug-in from @jsonbecker: Glightbox, which lets you add photos that zoom in when clicked, and other image gallery options for your blog. Click on Find Plug-ins to install it, or read more about it here.
The custom.micro.blog site is now a team blog, and @Miraz is inviting other folks to contribute. It’s a great place to share new Micro.blog plug-ins and tips.
Our app Sunlit has an interesting history. Jonathan Hays and I came up with the original concept for the app way back in 2012. The app changed form a couple times, first building off of App.net, and then adapted for blogging. Along the way, it accumulated a lot of baggage — old code and old designs that made it difficult to keep improving the app.
Today I’d like to give a sneak peek at what’s next for Sunlit: version 3.0, a complete rewrite, sharing essentially no code with previous versions. Jon has been working on this for a while, leading development while I focus most of my time on Micro.blog itself. We are taking what we’ve learned and trying to build an app that can appeal to people looking for an Instagram alternative, as well as people who want more control over publishing blog posts with multiple photos.
Here are a couple screenshots:
The app will also be completely open source. It can publish to Micro.blog, WordPress, or via Micropub to IndieWeb blogs. It’s written in Swift. There’s no release date yet, but there will be a public beta, and we hope to take the time to get it right.
I love seeing the new Micro.blog plug-ins! Here’s one from @jsonbecker: it adds a Hugo shortcode to make linking books from Bookshop.org easier, with a setting for your affiliate ID. Install it under the Find Plug-ins page.
Thanks to @thatguygriff for sharing a Micro.blog plug-in that adds Open Graph tags to your blog, to allow previews on various social media platforms and iMessage. You can install it under the Plug-ins tab → Find Plug-ins.
As an animation fan, I used to buy Laserdisc box sets for all the extra behind-the-scenes footage. And then of course DVDs. This 6-part “making of” for Frozen 2 on Disney+ is way beyond that. Over 3.5 hours of material.
We’re going to skip recording @coreint this week. Also considering whether it’s time to update the format or schedule.
Updated both the “Twitter cards" and “Search page” plug-ins to fix compatibility problems. You can upgrade on the “Find Plug-ins” page. Learning a lot with this new system! Sorry for the early glitches.
A quick heads-up to theme and plug-in web developers: I’ve tweaked how Micro.blog sets the blog title and your name. It should be more consistent and flexible now. The .Site.Author.name variable is always your name, instead of being the same as .Site.Title.
Inspired by a question from @andynicolaides, I wrote a Micro.blog plug-in that adds a “Search” page to your blog. It downloads all your posts and searches them via JavaScript in the browser. You can try it on manton.org or install it under Posts → Plug-ins.
I often hear from people who like the built-in designs on Micro.blog-hosted blogs, but they want to customize just one little thing about the default HTML. No problem! Because the designs are built with Hugo, you’ve been able to create a custom theme to override any template file or add new functionality to your blog. But that flexibility comes with a learning curve: it requires knowledge of HTML, CSS, and sometimes even JavaScript.
Today I’m launching a plug-ins system for Micro.blog that formalizes a lot of the power of Micro.blog themes, but wrapped in a package that is easier to develop and install. Instead of creating a custom theme for your blog and editing the templates yourself, you might be able to find a plug-in that will add the feature. Unlike custom themes, there can also be multiple plug-ins installed for a single blog.
Here are a few of the things plug-ins can do:
There is a new plugin.json file that a plug-in can provide to tell Micro.blog what parameters should be configurable for the plug-in. This file also includes the plug-in metadata and any extra CSS or JavaScript references.
Here’s what a plugin.json file would look like for a plug-in I wrote to provide some more control over Micro.blog’s default Photos page. Because the plug-in defines some parameters, those are available in a settings UI inside Micro.blog automatically:
Plug-ins are available under a new “Plug-ins” tab in your blog settings. Click “Find Plug-ins” to see a list of registered plug-ins.
Since this is brand new, it only includes a few plug-ins that I wrote. Web developers who want to contribute a new plug-in to the directory can email me: help@micro.blog. There’s a help page here with more details about developing plug-ins.
And if you have ideas for a plug-in, let me know that too. In the past, when I’ve heard a feature request that requires a custom theme, I’d have to consider either adding that as a built-in Micro.blog feature — which might complicate the UI for everyone, even if few people wanted the feature — or I’d explain how to create a custom theme to solve it. Now, I can implement some of those requests as plug-ins.
There’s a lot more which I’ll be documenting. Having said that, Micro.blog plug-ins can’t do everything. As we learn what people want, I’d like to work with plug-in developers to iterate on this system, as well as clean up some of the built-in themes so that it’s easier to override certain behavior in a blog. Enjoy!
Preparing to launch a new feature tomorrow, but of course in the process I accidentally broke some parts of blog publishing for people using completely custom themes. Sorry! All fixed now, but please report any issues to @help or email.
Just posted Core Intuition 427. @danielpunkass and I talk about receiving Apple’s dev kit for ARM, developing for Big Sur, looking to upcoming releases like MarsEdit 4.4, and more.
Catching up on a couple of the sessions I missed at IndieWebCamp West. All the videos are linked on the schedule page here.
Had a good conversation with @danielpunkass today, which will be on Core Intuition tonight or tomorrow. Tempted fate and recorded the show using Big Sur. Pretty excited about the Mac right now.
I’m running Big Sur full time. Here’s an early build of the next update to Micro.blog for macOS. It’s not going to ship for a while, so I might make betas available later.
Planning to launch something new for Micro.blog next week. But first, got away for a couple days to the beach. Plenty of space, felt like the most fresh air we’ve had in months. Now back and catching up on email.
With WWDC mostly wrapped up, it’s time to look to IndieWebCamp West this weekend. Virtual doors open via Zoom at 9am Pacific, then keynotes, demos, and afternoon sessions.
New episode of Core Intuition covers our reaction to the first few days of WWDC. Mac frameworks, ARM transition, and the online-only format.
Got my approval email for the ARM dev kit. I was starting to wonder, but I guess they have plenty to go around. Also settling in to Big Sur on the new MacBook Pro.
In all the WWDC excitement, forgot to check whether Dropbox works before jumping to macOS 11. It doesn’t. I use Dropbox everywhere, so probably need to take a step back on this upgrade if they can’t address it soon.
Thanks everyone who made it to our Micro.blog Meetup + WWDC virtual group photo today! It really means a lot to us that people care so much about this platform. I’m as inspired now as the day we launched it.
On the podcast recently, @danielpunkass and I speculated that if WWDC 2020 is a “success”, Apple may never go back to a fully in-person conference. Too early to say, but a lot of this week is working well. Pre-recorded sessions have nice benefits like a great, edited transcript.
Morning everyone! Looking forward to new WWDC videos today. Also, join us for a quick Micro Meetup today: 12pm pacific time. It’s a chance to say hello and snap a group photo for our tradition of WWDC meetups. RSVP here for the Zoom link.
I launched Micro.blog and everything else exclusively on this old 13-inch MacBook Pro. Not fast enough, not enough memory, not enough disk space, no monitor. I think an upgrade after 5 years is going to be amazing.
I bought my current MacBook Pro 5 years ago. It’s held up well. Today, ordered a 16-inch. I was going to max it out and keep it for years, but couldn’t justify the price, so went with a simple configuration. Seems right since ARM is not far off.
For the last 3 years at WWDC, we’ve had a Micro Meetup for attendees in San Jose, with a group photo to capture the meetup. We’re going virtual this time! Join us tomorrow for a quick group photo on Zoom and say hi. @macgenie has the details here.
This was one of the best WWDC keynotes in years. Start of ARM transition looks great, running iOS apps on macOS is going to be wild, and I think I’m going to like where they’re going with the Big Sur design. (But don’t think I’ve forgotten last week’s App Store review problems.)
I was hoping for major Catalyst improvements, and it looks like we got them. Looking forward to the details.
Apple has covered a lot already, and this keynote format makes it easier to have more presenters. Very little wasted time. I like it.
It’s WWDC opening day. I wasn’t planning on writing about the App Store again, because I feel like I’ve said it all before, but maybe I haven’t put it together in one place, or in a concise enough format.
Because I’ve dedicated the last several years to working on Micro.blog and writing about the open web, I think about the problems with massive social networks all the time. I’m obsessed with it. The App Store is also a huge platform with far too much power, so fixing it is not all that different than figuring out what to do with Facebook.
Here are the 4 things Apple should do:
Anything short of all this is a band-aid, not a permanent fix.
We’ll be collecting WWDC-related posts in a special section of Discover on Micro.blog today.
One of my blog posts from 2016 that holds up well today when talking about the App Store: Apple apologists.
When did we all just accept that of course Apple’s services revenue needs to keep growing? No company deserves success automatically. Whether the App Store is very profitable or just a little profitable is not my problem.
“Money grabs the headlines, but there’s a far more elemental story here. It’s about the absence of choice, and how Apple forcibly inserts themselves between your company and your customer.” — Jason Fried
“Change is hard, but delaying what’s right is toxic.” — Seth Godin on Juneteenth
Someone decided to throw a database of thousands of exploitable xmlrpc.php URLs at us this morning. It doesn’t work, but did create a couple performance hiccups in the timeline. This is why we use Hugo, so that hosted blogs are fast and mostly isolated from database code.
Daniel and I recorded a new Core Intuition today all about the App Store, Hey rejection, and thoughts leading up to WWDC next week. This issue is not going to go away until Apple loosens their grip over distribution and payment.
I have long argued for fixing the 2 most fundamental problems with the App Store: exclusive distribution and exclusive payment. With Apple’s monopoly on iOS app distribution, we should have more options such as side-loading, reduced payment fees, and flexibility to sell subscriptions outside the store without hiding external links from potential users.
See my blog posts from 2011, 2016, 2018, 2019, and my broader essay on open gardens.
Now the EU is investigating Apple. Apple’s response:
It’s disappointing the European Commission is advancing baseless complaints from a handful of companies who simply want a free ride, and don’t want to play by the same rules as everyone else… We don’t think that’s right — we want to maintain a level playing field where anyone with determination and a great idea can succeed.
This is the worst, most insulting statement from Apple that I’ve ever seen. Everything in it is backwards.
For a long time I’ve wanted to add quoting tools to Micro.blog, so that it’s even easier to embed text from other blog posts and add your own thoughts. Markdown block quotes are fairly easy, but do require a little more copy/paste work and some editing.
So I was really interested in the recent launch of Quotebacks, from Tom Critchlow and Toby Shorin. We’ve needed a kind of “embed microblog post” feature in Micro.blog, similar to the embedding that Twitter and Facebook have. Quotebacks are exactly that, but they work for anything on the web.
I’d like to run with Quotebacks and see where it leads us. For now, I’ve added “Embed” links on the Micro.blog Favorites page on the web. This is an experiment. It will likely change, either rolling out in some form to all the platforms, or based on feedback maybe we’ll go in a different direction.
I’ve also forked the Quotebacks repository and tweaked the JavaScript with a couple changes:
data-avatar attribute.How does this look? I’m embedding a microblog post below using this feature:
I’ve kept the “Embed” links isolated to the Favorites page so we can try a few things without disrupting the rest of your Micro.blog workflow. There are other questions to answer, such as how this should integrate with sending Webmentions, but I think having something like this to play with is a good first step.
We’ve posted Core Int 424, talking with @danielpunkass about the ARM rumor, how it compares to previous transitions, WWDC, and more.
I’ve just added better “alt text” support when posting from the web in Micro.blog, catching up with the native apps. Click the photo preview to get an “add accessibility description” prompt.
My new Gluon shirt arrived. If you’re new to Micro.blog, check out Gluon for iOS and Android, or buy a shirt to help support a third-party Micro.blog developer.
I’ll be attending IndieWebCamp West later this month. It’s online-only, centered in the west coast timezone, but anyone around the world is welcome. Need to think about IndieWeb-related goals for Micro.blog that week.
We published a new episode of Core Intuition today. From the show notes:
Daniel and Manton react to Apple’s statement against racism, and also talk a bit about the Accidental Tech Podcast’s statements. They talk about trying to figure out what we can all do as individuals in the wake of this. Daniel talks about getting a Black Ink update out the door while continuing to struggle with finishing up MarsEdit 4.4. Manton shares an update on Micro.blog progress, and shares his new “stop keeping track of things” methodology for getting things done.
The podcast is 12 years old now, started right before WWDC 2008. I don’t know if we’ll still be recording 12 years from now, but let’s imagine we might be. What will America look like in 2032? I hope we will all be able to look back on the intervening years and say that we cared about something that mattered, supporting the people who made a difference.
We’ve updated Micro.blog’s muting today to work more consistently everywhere, with a new option to hide replies that mention the username you are muting. Now when you mute a username you’ll see an additional checkbox to enable this option:
Posts that would normally appear in any of the Discover screens or search are now hidden. Replies in the timeline and conversations are also hidden.
The muting interface is on the web under Account → Edit Muted Users. I’ve also updated the API to support muting.
Love these new USPS stamps. Picking out stamps was one of my favorite parts of sending stickers to Kickstarter backers. The best stamps are both art and history.
You can now more easily upload short videos to M.b from the web, not just from the native iOS and macOS apps. M.b will scale them down a little if necessary and automatically create a poster frame. Video hosting is included in the podcast + video plan.
I’ve made some minor improvements to M.b posting from the web today. Attaching a photo shows a thumbnail preview before posting. Uploading an audio file shows the title field, since it’s useful for podcast episodes. Plus a progress bar and other fixes.
“Many votes together can change the course of history. If you don’t make good use of your vote, you enable those who would abuse our ideals to come into power, maintain control, and destroy what we value.” — Leave Facebook by Om Malik
Everyone reacts differently when frustrated by what they see in the world. When I don’t know what to do, I work. After 2016, that led to launching Micro.blog. Building a platform that can help people find a voice (and avoid amplifying the voices of hate). It seems small next to the more widespread changes that are needed in America right now, but it’s one positive thing I can focus on.
Barack Obama had a great essay on Medium this week, highlighting how working locally has a big impact:
If, going forward, we can channel our justifiable anger into peaceful, sustained, and effective action, then this moment can be a real turning point in our nation’s long journey to live up to our highest ideals.
What I read into his words and from many other posts over the last few days is that we all have a small part to play. The solution isn’t one daunting, impossible task but instead thousands of “minor” choices, from local elections, to what we say and write about, to where we donate, to how our social networks are designed, to which stories journalists cover.
Even small movements forward can make a difference. Stay safe, everyone.
On this week’s Core Int, we talk about @danielpunkass getting inspired with Black Ink, progress on MarsEdit 4.4, me shutting down Slack, and the challenge of focusing as a small business.
No surprise since we launched microcasting on Micro.blog — short podcasts, usually around 5-15 minutes — that I love the short format of Dithering with John Gruber and Ben Thompson. Today’s episode covers the escalating Trump vs. Twitter drama. Ben says:
At the end of the day, people act like what Twitter should do is obvious. When, one, I can make an argument for any number of things that Twitter should do, all of which are in conflict with each other. But two, it turns out most companies are not prepared for the president of the United States to be tweeting murder conspiracy theories, and I think that’s a pretty understandable lack of preparation.
They cover a few angles of this. It’s a really good episode.
Last year I published an essay about open gardens that fits right into this discussion, on the balance between free speech and moderation in social networks. It remains a guiding principle of how I think about Micro.blog.
Nick Heer also has a good summary at Pixel Envy on Trump’s executive order with related links.
Kiki’s Delivery Service was the first Miyazaki film I watched, in 1998 when I found it on VHS. We have since watched the first DVD release many times. Now with HBO Max… I’ll admit I really miss the songs from Disney’s early cut of the film. 🧹
Three years ago I created microblogging.slack.com to chat about indie microblogging and Micro.blog. There have been many great discussions in that time, and I appreciate everyone who has contributed or helped other members of the Micro.blog community. But to continue to improve Micro.blog regularly, I need to focus on fewer support channels.
Daniel Jalkut and I talked about this on Core Intuition 421. It is not sustainable for me to work on new Micro.blog features at the current pace as well as be responsive in Slack. If someone has a question about Micro.blog, I want to point them to the best place to get a thorough answer, and that’s email.
Slack also has a couple problems:
Last year, Jean MacDonald and I considered replacing Slack with Discourse. We may still do that, or it may be that forums around microblogging should best be run by the community rather than an official channel of Micro.blog. There is also a great IndieWeb chat accessible via Slack.
This weekend, I’ll be closing the current Slack. I will export all the data for backup — just in case we want to rebuild it in the future, or make the messages searchable — and then I’ll completely delete the Slack account, unless I can find a more elegant way to handle shutting it down or pausing it.
Thanks again to everyone who has participated in the Slack community, sending feature requests, helping others with Hugo theme questions, and just being supportive of the mission of Micro.blog. See you on Micro.blog!
All podcasts hosted on Micro.blog now have a special JSON Feed version of the podcast feed: /podcast.json. This is mostly for the future, but could be useful today for scripts or other automation tools.
I added a new built-in design to Micro.blog today: Archie, based on the Hugo theme of the same name. It has been lightly modified to work well in Micro.blog, and my changes are on GitHub.
What I liked about this theme is that it was different than most of the built-in designs, and it has a custom dark mode interface:
The link colors can be changed using a custom theme by editing the top of the main.css or dark.css templates.
It’s a few days late, but Core Int 421 is now online. Acquisitions, support, and mission statements.
Just a quick update for the iOS version of Micro.blog. From the release notes:
You can download it in the App Store.
Spotify or Apple acquiring podcasts to make them exclusive is like if Micro.blog acquired someone’s blog to make it only readable in Micro.blog. Ridiculous.
If you’re using iA Writer, check out version 5.5.1 now in the App Store. They’ve improved Micro.blog sign-in, plus other fixes.
Fixed several more issues with Markdown import. Thanks folks who sent me example posts from your Jekyll and Blot blogs. Micro.blog now handles more variation in different styles of front matter.
I always panic when prompted for a tip that I wasn’t expecting. Last week, should’ve tipped more for our restaurant delivery driver who waited forever. This week, tipped too much for the plumbers. Hopefully the karma balances out.
Last week I made available an archive of all App.net posts, which I had downloaded right before App.net shut down. There are now a couple tools to help process your own App.net posts from the archive.
Jordan Merrick has an iOS shortcut to download your posts:
Posts are made available as JSON dictionaries containing various pieces of information, such as the text and date created. All posts are downloaded and saved as individual JSON files to iCloud Drive at /Shortcuts/ADN Archive.
And Matt Bircher has a web app that can download your posts as a CSV file. If you have thousands of posts, note that both solutions are going to take a long time to run, because they have to download one post at a time from the archive.
Book recommendations challenge this week on Micro.blog! Check out the books section of Discover. And nice timing, I haven’t started reading it yet but just today Dan Moren’s latest arrived in the mail. 📚
I’ve redesigned the theme text editor in Micro.blog, adding a preview pane and other improvements. It now features a split view with the template on the left and your web site on the right.
When you update a template, Micro.blog publishes your change and then reloads your web site. Micro.blog knows when the publish has finished, so you no longer need to keep reloading, waiting for the change to show up.
This works best with a test blog, which you can create from Posts → Design → Edit Custom Themes. You can use it with your main blog too, but test blogs are usually faster to update. If your theme is being used by multiple blogs, Micro.blog will always show the test blog in the split view.
I’ve also updated all the built-in designs to include the theme modified time in any CSS references on your blog. This helps web browsers reload your design right away, while still caching the CSS until you edit your theme again. There’s a new Hugo variable for this: .Site.Params.theme_seconds
If you’ve ever worked on a custom theme, I think you’ll find this interface drastically better than the old workflow. It is much easier to iterate on a design. Enjoy!
I rolled out 2 major improvements to Micro.blog’s import feature today:
title, date, and categories or tags.You can read more about this over at the help. For the Markdown import, keep in mind that it’s just a ZIP file of Markdown files. It does not support including photos inside the archive because they will be downloaded from the web during import.
Despite the hiccup last night with profile photos while Linode had downtime for maintenance, Micro.blog should also be running significantly faster than before. I upgraded 2 servers last week.
Good news: I added a new Micro.blog server today, speeding up a few things. Bad news: A configuration error caused some photo uploads to return an error. All fixed now.
Daniel and I talk about iA Writer adding Micro.blog publishing and more on the latest Core Intuition.
I improved 404 pages for Micro.blog-hosted blogs and documented the feature here. Easy to customize now.
Swapped out the Redis server that handles most of the Micro.blog timeline data, and I think I may have done it without breaking anything. Let me know if you notice any new glitches. (Or old bugs, too.)
New emoji in Micro.blog! We’ve added 🏳️🌈, ☕, and 🏃 to the Discover section. See the help page for the full list and links.
Here’s a quick tip about iA Writer’s new support for Micro.blog. If you use hashtags in iA Writer to organize your documents, you can configure your hosted microblog to automatically assign Micro.blog categories based on those tags.
When you publish to Micro.blog, the tags from iA Writer will be included in the blog post content. Create filters in Micro.blog to automatically assign categories based on those tags. Filters are run whenever a new blog post is created.
Here’s what a post might look like in iA Writer, using the hashtag #travel:
In Micro.blog, click Posts → Categories → Edit Filters to create a new filter. For the text, enter #travel, because we know it will appear somewhere in the text content. Then pick a category to assign for any matching posts:
Note that the hashtag will still appear in your blog post, although you can edit it out later if you want to.
Exciting news today: the latest version of iA Writer for both iOS and macOS can publish to Micro.blog-hosted blogs. It uses the Micropub API, which is Micro.blog’s native API for posting.
To get started in iA Writer on iOS, go back to the first screen in the app and tap the settings icon → Accounts → Add Account → Micropub. You’ll be prompted to approve iA Writer in Micro.blog. If you’re not signed in yet in mobile Safari, you can sign in first and then try again:
In a text document, tap the share icon → Publish → New Draft on Micro.blog:
When you publish a post, it’s saved on Micro.blog as a draft, and iA Writer opens a preview of the draft on Micro.blog. From there, you can tap to publish it.
Thanks to the iA Writer team for making this happen! And because it’s built on IndieWeb standards, it’s not just tied to Micro.blog. I’d love to see similar support in other popular text editors.
This glitch is because I got some file permissions wrong on a server. I’ve been running chown -R for over an hour. Should’ve anticipated that it would take forever.
If you use Micro.blog on the web and would like a dark mode version, Jason Burk has created a userscript you can add to your favorite web browser.
In the final week before App.net shut down, I whipped up a few scripts to download every post on the platform via the API. After that finished, I also attempted to download small versions of many of the photos, but ran out of time. This data has been sitting on one of my servers for the last 3 years.
Why did I bother? At a high level, see my post from 2012 called Permanence. I also hoped to build a tool that would let anyone export their personal archive, or even migrate it to a blogging platform like Micro.blog.
I took some time this weekend to make the posts available. It’s the bare minimum to find a list of posts for your username, then download them. There’s no HTML interface; the data is meant for apps or scripts to access.
Here’s the structure of the main URLs:
There are also a very limited number of photos:
I’m still on the fence about integrating this as an import feature for Micro.blog. Right now, I don’t plan to. When Micro.blog first launched, we had a Twitter import feature, and I ended up disabling it because almost everyone who imported thousands of tweets into their blog regretted it.
At the very least, importing tweets or App.net posts requires some curation. It should be done thoughtfully, not with a single click.
If you use this data for anything, let me know! I tentatively plan to host these indefinitely, but I’m still looking for ways to simplify it, and may try again to move the archive to S3 in the future.
After a weekend of uploading files to S3 for this App.net archive, decided to abandon that approach because the cost (and time) of transferring all 70 million posts is not worth it. Gonna keep the data on a tiny web server instead.
Last day of the Micro.blog “quotes” challenge. I recently started looking through this book — Mickey Mouse: From Walt to the World — which I picked up a year ago at the Walt Disney Family Museum. 💬
Does anyone remember if App.net had private/protected accounts? I might’ve made a mistake 3 years ago when downloading all the posts using my own account, since I could have access to non-public posts. But I don’t see anything in the API about it.
I’ve added a help page for teams in Micro.blog. Includes details on the Hugo parameters for adding author names to custom themes.
Posted episode 419 of Core Intuition with thoughts on WWDC, Micro.blog for teams, and the updated MacBook Pro.
Trying to figure out how to lower my AWS bill, I realized today that I had a (tiny) EC2 instance running basically unused for the last 3 years. Whoops. Still not sure where to put its data, though, which is why it’s been sitting there so long.
The latest tutorial from ScreenCastsOnline is for Micro.blog! It covers so many features, from the basics to hosting, uploads, pages, native apps, and much more.
I’ve had my original Apple Watch for 5 years, so it had kind of become a point of pride that the first generation watch still worked fine for my needs every day. Finally decided I should upgrade. Series 5 arrived this week. Noticeably bigger but very nice.
Micro.blog for iPad has been updated with a narrower sidebar width in portrait. Much nicer.
Today we’re launching a new feature on Micro.blog: support for multi-user blogs, so your whole team can write posts on a shared blog. We think it’s going to be great for small companies, families, and schools, with everything from shared photo blogs to podcasts.
When you upgrade a blog to the teams subscription, a new “People” tab will appear in Micro.blog. Here you can give existing Micro.blog accounts access to post to the blog, or you can invite new people. Team members can publish new posts, edit existing posts, upload files, manage categories, and more.
For example, for our Micro Monday podcast, previously Jean and I had to share a Micro.blog account to make changes to the podcast. Now it’s a team podcast where either of us can post with our individual Micro.blog accounts:
When someone is added to a team blog, that blog shows up as an additional blog on the web or in the native iOS and macOS apps. A single Micro.blog account can have access to any number of blogs and podcasts.
The teams plan is a $20/month subscription with unlimited users. It also includes podcasting and video hosting. If you invite someone who doesn’t already have a Micro.blog account, Micro.blog will give them immediate access to the team blog without prompting them to create their own microblog or sign up for a paid subscription.
To upgrade a blog, click on “Plans” and choose “Upgrade to Teams”. If you have any questions, let me know at help@micro.blog.
Picked up a to-go coffee today and the place felt uncomfortably crowded. There were only 4 people there. All wearing masks, all 6 feet apart. This is going to be weird for a while. ☕
Updated Micro.blog’s WordPress import and export to support categories this morning. Also, launching something new later today.
It’s supposed to be hard. If it wasn’t hard, everyone would do it. The hard is what makes it great.
— Jimmy from A League of Their Own
Love this new DuckTales print by Stephanie Ramirez. Framed it today to go with Firewatch, if I can find room for both together on my office wall.
First day of the Micro.blog challenge for this week: quotations! Starting with a favorite movie line:
You wanted to know how I did it? That’s how I did it, Anton. I never saved anything for the swim back.
— Vincent from Gattaca
Rolled out some server improvements today, including a new “…” button for quickly switching between multiple blogs when managing posts, pages, and categories. It also shows your own domain name in more places.
The third-party Micro.blog app Icro has been updated to version 2.2, with Markdown syntax highlighting and other improvements. Download it in the App Store. (Available for macOS too!)
Starting next week, we’re doing a series of micro challenges on Micro.blog to inspire different kinds of blog posts. Check out @macgenie’s post for the details. Should be fun!
The iOS version of Micro.blog has been updated to version 1.8.1. This fixes the problem of not being able to edit all of the text for longer blog posts, plus a few layout, color, and Dark Mode issues.
We set up the hammock on the front porch. Maybe I need to use the iPad for more work and just stay out here all the time.
For the last 2 years, Chet Collins has published a microcast where he shares bits from his day with his kids. He wrote on his blog this week about why a podcast is such a nice format for capturing these memories:
Audio recordings, in an open format, are about as future-proof as you can get. Even more than that, these recordings deliver the actual sound of my children’s voices, their laughter, and their unfiltered thoughts. They are the perfect time capsule of my children, recorded and preserved for the future.
These recordings are very special. Using a podcast essentially provides some structure, transforming audio snippets from everyday life into a format that can be easily reviewed later. It’s more organized than a digital junk drawer of random video clips, which for most people are unlikely to ever be edited. Podcasts inherently have a narrator to give context.
The closest thing we’ve done is a family travel blog, where text and photos can be brought together to highlight certain parts of the day. A podcast would make a great addition to that.
Just posted Core Intuition 418. @danielpunkass and I speculate more about WWDC, question whether it will ever return, and then discuss how Apple and other companies will adapt to a changed world.
Here’s a simple tip for using MarsEdit with Micro.blog. By default, formatting options in MarsEdit such as Bold and Italic map to HTML tags: <strong> and <em>. You can customize them to use Markdown instead.
Click on Format → Customize to bring up MarsEdit’s Formatting Macros window. Delete the existing Bold and Italic commands and click the “+” button to create a new one. For Bold, add “**” for the opening and closing markup and set the keyboard shortcut ⌘B. For Italic, use “_” and ⌘I.
Not everything in Markdown can be added to MarsEdit this way, but it’s nice to have a couple of the basics. You can also set the Preview Text Filter in the preferences window to Markdown.
I’ve updated Micro.blog for macOS to version 1.9.3 with a few bug fixes:
If you didn’t know about the Instagram import, I made a video walk-through with details of how it works. You can download the latest version of Micro.blog here or choose “Check for Updates” if you’re already running Micro.blog.
We’ve added 🌱 to the Discover section on Micro.blog, mostly for gardening. Related: Happy Earth Day!
Micro.blog supports primarily 2 APIs for posting to hosted blogs:
XML-RPC used to be the standard for blog posting, widely supported in all blogging platforms. It is still used in WordPress today, and I’ve supported it in Micro.blog from the beginning. I’ve always wanted Micro.blog to be compatible with as many apps as possible, especially MarsEdit.
To understand XML-RPC, we have to go way back in blogging history, to 2001 and the original Blogger API by Evan Williams. Micro.blog’s support for XML-RPC still closely matches what the API looked like nearly 20 years ago.
As is obvious from the name, requests and responses in XML-RPC are sent as XML. Common data types such as integers, strings, and structs are encoded with rules outlined in the XML-RPC specification. To create a new post in the original Blogger API with the words “Hello world”, the request to the method blogger.newPost might look like this:
<?xml version="1.0"?>
<methodCall>
<methodName>blogger.newPost</methodName>
<params>
<param>
<value><int>app ID</int></value>
</param>
<param>
<value><int>blog ID</int></value>
</param>
<param>
<value><string>manton</string></value>
</param>
<param>
<value><string>mypassword</string></value>
</param>
<param>
<value><string>Hello world.</string></value>
</param>
<param>
<value><boolean>1</boolean></value>
</param>
</params>
</methodCall>
Subsequent blogging platforms extended the Blogger API with their own features. Instead of blogger.newPost, Movable Type had mt.newPost with similar parameters, adding a title field. WordPress had wordpress.newPost.
To try to unify future improvements under a vendor-neutral standard, Dave Winer proposed the MetaWeblog API. MetaWeblog switched to passing content as structs, which could more easily be extended with additional fields, and added an image upload API, metaWeblog.newMediaObject. Dave patterned the field names after RSS:
The MetaWeblog API uses an XML-RPC struct to represent a weblog post. Rather than invent a new vocabulary for the metadata of a weblog post, we use the vocabulary for an item in RSS 2.0. So you can refer to a post’s title, link and description; or its author, comments, enclosure, guid, etc using the already-familiar names given to those elements in RSS 2.0.
Dave wasn’t the only one who hoped to bring consistency between feed formats and a blogging API. A couple years later, AtomPub was created based on Atom feeds.
Ben Trott of Six Apart, makers of Movable Type, blogged at the time about the benefits to basing an API on the Atom feed format, which back then was called Echo:
Benefits to developers: using the same data model and serialization for syndication, archiving, and editing simplifies the development of tools to work with (produce and consume) these formats, for obvious reasons: code written to produce an item in an Echo feed, for example, can also be used for producing data sent in an API request or packaged up for archiving.
AtomPub was adopted in Blogger but is not supported in any other modern blogging platforms. Earlier this year, MarsEdit developer Daniel Jalkut announced that he would also be phasing out support for posting to Blogger.
Between the early 2000s when there was so much activity around blogging standards, and the growth of the IndieWeb and W3C-recommended standard Micropub API in 2017, there was a notable lack of innovation in blogging. Everyone was pulled away to social networks. Platform-specific APIs became the norm. It is because of this lull that XML-RPC survived so long without a modern replacement.
So that brings us to today. Micro.blog has always worked with MarsEdit, but because it’s based on a standard that was frozen, MarsEdit could not support all of Micro.blog’s features. And while Micropub is clearly the future, there is more we could do now without requiring MarsEdit to be adapted for Micropub.
I’ve been working with Daniel to identity what is missing from MetaWeblog and rolling that into a new Micro.blog-specific flavor of XML-RPC. This is essentially what Movable Type and WordPress had done years ago. I had avoided it until now because Micro.blog should default to supporting standards wherever possible before inventing something new.
We talked through this on Core Intuition 416. Now that there’s an alpha of MarsEdit 4.4 available, I’ve documented the new API parameters here. It is based on MetaWeblog, but cleaned up with more consistent field names and support for new features such as creating and editing pages on your blog, server drafts, and downloading all posts.
Micro.blog now shows up in MarsEdit as one of the supported blog systems, along with Tumblr and WordPress:
I’ve been using the new MarsEdit for the last few days, and it really is a big improvement for Micro.blog. Keep an eye out for the final release.
Alamo Drafthouse can’t show movies, so they launched Alamo Curbside for meal kits with fun bonus items. We got a lasagna package that also included a puzzle, popcorn, toilet paper, and a random mystery DVD selection: The Look of Silence. 🍿
On the latest Core Intuition we talk about leaving the house, plus more about how local small businesses are adapting and what we should do with our own software companies.
There’s an alpha version of MarsEdit 4.4 with expanded support for Micro.blog: server drafts, pages, and more. Check out Daniel’s microblog post for the details. (This post was published with it.)
We watched McMillion$ this week. It starts a little slow, but well worth it. Fascinating story that goes in directions I wouldn’t have predicted. 🍟
I love this idea to resume the NBA season and playoffs at Walt Disney World. It’s well-isolated, has thousands of unused hotel rooms right now, and (of course) basketball courts. 🏀
Experimenting with new Discover emoji in Micro.blog for everyone baking bread (🍞 and 🥖) and writing (📝, ✏️, and 🖊️). I’ll continue to tweak based on feedback. It might take a few days to update with recent posts.
The iPhone SE isn’t for me… Love my X and will likely get the 11 Pro before the 12 comes out. But I could see the SE appealing to folks who want a less expensive upgrade or a return to Touch ID. 😷
Now that we’ve made masks, I feel a little more comfortable occasionally leaving the house for errands. Picked up an online order from Illuminate Coffee for the first time in forever. ☕
There’s a new version of Gluon for Micro.blog available. Lots of new stuff including support for adding categories to your blog posts, auto-complete for usernames, and more. iOS and Android.
A tragic and beautiful post by Dave Rupert, remembering Christopher Schmitt who passed away suddenly last week.
Mattt Thompson covers the new contact tracing framework for NSHipster. I’m glad that Apple/Google teamed up to make this API happen. Even if its imperfect, it’s an important part of the solution.
Like everyone, lately we’ve been watching a lot of TV. Here are some of the movies and shows we watched over the weekend:
And a few from last week and earlier:
Hope everyone’s staying safe and healthy at home. 📺
Daniel and I talk all about MarsEdit, APIs, and Micro.blog in the latest episode of Core Intuition. A little bit of XML-RPC history with plans for upcoming features.
Nice write-up from Maurice Parker on what he learned working on iCloud support in NetNewsWire.
Jean MacDonald has launched a new microcast series about podcasting. Each episode is just a few minutes long, covering a topic like how to upload a podcast or what tools to use. The first episode is us taking about what a podcast is.
I’m on the latest episode of Micro Monday with @macgenie, catching up on a bunch of new Micro.blog features we’ve worked on this year.
Podcasting with Micro.blog requires no configuration. Just upload an MP3 with your blog post and Micro.blog handles the rest: creating a podcast feed, using your profile photo as the cover art, and setting other defaults.
If you want full control over the podcast feed, it’s just a Hugo template. You can edit it with a custom Micro.blog theme to add anything you want. Because of this flexibility, I’ve been recommending that anyone starting a podcast on Micro.blog who doesn’t want to create a separate account (which would have its own profile photo) to tweak the podcast feed to override the default cover art.
Now it’s much easier. There’s a new feature on Micro.blog under Posts → Design that lets you change the cover art:
Click the existing cover art to select a new image from your uploads:
Happy microcasting!
On this week’s Core Intuition, we follow up on Powell’s books, @danielpunkass talks Ghost support in MarsEdit, and we react to the Dark Sky acquisition.
Goes without saying that we won’t have an IndieWeb Meetup at Mozart’s this week. There are more online-only meetups popping up, though. Check out events.indieweb.org for upcoming events.
I blogged years ago about how I started writing in a journal, originally in books and then in Day One. I’m trying to get back into the routine of writing regularly, so this week I upgraded to the new version of Day One. I had been sticking with the classic version because I liked syncing with Dropbox, but it stopped being supported on iOS in favor of Day One’s own syncing.
These journal entries are so important to me, I don’t really want them permanently encrypted in the cloud, where the data is opaque and could be lost. I’ve been thinking about a couple options:
For now, I’m enjoying using Day One. It’s well worth the yearly subscription. I may experiment with eventually moving to something blog-based, or look at adding Day One import to Micro.blog for anyone who wants to keep their journal and microblog in sync.
We’ve updated Sunlit in the App Store today with several bug fixes. Sunlit is our iOS app that is just for photos, kind of like Instagram but powered by Micro.blog.
There’s a new Micro Monday out! Jeremy Cherfas talks to Jean about podcasting, the IndieWeb, and more.
Version 1.8 of the Micro.blog iOS app is available. From the release notes:
Here are a couple screenshots of editing recent posts, similar to what the macOS version has had for a while:
You can download the update on the App Store.
On the latest @coreint: looking for leadership in this crisis, plus a discussion about universal iOS/macOS apps and closing thoughts about WWDC 2020’s announcement.
Updated the macOS app for Micro.blog to version 1.9.2, switching to the default system font. I’ll continue to tweak based on feedback.
Wrapped up the next iOS update for M.b today and shipped it off to Apple for approval. Last time it took a week to go through a few rounds of rejections, so hopefully this one is quicker. Lots of little UI tweaks in this update… I’ll post the details when it’s live.
When M.b launched, I used the font Avenir because I liked it and thought it would give the platform a little bit of a unique feel. Starting with the next iOS update, I’m migrating back to the system font. You might see some inconsistencies while we update everything.
This livestream of how Basecamp uses their own product is great. It’s a long video so I’ve just skipped around, but already lots of good tips in it for running a remote company.
Jean talks to Joel Mearig on the latest episode of Micro Monday about his own microcast reaching 100+ episodes, how to get started with podcasting using Micro.blog, and more.
We’ve been talking for a while about offering a “teams” plan on Micro.blog that would be great for small businesses, schools, and family blogs. With more people working from home, we’re already adding podcast hosting to all plans through April, and we think that podcasts and short videos could be valuable tools for teachers who are adapting their lesson plans for online classes.
We don’t want these teachers to wait until there is an official teams plan that schools can subscribe to, so today we are giving teachers free hosting for the next 6 months. This is a full Micro.blog account that can host blog posts, podcast episodes, and short videos.
To get started, email help@micro.blog with your school name and we’ll reply with a special invite to Micro.blog. We can’t wait to see what you use Micro.blog for.
I’ve added some info about creating draft blog posts to Micro.blog’s Micropub API help page. It also documents a new preview URL that can be used by third-party apps to send the user to a preview web page, with an option to finish publishing the post.
The preview renders the Markdown text, but does not process it through Hugo, so it might not exactly match the published HTML on your microblog in some cases. I plan to further improve this in the future to send it through Hugo.
Along with the new preview URL for the API, I’ve also fixed a bug creating draft posts with the JSON flavor of Micropub.
Seeing this made me smile while out walking in the neighborhood this week. These kids have the right idea.
Fascinating to watch how different companies pivot. Grocery stores have stopped delivering beer and wine because it requires too much customer interaction at the door. Just got an email from DoubleDave’s pizza with the subject: Now Delivering Beer. 🍕🍺
We’ve been trying Basecamp again for Micro.blog planning and documents. So far so good. I was a big fan of Basecamp in the early years, and really admire how they’ve managed to improve it without adding clutter.
My productivity has dropped to half or less what it should be this week. Thankful for everyone who has ramped up their blogging or podcasting, sharing what they are going through, whether it’s a tough new challenge or a fun diversion.
We posted Core Int 413 today. @danielpunkass and I talk about online-only WWDC and more of what we’ve been thinking about this week as businesses react to COVID-19, plus the new MacBook Air.
I’m excited that we might see basketball as soon as next month. Great idea to get Big3 going soon while we wait for the NBA’s return. 🏀
Fun diversion: @ismh’s Mac Madness tournament. Some tricky picks for the first round, often between my favorite Macs and the ones I consider the most “important” historically.
We’ve shipped version 1.7.3 of Micro.blog for iOS. From the release notes:
There were several Dark Mode-related glitches fixes in this update. Dragging to view a conversation looks better, navigation bar colors update when switching to Dark Mode without restarting the app, and we’ve switched the timeline background color to use full black instead of very dark gray.
You can grab the latest version in the App Store. And if the official Micro.blog app isn’t your cup of tea, remember that there are other great third-party iOS apps including Gluon, Icro, and specialized tools like the new Mimi Uploader.
It is really easy in times like this to feel lost, unsure of how best to respond to the COVID-19 crisis. Micro.blog is a tiny company where we all already work from home. Jon Hays has even written a series of blog posts recently about working remotely with a team.
We wanted to do a little something extra for everyone who now finds themselves working from home, or needing to take time off work, to encourage everyone to stay creative and positive. Here’s what we’ve come up with: free podcast hosting for all hosted microblogs through April.
Merlin Mann was also thinking about how the world might see new podcasts right now:
Remember how there were (supposedly) so many pregnancies that happened during the New York Blackout?
I hope we get that but for really good new podcasts.
Jean MacDonald is working on some resources to help those who have never made a podcast before get started. Details will follow next week. In the meantime, we have a help page with the basics.
We’ve said since the launch of podcast hosting on Micro.blog that everyone has a story to tell. That’s probably even more true right now. We are also extending all Micro.blog accounts that have already expired for an additional 30 days.
And if you already have a paid subscription but you’re getting hit hard financially right now, drop us an email and we’ll credit your account for the month. Take care, everyone!
Six years ago I wrote about the different eras of WWDC, and I think we’re entering a new one now, where even 2021 and beyond could be primarily or exclusively online. Can’t help but feel disappointed even though it’s absolutely the right call.
Austin ISD cancelled today, but not Round Rock. Spring break is next week and I expect it will be extended. Getting emails that assume plans for after next week will go on as usual… No, and that false confidence is not helpful.
Back and forth with App Review, who couldn’t sign in to Micro.blog, I think I’ve tracked down a bug and made my Sign in with Apple server code a little more robust. Difficult to debug.
This week’s Micro Monday episode features @kimberlyhirsh, talking about her dissertation, discovering Micro.blog, the IndieWeb, Buffy the Vampire Slayer, and more.
It has been months since I’ve submitted an update to the App Store. I still find the review delay infuriating, even if it’s just 1-2 days.
Great to see the new NetNewsWire for iOS ship this week! It has been really fun watching @brentsimmons and the team get to this point.
MarsEdit developer Daniel Jalkut had a great post recently about protecting privacy by stripping out location information from a photo’s metadata before uploading it to your blog:
If you choose to publish photos in your blog posts, it’s important to understand that image metadata may reveal more to your blog’s readers than you necessarily intended.
We followed up on this for Core Intuition episode 409 and again briefly on episode 411.
Micro.blog also tries to strip out location information, but a couple of times it has been applied inconsistently because there are several different ways to get a photo in to Micro.blog. I’ve found and fixed a new bug related to this and want to document it here.
The native iOS and macOS apps for Micro.blog have always fixed the orientation information in a photo and stripped any metadata before uploading. The web version of Micro.blog also did the same thing on the server when using the Uploads tab. But I noticed a case where this processing was skipped when attaching a photo to a new post on the web and not uploading it separately in the Uploads tab or with a third-party app.
As a precaution I’ve decided to retroactively strip metadata from existing photos that have been uploaded over the last few years. I wrote some scripts to check these photos, updating both our primary photo storage and the published blogs that were affected.
I also stripped metadata from any profile photos that contained location information. In some cases, the colorspace may have changed. If you notice any subtle changes to your profile photo and want to re-upload it, you can do that under Account.
I’m sorry I missed this. If you have any concerns, let me know via help@micro.blog. You can also check one of your photos by downloading it from your blog and opening it in an app that can display metadata. (In Preview.app for macOS, choose Tools → Show Inspector.)
I always try to mark the anniversary of my blog. I started it with my first blog post during SXSW, 18 years ago today. This year there is no SXSW.
I’ve heard from a few folks recently who would like a better way to control on a per-post basis what appears on their blog and what appears in the Micro.blog timeline. The idea is that they are effectively writing for multiple audiences, and while they might want all posts on their blog, not everything needs to appear in the Micro.blog timeline where it’s more likely to spark a conversation.
One of the main goals with Micro.blog is to make blogging easier, so we very deliberately try to keep the posting screen uncluttered. Even basic fields like the title of a blog post don’t appear until they are needed. I’m not in a hurry to add more options, because more options can lead to confusion, making Micro.blog harder to use and more likely that someone will give up before posting.
However, there is a lot of power underneath Micro.blog, just one step removed from the default interface. We can leverage categories to build this feature of picking which posts should appear in the timeline.
The timeline itself is not magic. It is built from RSS and JSON feeds that tell Micro.blog where your posts are. Usually there is only one feed configured under Account → “Edit Feeds & Cross-posting”, and that feed includes all your posts. To limit what appears in the timeline, we can remove that feed and replace it with a feed that includes a more limited set of posts.
Micro.blog-hosted blogs already have RSS feeds for each category. Today, I improved the feeds to match the default RSS feed, so that they include the full text (and any photos) instead of a truncated version of the post.
You can create a category named something like “Micro.blog” or “Timeline” that will contain posts that you’d like to appear in the Micro.blog timeline. Categories are managed on the web under Posts → Categories. Then, remove the default feed from Account → “Edit Feeds & Cross-posting” and add the RSS feed for that new category. If the category is called “Timeline”, the URL for the RSS would look like this:
https://your-username.micro.blog/categories/timeline/feed.xml
Now when you’re posting, assign the new post to that category and it will appear on Micro.blog:
Your followers will see that post and can reply. All other posts will still appear on your Micro.blog-hosted blog on the web, and other readers can follow those posts in a feed reader.
We recorded @coreint yesterday and before posting today there was breaking news about SXSW, so we recorded a new segment for the end. Listen to episode 411 before everything changes again!
I voted here in Texas on Tuesday. I’ve blogged in short bursts over the last few years about the upcoming election, and the last one, but now is a good time to collect my thoughts on the race.
Clyburn’s endorsement leading in to South Carolina was critical. Then there was the incredible coordination of Pete, Klobuchar, and Beto all endorsing within 24 hours of each other, culminating in that rally in Dallas the night before Super Tuesday. I’m not sure Biden even advertised in Texas. Everything changed very quickly.
I’ve tried to keep my mouth shut about Bernie because I was quietly psyching myself up to support him if he became the nominee. I’m still disappointed that he and his most hardcore supporters did not do more to help Hillary in 2016. He attacked her character for a year and too many people stayed home.
Now we need to welcome Bernie supporters back to the Democratic party and hope that anyone clinging to that perfect or nothing attitude can let it go, in the same way that I hope to let go of 2016. I think there’s inspiration in Hillary’s own support of Obama, especially her fantastic speech at the 2008 convention. It’s powerful. She knew that unity was more important than anything else.
Biden was not my first, second, or third choice. He might not have been your first choice. It’s not a good feeling when by the time voting comes around your favorite candidate has already lost.
I loved what Beto had done for Texas in 2018. I loved imagining how effective Klobuchar could be not just as president, but at unifying moderates who felt the country was being ripped apart at the extremes. The last thing we need right now is more divisiveness.
Beto and Klobuchar were out, so I voted for Warren. In a parallel universe somewhere, the timing of momentum would have worked out for her to be president, and she’d be a great one. But the Democratic party has spoken. The nominee must be Biden.
And it’s kind of fitting. Trump tried to preemptively cheat against Biden using leverage with Ukraine. Trump was caught, impeached, still did a lot of damage to Biden in the process… but you know what? We’re going to !#@%-ing nominate Biden anyway just to send a message to Trump.
Let’s get ready. Biden is now our best choice to get this country back on track, and as Klobuchar said, to put someone with a heart back in the White House. I’m starting to get excited thinking about all the great choices he will have for vice president.
Normally the IndieWeb Meetup in Austin is the first Wednesday of the month, but we’re going to skip it this week. See y’all next month.
The new 30-day photo challenge pin on Micro.blog is ready, and a few people who routinely post every day have already unlocked it. If you’re participating in the February challenge, it should appear on your account tomorrow!
On this week’s Core Intuition, @danielpunkass and I talk about a potential WWDC 2020 with the coronavirus spreading. Stay healthy, everyone.
While we have greatly improved the performance of publishing new posts to your microblog and refreshing feeds, there are still occasional hiccups where posts don’t appear in the timeline as fast they should. Today I’m adding an obvious feature: a refresh button!
This screenshot is from the Account → “Edit Feeds & Cross-posting” screen. The refresh button simply tries to download your feed again as soon as possible, instead of waiting in the backlog of potentially thousands of other feeds Micro.blog is checking.
You should very rarely have to click this. Micro.blog is always checking your feeds for new posts. But if your posts aren’t appearing in the timeline right away after they show up on your microblog, this button will help speed up the process if anything is stuck because of errors.
Behind the scenes, the refresh button is just sending POST /ping with your feed URL. This is automatic for Micro.blog-hosted sites and can be automated from external hosting as well.
Congrats to the Iconfactory on shipping Tot! It’s an elegant little app for jotting down quick notes — things to remember, blog post drafts, to-do lists, or just snippets that you want synced everywhere. Pricing twist: free for macOS, paid for iOS.
We announced Conversation.js this week and focused on how easy it is to enable on Micro.blog, but it actually works on any blog. Here’s a post from Vincent Ritter using it, even though his blog is hosted somewhere else.
I’ve added a help page for Conversation.js that also includes some example CSS that I use to make replies look better on my blog. Tweak as appropriate for your theme.
Well, I had a good run with the photo challenge… After 23 days in a row, I forgot to post yesterday. I could cheat and backdate the post, but I think I’m going to let it go and focus on making sure the special pin is ready for everyone else.
During the project day at IndieWebCamp Austin last weekend, I built a new feature for Micro.blog that I’m calling Conversation.js. It’s a JavaScript include that lets you take a conversation on Micro.blog and drop it into your blog.
Like a lot of Micro.blog features, it works either as a simple feature you can enable with a click, or as a more advanced API that can be customized however you’d like. If all you want to do is enable the feature, just click on Posts → Design and look for this checkbox:
Behind the scenes, this checkbox is adding a new Hugo parameter .Params.include_conversation that can be used in a custom theme. All the built-in Micro.blog designs have been updated to check for this parameter and then add the following line of JavaScript:
This JavaScript include gathers the replies to the current blog post and adds them to your web page. The HTML elements all have class names so you can style the replies to match your site.
See this page on my blog for how the replies look on one of my blog posts.
If you need even more control, you can request the conversation as JSON from apps or scripts by adding format=jsonfeed to the URL. Or you can add format=jf2 to produce output that matches Webmention.io, so it’s easier to repurpose tools that already work with Webmention.io.
Speaking of Webmention, this is not just about taking Micro.blog-only replies and putting them on your blog. Because all Micro.blog-hosted blogs support Webmention, and Micro.blog can accept mentions even from blogs that have not yet registered on Micro.blog, with Conversation.js it now becomes much more useful for other blogs to send you replies. Those replies can appear on your blog, with Micro.blog mostly acting as glue so that both blogs can talk to each other.
I’ve been wanting to do something like this for a while. It didn’t take long at IndieWebCamp Austin when I finally sat down to code it, but I think it opens up a lot of options for Micro.blog in the future, including acting as an IndieWeb-friendly replacement for Disqus and other commenting systems.
Updated the posting screen with new Micro.blog third-party apps: Gluon and Mimi Uploader. Also reorganized the apps by platform.
Mimi Uploader for iOS is now available! It’s a great batch photo uploader for Micro.blog that also generates Markdown of the uploads for easy pasting into your blog. Check out Sam Grover’s blog post here with a screencast of the app in action.
Thanks everyone who attended IndieWebCamp! This was our best turnout in Austin and I personally got a lot out of the weekend. There are more IndieWeb events this year, including London next month and Portland in June.
IndieWebCamp Austin day 2 is winding down. I wrapped up my project to show replies on my blog posts and I’ll be demoing it to the group soon, with a blog post to follow later this week. Looking forward to seeing what other folks worked on!
Downtown can sometimes seem like a bit of a spectacle: new construction, partiers enjoying Austin, scooters everywhere. But there are still a few quiet, abandoned corners not quite rebuilt, like this place on the way to dinner.
Sounds like progress is being made to get the Zilker Zephyr running again. It has been closed for nearly a year. Snapped this photo of the unused tracks last weekend while we were walking on the trail.
At the Micro Meetup at Easy Tiger on 6th. 🍻 We did a final walk-through of the IndieWebCamp venue this afternoon. Looking good, excited for tomorrow!
Thinking of “scale” earlier tonight while I was driving, the sky lit up in color. And then minutes later when I had parked the car it was over. Just caught the very end of the sunset for this shot.
Just sent out an email reminder about IndieWebCamp for everyone joining us in Austin this weekend. Getting excited! There’s also the Micro Meetup tomorrow night, 5-7pm at Easy Tiger on 6th. 🍻
One of the great things about Micro.blog is that it attracts people with very high standards, because just like us they have been let down by other platforms. They expect the best, and so do we, so we’ll keep working toward that.
Somewhere up there in the sky… space. I was so busy today I almost skipped the photo challenge, but noticed this photo I shot quickly a few nights ago from the Congress Avenue bridge.
More coffee for the photo challenge. Cool drink outside Bakery Lorraine while we waited for our Apple Store appointment to see if the dead Apple TV was fixable. Spoiler: it wasn’t.
I sent out a new Micro Monday email newsletter today. You can also view it on the web.
IndieWebCamp Austin is this weekend! Jean MacDonald will be in town for the event, so we’re also going to have a Micro.blog meetup on Friday evening. Anyone interested in Micro.blog is welcome to join us whether you’re attending IndieWebCamp or not.
Easy Tiger on 6th Street, 5-7pm. Jean and I will be there a little early to get a table, probably outside if the weather’s nice. We’ll have Micro.blog stickers.
Hope to see you at the meetup! And you can also still register for IndieWebCamp Austin.
For today’s photo challenge: balance. My glasses balancing on the “nosey” holder at my desk. I got this as a present a few years ago and still use it every day.
Reminder that because of the 30-day photo challenge, when you join Micro.blog today you get free blog hosting until March. Great time to share a link with your friends and loved ones. ❤️
IndieWebCamp Austin is next weekend, February 22-23! You can register here. We’ve updated the schedule session times and added a link to the speakers announcement. IndieWeb co-founders Tantek Çelik and Aaron Parecki will also be there.
“Rise up! I will fight for this land, but there’s only one man who can give us a command so we can rise up.”
We’ve just posted episode 408 of Core Intuition. Update on manager meetings, running ads, and looking forward to IndieWebCamp Austin.
I don’t have any particular attachment to Sticker Mule, and in fact once tried to switch to another sticker company, but they make it really easy to re-order stickers. New batch just arrived for IndieWebCamp Austin!
Gluon is the first cross-platform mobile app for Micro.blog. It supports multiple Micro.blog accounts and features like local drafts, muting, and themes. Developer Vincent Ritter has documented the development process on his blog through several iterations of the app.
Congrats Vincent! You can download Gluon on the App Store here.
My go-to smoothie lately: one frozen banana, frozen blueberries, a little plain yogurt, peanut butter, sometimes kale, and almond milk. Apparently everything we buy is HEB-branded now.
We’ll never have ads on Micro.blog. It’s really important to me that it’s user-supported and the timeline only includes posts you want to see. But if ads are already on a platform like Twitter, why not use them? I’ve experimented a couple times with Twitter ads. This week I decided to run a very small campaign to help get the word out about IndieWebCamp Austin.
I’m not sure it’s very effective, but I find the results interesting. Here’s a screenshot of the stats after the ad ran over the weekend:
IndieWebCamp can be difficult to explain succinctly. Micro.blog can be too, for that matter. But I’ve found the IndieWeb events I’ve attended extremely valuable, both to be inspired by what people are working on and to have a little time to make Micro.blog even more IndieWeb-friendly. Hope to see y’all there!
Winning the Democratic nomination is about timing. I like where Amy Klobuchar’s momentum is right now. Good luck everyone in New Hampshire today! 🇺🇸
I added the placeholder for the 30-day photo challenge pin. You can view your pins in Micro.blog by clicking Account → “View All” in the top header.
I’m happy to announce that we have 3 short keynotes planned for the first morning of IndieWebCamp Austin! After coffee and breakfast tacos, we’ll get the day started with an introduction to the schedule and our featured speakers.
Natalie Hester — Natalie keeps a gratitude journal on Micro.blog where you can see snapshots of her life as a full-time partner to Ryan, new mom to Aria, and academic fundraiser. She will be talking about her unlikely journey away from Facebook and what it’s like being a new mom on social media.
Pace Smith — Pace is a queer trans intersectional feminist Sufi bridger. She codes, podcasts, blogs, makes indie games, writes limericks, and tries to make the world a better place. She will be talking about the role of the bridger and building trust on the web.
Aaron Parecki — Aaron is an IndieWeb co-founder and security architect at Okta. He is the editor of several IndieWeb specifications at the W3C. He will be talking about using an Indie Reader to take control of how he follows and responds to people online.
Before we break for lunch, we’ll plan the afternoon sessions. If you’ve never attended an IndieWebCamp before, the rest of the sessions are organized by attendees. This helps adapt the conference to the topics that attendees are interested in.
I hope you’ll join us! Register here for $10.
Sent the first new email newsletter in a while! You can view it on the web here. Unfortunately, I made 2 mistakes: the inline photos may have ruined the text version of the email, and I forgot to add SPF records, likely leading to spam filter problems.
The sign outside Cenote on a rainy afternoon. Coffee and work on resuming the Micro Monday newsletter.
For the last couple of years we’ve used Mailchimp’s Mandrill service to send transactional emails from Micro.blog. These emails are for when you get a link to sign in, or a reminder that your trial expired. It was convenient to have everything in Mailchimp because we also used it to send our newsletters.
Because Mandrill was going to be down for maintenance a couple weeks ago, I decided to switch over to SendGrid. I’ve used SendGrid in the past and while I left disappointed at the time, that was years ago and I recently got some great help from a SendGrid employee while troubleshooting Sign in with Apple. It was easy to switch back.
I’m also moving our newsletter emails over to SendGrid and hope to resume sending the Micro Monday newsletter this week. The savings are significant. We were paying MailChimp about $220/month. On SendGrid, the comparable set of plans will be only $65/month.
Daniel and I talked more about sending email on Core Intuition a couple weeks ago. We’ve had some good feedback from folks about their favorite email providers, both for and against nearly every popular service, so I wanted to document the change here on the blog.
Sometimes it’s good to hit “pause” on a conversation and take some time before replying, especially if a debate accidentally gets personal. We can disagree (often quite passionately!) without letting conversations escalate into attacks.
Enjoying the Oscars. I like that they do best animated feature early, but then there’s always a bit of a lull until some of the later categories.
I fixed one of the last potential glitches in refreshing feeds in Micro.blog. Should make a nice difference for active users who sometimes see inconsistent posting delays.
Posted a new Core Int about getting AirPods, follow-up with @danielpunkass on email marketing services, and comparing Micro.blog’s decisions to stay bootstrapped vs. venture-backed companies.
Today’s photo challenge prompt: contrast. Finally got some AirPods. They’re great, but still kind of miss when one pair of headphones could work reliably on all devices.
Made some additional improvements to Micro.blog’s cross-posting so that it can more reliably recover from problems downloading photos or sending them to Twitter. A few people have hit this recently.
When Daniel Jalkut posted about Apple’s email to keep his blog active in Apple News, I commented that Apple no longer even allows RSS for new blogs. I got this mixed up, though, confusing the options for publishers with what feeds users can add to the app themselves. Nick Heer followed up to clarify:
Nevertheless, it seems like it’s still possible — according to that News Publisher site — to create a new channel based on RSS. Existing RSS-based channels also appear to be functional still; this one is, at least. However, it is no longer possible to subscribe to an RSS feed as a user with Apple News.
I’ve now confirmed this. Today I tested using Apple’s News Publisher with a new Apple ID, and it does let you add RSS sources. However, it really discourages it. The default is Apple News format, and when you switch to RSS you get this prompt:
As soon as you start using Apple News format instead of RSS, you can’t go back to RSS. It’s hard to tell if this was a technical limitation with how Apple News manages different feeds on the backend, or a decision to move Apple News away from RSS. Probably a little of both.
A sign above. We’ve been watching them expand this HEB with grocery pick-up for months and it almost looks ready.
It’s time for me to stop pretending Android doesn’t exist. I picked up a cheap Samsung tablet ($150) last night so that I can better test apps and the web version of Micro.blog.
IndieWebCamp Online is this weekend. It’s all remote, so you can jump into the video chat and participate or lurk to learn about IndieWeb building blocks. And then in 2 weeks: IndieWebCamp Austin! 2-day event at Capital Factory.
We are 6 days in to the Micro.blog 30-day photo challenge. Love seeing all the photos. I created a category on my blog to collect all my own photos for the challenge in one place.
Listened to some of Trump’s speech on the radio in the car. For the first time in a while for anything political, I laughed out loud. It’s all unserious proclamations from this president. He has no idea how harshly history will judge him. 🇺🇸
This could’ve been for “reflect” or today’s prompt “hide”. Our new sticker Baby Yoda hiding on the back window of the car.
Reminder that the IndieWeb Meetup is tonight at Mozart’s Coffee for anyone in the Austin area. It is going to be cold. We’ll try to find a table inside, otherwise downstairs where it’s mostly enclosed. 6:30pm.
Submitted a talk idea for WordCamp San Antonio next month. I attended a couple years ago and snapped this photo for my blog. It’s at the same location again this year.
Spurs are 5-5 in their last 10 games. All 5 loses were decided by 4 points or less. They are in every game. 7 more games on this current road trip will likely decide their season. 🏀
“Nobody goes there anymore. It’s too crowded.” Feel lucky I found a nice spot at Summer Moon this morning.
IndieWebCamp Austin is just around the corner, February 22-23. If you register now it’ll help us plan for how many people to expect. We’ll have breakfast tacos, bagels, and coffee both mornings. 🌮
I didn’t think I wanted my replies on my blog, but now that it’s a built-in Micro.blog hosting feature I’m really enjoying it. You can see my recent replies here.
I can’t believe they’re still letting Pat Cipollone speak after it has been revealed that he was in the room when Trump asked Bolton to pressure Ukraine. So many ethical problems on their side it’s hard to keep track, but this one stands out.
Just because Trump won’t be removed doesn’t mean the impeachment process didn’t matter. It was the right thing to do. As the Democrats made their case, more and more of the country agreed with them. New facts will fit the established narrative of a corrupt president.
IndieWeb Meetup this Wednesday in Austin, 6:30pm at Mozart’s Coffee. We’ll talk about the latest IndieWeb news and final plans for IndieWebCamp Austin later this month. ☕
Trees reflecting in my car window. Today’s prompt for the photo challenge makes me think of the Mirror Project from the early 2000s.
Day 2 of the photo challenge. A few months ago we impulse bought this bucket list book of 1000 places because of the great photos to inspire future travel. Beautiful sights like this shot of the Milky Way from Arizona.
Because the main Discover timeline is limited to recent posts for now, a good way to see more photos from people on Micro.blog during the photo challenge is to go to the web and click Discover, choose 📷 Photos from the popup, and then click More Photos.
Sam Grover has been working on a new iOS app for Micro.blog called Mimi Uploader that is all about batch uploading photos to your blog. I love it because it takes a specific need and provides a really polished workflow just for that. After the upload finishes, you can copy Markdown or HTML to reference all the photos for easy pasting into another app or Micro.blog on the web.
It’s now available as a public beta. There’s a link to the TestFlight beta on Sam’s microblog.
First day in the 30-day photo challenge. I like how you can see the capitol building in the distance from the pedestrian bridge, despite the new buildings crowding out the skyline. It’s almost like there was a planned open space.
Worried that Bernie’s most uncompromising supporters will be just as divisive to the party as they were in 2016. I hope he remains a strong voice in the senate, not as the nominee. Made a small donation to Amy Klobuchar.
Great blog post from Marco Arment about all the work he put into the new Overcast. The podcasting ecosystem is better because Overcast exists and keeps pushing the tech forward (without trying to fundamentally change what podcasting is).
The photo challenge prompts have been posted. Check out @macgenie’s blog post for the list. Hope the prompts inspire folks to take more photos… I know it’s going to help me post daily.
I’m punting my deadline for the book Indie Microblogging into February. Thinking about recording a new Timetable episode with more details later.
Excited for the 30-day photoblogging challenge that will start on February 1st. New sign-ups on Micro.blog get blog hosting (including photo storage) free until March to make it easier to get started with your own indie microblog and participate.
Listened to the first few questions in the impeachment trial before having to turn it off and get back to work. The president’s defense is weak, of course, but his lawyers also can’t go 5 minutes without misrepresenting some part of the case. It’s infuriating. 🇺🇸
Updated this week’s replies feature to also automatically add a “Replies” navigation link when it’s first enabled. Can be renamed and moved around like any Micro.blog page.
Great feedback yesterday after we updated Micro.blog hosting with better support for replies. Thanks! I’ve added a help page with some more information on customizing reply templates on a blog’s theme.
When I was first developing Micro.blog, I made a choice that quick replies in the timeline should be stored separately from regular blog posts. I thought that most people wouldn’t want replies mixed in with their blog posts at their own domain name. I also liked that replies were simple, usually short and without images, because it makes the timeline much more readable.
This has admittedly poked a hole in one of the most important goals of Micro.blog: owning your own content by having it at your own domain name. If someone wanted more control over their replies, they would need to use an external blog like WordPress, even though Micro.blog had great support for Webmention and cross-site replies.
I always thought this limitation would be temporary. As I’ve been finishing up my book Indie Microblogging, this trade-off with replies from the early days of Micro.blog has become untenable for me. Storing replies outside of your Micro.blog-hosted blog, even if you can export them or move to another IndieWeb-friendly platform, is too silo-like for the mission of Micro.blog.
Today I’m rolling out the first of a series of improvements to replies. You can now optionally have your replies on your own blog, with reply permalink URLs at your own domain name.
Here’s a screenshot of the option on the Account screen. The popup menu will include any blog that’s hosted on Micro.blog, so you could even create a separate microblog just for replies:
Replies get a new reply post type in Hugo, which is used under-the-hood for your microblog. This means they won’t show up in your default feeds or home page, although you can create a custom theme to change that.
Micro.blog adds a few Hugo parameters that can be used for reply HTML templates:
.Params.reply_to_url: The URL for the post you are replying to..Params.reply_to_hostname: Just the hostname part of the reply-to URL..Params.reply_to_username: The username for the Micro.blog user you’re replying to..Params.reply_to_avatar: The URL for the Micro.blog user’s profile photo.I’ve added a new template in the Marfa theme to use these:
There’s also a new page at yourblog.com/replies with the most recent replies. If you enable pagination under your blog’s settings, that page will expand to show all your replies.
It’s still early for this feature, and for now I’ve made some of these customizations only in the Marfa theme. Consider this new plumbing that you can take advantage of in your custom themes, with more improvements to follow later so this works as consistently as possible across all the built-in designs. But it is a major step to strengthen the IndieWeb principles in Micro.blog.
I’ve posted about animation a couple times this weekend, so it seems especially fitting to link to Glen Keane’s Dear Basketball, for which Kobe Bryant also won an Oscar last year. Beautiful short film with new meaning today.
Tuned into the last part of the Annie Awards after SNL was over. Really happy for Klaus as best picture. (And with Missing Link winning at the Golden Globes, wonder if the Oscars will pick a 3rd film.)
I was looking through some of my drawings while copying a backup from an old hard drive. Around 2003 and 2004, I worked on a hand-drawn animated short film in my spare time, based on my kids. I never finished it, but I made thousands of drawings for it, most of which I shot with a camera and put together as rough tests.
Here are a few seconds of one little scene that I found while looking through the old files:
And here’s another one:
There is probably about 45 seconds of halfway finished scenes in total. My daughters — who recorded a couple lines of dialog for the film when they were 4 years old — are now in college! Even if I can’t finish it, I wanted to make sure I have some of the work captured on my blog.
I ordered some printer ink 4 days ago. Got delayed, then a strange message yesterday that the business was closed for the… holidays? No big deal, if it was important I could get it somewhere else, but it’s a rare look into how hard it must be to spoil us on overnight shipping.
On this week’s Core Intuition, @danielpunkass and I talk about the upcoming Planetary social network and the challenge of marketing products that are different than everything else.
Moved my desk to the other side of my office today. New perspective. Who knows what I’ll be able to accomplish now? Sometimes feels like old routines are holding us back.
It’s just 1 month until IndieWebCamp Austin: the weekend of February 22-23. If you’re interested, please get a ticket so we can better plan for attendees. We’ll also have a Micro.blog meetup the day before, sometime late Friday afternoon.
This week’s episode of Micro Monday features guest Amanda Rush, talking with Jean about the IndieWeb, Webmention, Micro.blog, and behavior on social media. There’s also a transcript available. Lots of good stuff in this one.
I was thinking about why I haven’t joined TikTok and realized something: if Twitter did not exist and launched tomorrow, I probably wouldn’t join it either. I’m done jumping between social networks now that I can easily post to my own microblog.
I had no idea that Ian McKellen kept a blog during the making of Lord of the Rings. Excellent behind-the-scenes look from 1999, via Kottke.
I take a lot of photos that I imagine posting to my blog, but then they just kind of sit in my photo library. @macgenie previews a 30-day photo challenge that will start next month, including new Micro.blog pin! This is going to be fun.
Working on editing an interview transcript and always amused at the different ways that Trint (which I love) will guess at “Micro.blog”. Usually ends up as “Microsoft blog”.
I put this print from Nan Lawson on the wall in my office as a Frozen-inspired reminder not to get overwhelmed by the big stuff. Just do the next right thing.
This week’s Core Intuition is all about Blogger, and the business value in supporting growing platforms instead of dying platforms.
Starting to get excited for IndieWebCamp Austin next month! If you’re interested in an open alternative to the big silos, I hope you’ll join us. You can register for $10.
My daughter took apart one of her old typewriters last week, trying to fix it. No luck, but I love the way it looks inside.
We’ve got an IndieWeb Meetup in Austin on Wednesday, 6:30pm at Mozart’s Coffee. It’s a time to ask questions, work on your own site, or chat about web standards and blogging. We’ll also discuss plans for IndieWebCamp Austin, coming up in February.
This week’s Micro Monday guest is Natalie Hester. She talks with Jean about keeping a gratitude journal on Micro.blog. Would be fun to collect these kind of posts together, either with emoji or from common phrases.
For our first podcast episode of 2020, @danielpunkass and I talk about recent deadlines, setting goals, and look back at very old ambitions from 15 and 20 years ago.
Happy New Year! 🎉 Hope everyone’s year is off to a good start so far. We’ve got a couple IndieWeb Austin events coming up in early 2020: the meetup is next Wednesday, 6:30pm at Mozart’s, and the 2-day IndieWebCamp is February 22-23.
On Core Int 401, I complain about the Mac Pro and @danielpunkass convinces me to delay my book ship date. It’s officially going to be late January now.
I was sick a few days before Christmas and it forced me to take some extra time off after a very busy November and December. Happy to be back blogging and looking forward to 2020, so let’s wrap up the holidays with a post about Christmas movies.
This isn’t necessarily a list of the best Christmas movies. There are other classics that are usually on an all-time best list that aren’t here. This is a list of my 10 favorites.
If I could only watch these 10 movies every year I’d be happy. But there are others we enjoy that deserve honorable mentions: Edward Scissorhands, Love Actually, It’s a Wonderful Life, Home Alone, The Grinch (2018), Jingle All The Way, and Christmas with the Kranks. And a special shoutout for the soundtrack of The Polar Express.
Happy Holidays! ❄️
It was great having Oisín Prendiville on the 400th episode of Core Intuition. We talked about Castro, podcasting, and more. Thanks for everyone’s support of the podcast all these years!
Downtime happens and I don’t think it’s worth stressing out about. But… Mandrill is going to be down for up to 6 hours next month, which is a long time for us to not send email confirmations. Considering a switch to SendGrid, which would also save money.
Updated the table of contents at book.micro.blog to match the latest draft after reorganizing some chapters. Still have a mountain of work to do.
Micro.blog grows through word of mouth. Want to help? Click Plans → Give Micro.blog. You can invite someone or even pay for a year of blog hosting as a nice holiday present. 🎁
We’re still growing, but like any paid service, sometimes people cancel their Micro.blog hosting. Nearly everyone who cancels leaves a comment that they love and want to support the platform. Almost wish they’d say they hated it so that I’d have something to act on.
For this week’s Micro Monday, @macgenie is the guest instead of the host. I wanted to interview Jean for my upcoming book Indie Microblogging, so we made it a podcast too! Enjoy.
David Shanske has updated the Syndication Links plugin for WordPress with Micro.blog support. Check out this blog post from Chris Aldrich for the details and screenshots.
We saw Dear Evan Hansen over the weekend. I had been listening to the songs for a while, but I misinterpreted some of them, and didn’t totally get it until seeing the full show. Even better than I expected.
I’ve been swamped this week, so we’re delaying @coreint episode 400 a couple more days. It’s a special episode and I don’t want to rush the edit.
This morning, Jack Dorsey dropped a bombshell:
Twitter is funding a small independent team of up to five open source architects, engineers, and designers to develop an open and decentralized standard for social media. The goal is for Twitter to ultimately be a client of this standard.
I should be excited about this, but instead my first reaction was frustration. Ten years after early Twitter employees like Blaine Cook and Alex Payne were pushing for a more open architecture, now Jack Dorsey realizes Twitter is too big and creates a team to work on… blockchain-based solutions?
Finally, new technologies have emerged to make a decentralized approach more viable. Blockchain points to a series of decentralized solutions for open and durable hosting, governance, and even monetization. Much work to be done, but the fundamentals are there.
The first step should be to check out the IndieWeb. There are people who have been thinking about and working toward more open social networks for years.
After a closer reading of Jack’s tweets, though, I think my first interpretation wasn’t quite right. Twitter isn’t necessarily interested in decentralizing content or even identity on their platform. Why would they be? Their business is based around having all your tweets in one place.
Early in the thread, Jack hints at what Twitter is trying to do:
First, we’re facing entirely new challenges centralized solutions are struggling to meet. For instance, centralized enforcement of global policy to address abuse and misleading information is unlikely to scale over the long-term without placing far too much burden on people.
This “burden on people” is the resources it would take for Twitter to actively combat hate and abuse on their platform. Facebook, for example, has hired thousands of moderators. If Twitter is hoping to outsource curation to shared protocols, it should be in addition to — not a replacement for — the type of effort that Facebook is undertaking. I’ve outlined a better approach in my posts on open gardens and 4 parts to fixing social networks, which don’t seem compatible with Twitter’s current business.
I’m going to be paying close attention to this. Good luck to Jack and the new team. I hope they seriously look at existing standards, because we’ve come too far to start over.
Micro.blog has been added to FontAwesome! Makes it really easy to use the Micro.blog icon on your web site.
Nice update to Gluon, now supporting multiple Micro.blog accounts. Out for iOS with Android coming soon. Developer @vincent was also this week’s guest on Micro Monday.
Our little holiday scene in the front yard. Turns out an upside-down tomato cage makes a good Christmas tree frame.
I wondered about limiting the impeachment to just 2 articles, but I like how in both they say Trump’s actions “were consistent” with his behavior in the Mueller investigation. It’s a nice way to tie everything together while staying focused on Ukraine.
Great to see Podnews add JSON Feed support. It’s one of my favorite daily newsletters to get a quick snapshot on what’s happening in the podcasting community. Now’s a good time to revisit JSON Feed for podcasts and see what can be improved.
Good call from the NBA on Harden’s dunk and the wild double-OT Spurs win last week. Refs disciplined, make sure it doesn’t happen again, but also acknowledge that the Rockets had lots of time to win, “thus the extraordinary remedy of granting a game protest was not warranted”. 🏀
Dropped our old car off for service this morning and got a brand new loaner: Volvo S60. It’s really nice, but I was puzzled at first just figuring out how to lock the door when leaving the car. (No buttons on the key. There’s an area you press on the door handle. Fancy!)
It might sound like a small thing, but working on the Microblogvember pin has wiped away all the stress of dealing with server issues at 1am and again this morning. Onward!
I’ve finished adding the special pin for anyone who participated in the Microblogvember challenge. Jean MacDonald also has an emoji recap of all the challenge prompt words.
There’s a link at the top of your Account page in Micro.blog, or click here to view your pins. If you don’t see the pin yet, it should appear whenever you post to your microblog next, which tells Micro.blog to check for new pins again.
Because some people started late or posted twice in one day, the “algorithm” for calculating the pin isn’t very strict. If you were blogging regularly in November and used 30 of the prompt words from the challenge, you’ll get the pin. This was a lot of fun and I hope we can do more challenges like this in the new year.
Now is also the perfect time to unlock the “Happy Holidays” pin by posting to your microblog with something about the winter holidays. It’ll match on a bunch of keywords including Christmas, Hanukkah, Santa, snow, reindeer, and a few others. Enjoy! ❄️
I introduced a data bug last night in the Micro.blog timeline after upgrading a server. I think I’ve mostly got it sorted out now, but if you still notice any timeline or conversation glitches, let me know.
Interesting article from The New York Times about a report from the NATO Strategic Communications Center of Excellence. Researchers ran a series of experiments to buy likes, comments, and clicks on social media posts. They paid companies in Russia and Europe hundreds of dollars to buy thousands of likes and followers, writing up a report on the results:
But the report also brings renewed attention to an often overlooked vulnerability for internet platforms: companies that sell clicks, likes and comments on social media networks. Many of the companies are in Russia, according to the researchers. Because the social networks’ software ranks posts in part by the amount of engagement they generate, the paid activity can lead to more prominent positions.
The researchers then actively notified the social media companies about the fake likes and tracked what action the tech companies took, if any. Most fake likes and accounts used for the experiment remained online a month after they were reported.
It is very difficult for a massive platform like Facebook or Twitter to catch everything. Instead of trying to “fix” fake likes that are purchased, the solution is to remove the reason someone would purchase likes to begin with. If like counts weren’t featured so prominently and used for surfacing content, there would be no incentive to try to game the system.
Gluon — a Micro.blog app for Android — is now available as a public beta in Google Play.
For the book, I’ve been going through a bunch of web history, re-learning things I had forgotten or missed. Currently reading the Pingback spec from 2002, back when we thought XML-RPC-ing everything was a good idea.
Usually the IndieWeb Meetup in Austin is 1st Wednesday of the month. Next month, that’s New Year’s Day, so we’re bumping it a week to January 8th, 6:30pm at Mozart’s Coffee.
Episode 399 of Core Intuition (just about to hit 400!) covers @danielpunkass’s Black Ink 2 release, deadlines, marketing, my upcoming book, and more.
We are still looking for sponsors for IndieWebCamp Austin. Do you work for a web-friendly company that might be interested? See this blog post for details.
If you’re coming to tonight’s IndieWeb Meetup at 6:30pm, Mozart’s Coffee also has a huge Christmas light show outside. It’s cool! But it means more of a crowd, so plan on arriving a bit early.
We got a new TV: Samsung 55RU8000. We had our last TV for about 8 years so a lot has changed. I was skeptical of “smart” TVs, but this thing obsoletes our Apple TV. Built-in Netflix, Disney+, Hulu Live, iTunes purchases, etc. with a remote that is much less frustrating to use.
Thanks for all the congrats and best wishes going into Micro.blog’s 3rd year… I remain as excited as ever to work on this.
Today is the 2-year anniversary of Micro.blog’s public launch! I recorded a new episode of Timetable about the uncertainty of launching something new. Thanks everyone for giving us the confidence to do this.
Black Ink 2 is out! We’ve been talking about the launch plans on @coreint and now it’s here. Looks great.
Jean MacDonald has a great wrap-up post about the Microblogvember daily blogging challenge and the value of looking for “micro” versions of bigger projects:
Ever since I became the community manager of Micro.blog, I’ve developed an appreciation for the beauty of going “micro”: microposts, microcasts, micro meetups, microcosms of interesting humans interacting online on a human scale.
This is a key part of Micro.blog’s mission. Many people find writing a full-length blog post too daunting, but break it down into micro-sized posts and it’s easier for everyone. Jean continues:
This is what I like about a micro approach. Start with something small, and build on that. It also works with podcasting, for example. Micro.blog has spawned several microcasts (including our own Micro Monday) by making it easy to start small.
It reminds me of why we’ve added so many “full” blogging features to Micro.blog hosting, like longer posts, file uploads, categories, custom themes, standalone web pages, and podcast hosting. After you’ve “started small” and have a nice routine with microblog posts, the platform should grow to accommodate whatever you need next.
Sent a short newsletter last night with a link to the latest Micro Monday episode, unlocking pins, a selection of new winter photos, and the book preview. You can subscribe to these newsletters in your favorite RSS reader if you prefer that over email.
Micro Monday episode 73 features guest Andrew Canion. Jean talks with Andrew about daily blogging in November, discovering Micro.blog, time zones in Australia, and more.
Early last Friday morning, one of the Micro.blog photo storage servers failed. I brought it back up shortly after I noticed, but dealing with the problem motivated me to make a change I’ve been thinking about for how photos are stored. Over the weekend I migrated the photo storage to a new system based on Linode’s Object Storage.
(Luckily, years ago when I was designing Micro.blog, I had anticipated I might eventually make a change like this. The old server was running Minio to provide an S3-compatible interface, internal to Micro.blog, so switching to a new system was much easier.)
When a photo is uploaded to Micro.blog, it has always been kept in at least 2 places: on a primary photo storage server, and on a copy of your published blog, along with HTML and other files. Both of these locations were backed up daily.
Over the summer there was a similar error to what happened last week. For some new uploads, only 1 copy of the photo was kept. If Micro.blog needed to rebuild your published blog files, there was a small window during which it could overwrite the latest photos that had been uploaded. Usually I’d be able to fix this from a backup, but I know at least 1 user who was affected by it, and there might have been a few more.
If you ever see broken images on your site, please reach out to help@micro.blog. You can also re-upload photos under Posts → Uploads in Micro.blog on the web and update any posts from the original photos.
Remember that Micro.blog also has built-in features for making extra backups for yourself, beyond the backups we already handle behind the scenes:
The new photo storage that is live now should be even more robust. Photos are a very important part of Micro.blog. I’ll keep improving this and adding storage redundancy wherever I can.
Baby Yoda yarn! @traci bought a crochet pattern online. 🧶
Today I sent the following update to Kickstarter backers.
Hi everyone! I’ve set a release date for the book Indie Microblogging: January 2nd, 2020. I’ll send an email that day to all Kickstarter backers with a link to read the book on the web.
You can preview the draft table of contents here: book.micro.blog
There’s a pre-order link on that page. You don’t need to pre-order the book because you will already have access as a Kickstarter backer, but please share the link on your blog, to followers on social networks, and with friends who might need a reason to dust off their blog or even start writing on the web for the first time.
Thanks for your support and patience as I’ve spent the last couple of years focused on building and improving Micro.blog. There is still a lot of work to do, but I’m excited to spend the next month wrapping up the book reward for Kickstarter backers.
And if you haven’t checked out Micro.blog lately, the community keeps growing and the platform has evolved to be great for full-featured blogs, not just microblogs. Photos, Hugo themes, categories, pages, podcast hosting, publishing from apps across iOS, macOS, Android, the web, and much more.
— Manton
P.S. Indie Microblogging is a book about the web, so I want it to be on the web first. After some time to incorporate fixes and improvements to the text, I’ll follow up with a print version for backers at the higher reward tiers.
Got access to WT.social. Still a little frustrated that they get so much press for what is another silo, like a more-editable Reddit. And the good parts — we do need more smaller social networks — is offset by the founder saying he wants to grow to 50 million users.
Drafting an update to send next week to Kickstarter backers, and I was almost tempted to work the phrase “I’d like you to do us a favor though” into the text. Maybe not everyone would find that amusing.
I’ve blogged about Klaus a couple times. It’s one of those films that I was a little nervous about because I wanted it to be great, and it is. There is some wonderful character animation in this.
Animation World has an interview with director Sergio Pablos about what a positive experience it was to work with Netflix, and on getting few chances in life to do something great, especially with animated features:
You hope you’ve made something good, but you’re so close to it that you’re kind of blind to it. We’ve been trying to make a film for 15 years in my company and we’ve failed in different ways. Right? Sometimes a film would end up going elsewhere, or it wouldn’t even get made. Meanwhile, we’re taking service work to try and support our effort. So, it’s been a long road. But I always dreamt the day would come where I’d have a project I could be proud of.
Congrats to the team for doing something that feels new with 2D animation. I may need to get the art book.
Thanks to everyone who pre-ordered Indie Microblogging this week. It’s great motivation for me to push through the work and ship by January 2nd. Details here: book.micro.blog
People often ask how they can support Micro.blog beyond subscribing to the monthly $5 plan. Post to your blog regularly, reply to others in the community, and pre-order the Indie Microblogging book. Any or all of those make a big difference.
I talk more about the Indie Microblogging book details on today’s Core Int. Then @danielpunkass and I review final Black Ink 2 plans and brainstorm podcast changes for episode 400 and beyond.
As 2016 was winding down, I was determined to start 2017 with something new. On January 2nd, I launched the Kickstarter campaign for Micro.blog and a book I’m writing called Indie Microblogging.
In the years since then, I’ve put everything into Micro.blog to fulfill my promise to Kickstarter backers. Micro.blog does way more than I had dreamed it could do 3 years ago. But the more I put into Micro.blog, the more it needed of me, and the book kept taking a back seat until now.
I’ve set the ship date for the book: January 2nd, 2020. It will be published on the web for all Kickstarter backers, and if you missed the Kickstarter you can pre-order the book now for $20. The money goes right back into Micro.blog so that Jean, Jon, and I can continue improving the platform and growing the community.
When completed the book will be over 50 short chapters in 6 major parts, plus intro and conclusion sections that get to the mission of Indie Microblogging and the next steps. It will also feature several interviews.
You can view the draft table of contents here and pre-order the book. Thank you for your support.
Great news for Android microbloggers: there’s a new build of Gluon available. This brings the Android version more in sync with the iOS version.
Listening to Sondland’s opening statement while I work. I’m sympathetic to his complaint that he doesn’t have access to documents that would refresh his memory. I take a lot of notes and I’m always looking back on emails or blog posts to remember or quote from things I’ve said.
I could blog about the App Store vaping app controversy but I’ve said it already in my essay on open gardens.
Working on the book. When it goes live on the web, it will be published as a Micro.blog-hosted site with a little JavaScript for auth. The new Lanyon theme’s sidebar works great for the table of contents. The draft is 50 short (micro!) chapters in 6 parts.
Blazers in Houston with @cheesemaker.
Whenever a new social network launches, I compare it against my post about the 4 parts to finding our way out of the mess with social networks. Checking off just 1 or 2 of the 4 parts isn’t going to cut it.
“And it’s really an amazing thing you’ve done. I guess, in a way, I did something similar.” — Trump to Zelensky in the new call transcript, because Trump always has to make everything about himself
As an example of something that could be a live microblog: accounts like the Six Colors “event” Twitter account, or The Verge and others who live-tweet (and then sometimes embed the timeline on a blog post). If the tools were better it wouldn’t need to start as tweets.
I like what The New York Times does with their side-by-side impeachment video and analysis, which is essentially a live microblog. In M.b we experimented with highlighting WWDC-related posts this year, and I’d love to expand that with live updates.
On Core Intuition 396, we react to the 16-inch MacBook Pro news, talk about @danielpunkass’s Black Ink 2 ship date, and I preview a decision on finishing the Indie Microblogging book.
Just got billed for iTunes Match again because I’m afraid to cancel it. Even after doing some research, not totally sure if it’s redundant with Apple Music or still required. I stream everything and don’t really keep music backups anymore.
After reading this article about pricing uncertainty with the .org top-level domain being sold, I just renewed manton.org registration until 2029. Still wish domain names were easier and cheaper.
Listening to some of the impeachment testimony while I work. The Republicans' strategy is pretty flimsy. Maybe they’ll have more luck next week, but the Democratic narrative has been set for impeachment and it’s strong. 🇺🇸
I still love my mid-2014 MacBook Pro and have resisted upgrading it because it has been so reliable, but sounds like this new 16-inch will be a great replacement. Hopefully it’ll last at least as long.
The back catalog on Disney+ is incredible. I feel like I’ve spent a small fortune on Disney DVDs, Laserdiscs, and iTunes movies over the years and now it’s just all right there. This is going to be fun.
Watching the Tony Parker jersey retirement. I love this year’s Spurs team but it’s going to be a long time until we see another night like this. 🏀
You might think because I created Micro.blog that I have a perfectly simple blogging workflow that will work for everyone, all the time. Nope. I use a variety of different apps depending on what I’m trying to do:
And this only scratches the surface. There’s Wavelength for podcasts, and some people prefer apps like Icro, Gluon, Dialog, Quill, or automation via Shortcuts. This is why we link third-party apps from the posting screen in Micro.blog.
One of the things I’m most proud of with Micro.blog is that the API supports standards so you can use a variety of different apps for posting. There are so many different types of blogs out there, there shouldn’t just be one way to post.
We are getting really close to episode 400. Feels like a big milestone to me, and I’ve been wondering if we should change anything with the podcast format when we roll over into the 400s. But in the meantime, here’s 395:
Daniel and Manton try to take stock of long-term personal goals, thinking of how they align with and overlap with money-making goals. Manton reports back after watching Matt Mullenweg’s “State of the Word” talk at WordCamp US. Manton reflects on the important of simplicity for Micro.blog in contrast to WordPress, while Daniel considers that MarsEdit also serves as a more complex interface to Micro.blog. Finally, they digest the latest Apple announcements, focusing on the merits of the new AirPods Pro, and whether Apple TV+ is a justifiable pursuit for the company.
Daniel has already given me a sneak peek of next week’s manager check-in and it’s a good one. I think that is going to become a regular segment.
Up early for a Saturday. Cold outside but it’s going to get colder next week, maybe even with snow. But this is Austin, so we’ll see. Coffee at Thunderbird this morning and getting ready to post Core Int.
Needed to order a new water filter for our fridge and might have added Link’s Awakening to my Amazon shopping cart at the same time.
Brent Simmons marking the 20th anniversary of his blog:
It’s tempting to think that The Thing of my career has been NetNewsWire. And that’s kinda true. But the thing I’ve done the longest, love the most, and am most proud of is this blog.
The great thing about a personal blog is that if you stick with it, your blog will very likely span multiple jobs and even major life changes. You don’t need to know where you’re going to be in 20 years to start a blog today and post to it regularly. Writing about the journey — and looking back on the posts later to reflect on where you’ve been — is part of why blogging is still so special.
Gonna try to make it to next week’s WordPress meetup in Austin. I use M.b for my blog now, of course, but we use WordPress for @coreint, and I’d like to talk to more bloggers about IndieWebCamp. @macgenie will also be at WordCamp Seattle this weekend!
Frustrated by little things that don’t matter this morning. No seats at the coffee shop so I’m working outside. Spilled my coffee everywhere. Cold and raining and I’m wearing clothes for summer. I’m posting this mini-rant so that I can let it go and focus on real problems. 🌧️
IndieWebCamp Austin is coming up in February at Capital Factory. This is our 3rd event in Austin and I’m excited to start getting the word out and help a lot of new people discover the IndieWeb. Registration is already open.
Tom Brown and Jean MacDonald are joining me as co-organizers and we’re looking for sponsors to help cover costs for the venue and breakfast for attendees. If you’re interested in sponsoring or work at a company that would be a good fit to support the IndieWeb, please email me: manton@micro.blog.
Platinum event sponsor: $2500
Silver event sponsor: $1000
Bronze event sponsor: $500
Ben Thompson has an excellent article this week about free speech, political ads, and Facebook. There’s a good debate to be had about the roll of curation and fact-checking ads, but on the problems of massive, ad-based social networks there can be no doubt:
In the long run, though, it is very problematic that such a powerful player in our democracy has no accountability. Liberty is not simply about laws, or culture, it is also about structure, and it is right to be concerned about the centralized nature of companies like Facebook.
Platforms that have as many problems as Facebook does can always be improved, but by design they can never be good enough because their size alone is one of the problems.
The good news: it’s up to us. We can choose to reject these platforms and move to a more distributed web of indie microblogs. We can choose to reject the attention power-grab of the algorithmic timeline. We can choose to build the web we deserve… but it’s not going to happen if you keep feeding photos into Instagram.
IndieWeb Meetup in Austin tonight! 6:30pm at Mozart’s Coffee. Super informal, everyone’s welcome. I’ll bring some Micro.blog stickers. ☕
There’s a powerful filter mechanism inside Micro.blog for automatically assigning categories based on criteria in the post. For example, if the post includes an img tag, assign it to a Photos category. Or if the post includes the 📚 emoji, assign it to a Books category. I blogged about this in September.
Today I’ve expanded this feature to also allow matching on whether the post is a short microblog post or whether it’s a longer post with a title. Like other parts of Micro.blog, it uses the title to determine how to categorize the post. Posts without titles are always considered short microblog posts.
To create new filters, go to Posts → Categories → Edit Filters.
You can use this in combination with matching the title or text in a post, or leave those fields blank when creating a filter to match all posts. This makes it easy to move all full-length posts into a category, which can also have its own RSS feed.
New voting machines in Austin. They aren’t perfect — screen UI could be a little better, and might be some confusion about going to a 2nd machine to feed the ballot — but overall it’s an improvement. I like being able to review the print-out and possible paper trail for recounts.
Great feature in the Mac App Store about Acorn developer @ccgus. Make sure to click through to the Mac App Store version which is longer than the “preview” on the web.
It has been 3 years since the 2016 election. I hope you’re not waiting for Twitter or Facebook to fix their platforms. Posting to your blog is part of every solution to making the web better, and you can do that today. Start at Micro.blog or IndieWeb.org.
There’s a new built-in theme available on Micro.blog called Lanyon, based on the open source Hugo theme of the same name. It’s a clean, readable design with a slide-out menu for page links.
I’ve been working on getting several new themes ready for Micro.blog. Some Hugo themes work with only a couple tweaks, and some take more time. My fork of Lanyon with Micro.blog-specific changes is on GitHub.
I didn’t realize until I just got a mention that push notifications work in Icro for Mac! I should probably know that considering that Micro.blog is the one sending notifications for third-party developers. Nice surprise to see it in action.
Two new versions of the third-party Micro.blog app Icro have been released. The iOS version now supports push notifications, and a new version is available for macOS for the first time.
Because the official Mac app is distributed as a direct download, this is actually the first Micro.blog app available in the Mac App Store. It was ported to macOS using Catalyst, so it requires Catalina, which I just upgraded to. It’s great to have another microblogging option on the Mac!
IndieWeb Meetup this week in Austin! Wednesday at Mozart’s Coffee, 6:30pm. Stop by to chat about the open web and the upcoming IndieWebCamp. ☕
Day 2 of Catalina, now hitting more issues with full disk access and Ruby-related commands. Using rbenv and starting to wonder if I need to throw everything out and re-install to make Catalina happy. I’ve added all the obvious paths to System Prefs.
Running a series of exports and scripts to do some number crunching and update Micro.blog mailing lists. Nothing fancy. In some cases just pasting Ruby code into the console.
With a couple new releases of Micro.blog and Sunlit out the door, I think it’s time to upgrade to Catalina. I had it on an external drive for testing over the summer and so was happy to avoid upgrading for real.
Micro.blog 1.7.2 for iOS is now available in the App Store. Just a few more bug fixes and minor improvements.
Core Intuition episode 394 with @danielpunkass reporting on his first meeting “with his boss”, plus a discussion of Micro.blog’s new domain name registration.
Marking the halfway point on our walk today, took this photo of downtown Austin from the pedestrian bridge. Day 2 prompt for Microblogvember.
IndieWebCamp Austin will be February 22-23, 2020. Registration is now open! Just $10 for the weekend.
Today at 2:30pm central time, Tantek Çelik is giving an IndieWeb talk — Take Back Your Web — at WordCamp US. Check out the livestream for room 240 to watch it live.
I finished NaNoWriMo in 2005 and recommend trying it if you have time. For something shorter, just post once a day to your blog this month to get into a routine of writing regularly. We have a daily Microblogvember prompt at M.b → Discover on the web.
Disappointed that Beto is suspending his campaign before we vote, but it is difficult to recapture momentum after the media has moved on to other candidates. Hope others can advocate for the buyback of assault weapons and speak as clearly about immigration. Thanks Beto! 🇺🇸
If you’re new to Micro.blog, we have pins you can earn just for fun and to encourage posting to your blog. There’s a link under Account. Today, unlock a secret pin by mentioning “Halloween” or “pumpkin” anywhere in a microblog post. 🎃
There’s a new update to our photo app Sunlit out with improvements and bug fixes.
Reacting to the news that Twitter is banning political ads, I’m announcing today that Micro.blog has also banned political ads. And all ads, period. Massive ad-based social networks are unfixable by design. We can do better.
Almost shocked that Twitter is banning political ads. Didn’t think they had the guts to make a single hard decision after accidentally building a platform that manipulates and amplifies the worst parts of society, letting the system run unchecked. They should ban more features.
For the last few years, right before the regular season starts, Jon Hays and I usually paste in our guesses for the top 8 in the west in chat. This year the west is up for grabs more than anytime in the last handful of years, so I thought I’d share my list:
No doubt a few things are wrong here. For example, Dallas looks like a playoff team right now, and I left them out. But I’m excited to see how this shakes out, especially for the Spurs, who are exactly the team I was hoping they’d be now that Dejounte Murray is back.
We’re at the point with Micro.blog where anyone considering rolling their own Hugo blog should probably just use Micro.blog hosting. Backed by editable Hugo themes but with a web front-end, posting from native apps, MarsEdit, etc.
“You choose the web you want.” — Brent Simmons
Since the very beginning of Micro.blog we’ve encouraged you to use your own domain name with your microblog. It’s the best way to control your content and an important principle of the IndieWeb. Now it’s even easier.
If you don’t have a domain name yet — or need a new one! — Micro.blog can handle registration for you. We are using the Name.com API to purchase and configure the domain name for you. Payment is handled on your existing Micro.blog subscription and everything is automatic. No messing with DNS records.
Here’s a screenshot of finding a domain name, which is linked under the domain name section on Posts → Design:
I’m very excited about this feature. We’ll be expanding it based on feedback but it is already quite powerful, even including email forwarding. And of course, you can always register a domain name elsewhere on the web and point it to Micro.blog.
Dropped my bike off last week to repair the wheel and for general tune-up, and I’ve taken it for a couple rides since, but there are hills in every direction from our house. It makes me not want to venture out much. Next bike has gotta be electric.
There have been a few IndieWebCamps recently, including in Amsterdam, New York, and Brighton. I’ve enjoyed reviewing the sessions, and after the Amsterdam event I noticed this post about content ownership:
When it comes to posting to Facebook or Twitter, you play a different game. You write and post it on their servers, therefore those companies own your data, not you. A photo (or video for that matter) is a special kind of data. Its file size creates limitations to its distribution, but no matter where it’s uploaded, it is always owned by its creator first.
While it’s good to acknowledge the unique hosting requirements of photos and videos, how we define content ownership shouldn’t be any different. People get lost in the weeds with running their own server, how to set up cross-posting to other social networks, where to post first, what formats and protocols to use, etc. But it’s actually much simpler than that.
I think in the tech world — and especially as programmers — we tend to make things more complicated than they need to be. We know too much about content ownership, most of it irrelevant for mainstream users.
If you want to control your content on the web, post it at your own personal domain name. That’s it. Everything else you want to do is icing on the cake.
Likewise, nothing else can be a replacement for that simple act of using your own domain name. You could write your own blog software with a custom database designed for ActivityPub and run it on a server in your basement. It doesn’t matter. Without the domain name, all you have is a pile of icing.
This has been the messaging for Micro.blog from the beginning. Keep it simple and make it easy for anyone to participate in the open web.
Following my experiment with importing Foursquare data, I’ve officially updated Micro.blog to support storing location information. The Micropub API now accepts checkin and location properties for sending venue name, URL, latitude, and longitude to Micro.blog. This works with the JSON format in OwnYourSwarm, which connects Foursquare/Swarm to your microblog.
Micro.blog on the web and the native apps do not send any location information. Right now this is purely an opt-in feature for third-party apps like OwnYourSwarm and custom solutions using the API. We consider location information very private and will never enable it automatically.
When a post has location information, you can see the coordinates in the posts list on your account:
The default Micro.blog themes do not currently do anything with this information. You can create a custom theme to access the coordinates as custom parameters, like this:
The 4 available parameters are location_name, location_url, location_latitude, and location_longitude. The venue name is automatically prepended to post content so that no theme changes are necessary. I’d like to explore offering maps as a built-in feature in the future. Enjoy!
Micro.blog is sponsoring WordCamp Seattle next month, and @macgenie will be there. We’re also giving a ticket away.
Went to the travel writing panel at the Texas Book Festival today. Having just come back from Toronto where we tried to do a lot in not much time, great stuff in the panel to think about for our next trip.
Years ago my wife and I were in Vegas and had a chance to see Elton John… and missed it. This year, when I realized he was playing in Toronto on the night of our 20th anniversary, I bought tickets as a surprise birthday gift and we planned a short trip around the concert.
We arrived in the late afternoon earlier this week, took the airport train to Union Station and the subway to our hotel, then went down to Polson Pier to catch the sunset. We had dinner and explored the Distillery District before checking out Jurassic Park for the Raptors game — too late, they had already closed it off — and settling for beers at the sports bar next door to watch the end of the game.
The next day we did a bike tour of the city. On the way to meet the guide, we wandered down a street to look at the trees and a woman said hi as she walked by. Realizing we were tourists, she stopped and told us that she had been friends with Jane Jacobs, who lived just a block away. There’s a sign outside her old house.
The bike tour was a great way to see a bunch of Toronto. Murals, CN Tower, trains at Roundhouse Park, sculptures at Ireland Park, the university, and several neighborhoods. We stopped for hot chocolate and then back on our own visited a couple libraries including the Sherlock Holmes room at the Toronto Reference Library.
Dinner in Little India and then the streetcar back for the concert. We loved it. Even with just a couple days we really got a lot out of visiting the city. Looking forward to coming back one day.
I was traveling this week and took a bit of time off from blogging and answering email except for critical issues. I’ll be catching up today. Thanks everyone for your patience and good discussions on Micro.blog!
For this week’s Core Intuition, we talk about @danielpunkass’s trip to Amsterdam and how to prioritize the right work with limited hours.
Micro Monday episode 70! Guest @adders talks about when he first discovered blogging, the impact of social media on journalism, and the value of being able to easily share something — “Random glimpses into humanity”.
Dave Winer shares a screencast on YouTube of how he publishes to his blog. It’s in an outline and similar to some of his early tools like Frontier. The UI is different than Micro.blog, but it’s the same goal of making blogging much easier.
Garrett Dimon writes about removing all analytics from his web site and how little he misses it:
What over a decade of number-crunching analytics has taught me is that spending an hour writing, sharing, or helping someone is infinitely more valuable than spending that hour swimming through numbers. Moreover, trying to juice the numbers almost invariably divorces you from thinking about customers and understanding people.
We don’t have page-view stats on Micro.blog because they are incomplete without counting the Micro.blog timeline and feed readers, and I’d hate for someone to be discouraged when just getting started. Newsflash: your blog does not have a million readers. That’s okay! If you really want stats, you can add some custom JavaScript to include Google Analytics or Fathom Analytics, but most of the time it’s a distraction.
I love having everything together on manton.org. Whether it’s blog posts about tech, personal stuff, or photos, I don’t have to think too much about where to put it. If I’m writing on the internet, it goes on my blog.
But I’ve been wanting to experiment with sharing more location information too, and use that to try out location as a built-in Micro.blog feature, so I’ve created a new blog manton.coffee and imported my 2500 check-ins from Foursquare/Swarm representing about 8 years.
To build this, I upgraded Micro.blog to support venue names and location coordinates. We try to be very careful about privacy, and currently the apps do not fill any of this data in, but in the future it could be something people opt-in to for a post. The extra data is available to Hugo templates, which is how I’m including the little maps on the home page.
We’re working on some other features with higher priority than this, so consider this mostly a sneak peek for now. I’ll enable the Foursquare/Swarm import as an official feature after the glitches are worked out. Better integration with OwnYourSwarm should also be on the roadmap.
If you’re using the default Marfa theme on Micro.blog, I’ve added a couple checkboxes to Posts → Design to control pagination. I recommend keeping it off for the home page, but it’s sometimes useful for category pages.
We’ve released a new version of our photo-blogging app Sunlit. Mostly a bunch of bug fixes, including these changes:
You can download Sunlit for free in the App Store.
There have been a lot of IndieWebCamps this year! This weekend is Brighton, England. Free, 2-day conference about controlling your content on the web. Check out the details on the IndieWeb wiki.
As usual I’m working on a few things at once that’ll ship soon. I’m especially excited about something I’ve wanted since day 1 of Micro.blog. If you don’t have your own domain name yet, or need to register a new one, let me know via help@micro.blog if you can help test this.
I’ve been skeptical of Spotify’s approach to podcasting and the potential downsides for the open web if more “podcasts” are exclusive to a single platform. But I’m loving the latest season of StartUp, where they tell the story of Gimlet being acquired.
Speaking of cross-posting, I’ve updated our LinkedIn support in Micro.blog for the latest LinkedIn API changes. Should be working again!
I’ve removed the option for Facebook cross-posting on Micro.blog. Facebook recently disabled our API access, and my initial request for re-approval was denied. While I hope to eventually get it enabled again, I don’t want to have a feature on Micro.blog that is broken.
A year ago Facebook turned off API access for creating new posts unless they were sent to a Facebook page. I adapted Micro.blog to that change, but it already severely limited the usefulness of cross-posting to Facebook. At the time, Bridgy disabled all Facebook support:
Facebook’s moves to restrict its API to improve privacy and security are laudable, and arguably the right idea, but also mean that users can no longer use third party apps like Bridgy to create posts.
I hope that by officially saying goodbye to Facebook support we can focus on making the other cross-posting options in Micro.blog more robust. I’m currently looking into improving LinkedIn support, and we recently added Tumblr cross-posting to go along with Twitter, Medium, and Mastodon.
Facebook and even Instagram are at odds with the principles of the open web. I never want to remove a Micro.blog feature that users find valuable, but in this case we have little choice, and it’s best for Micro.blog to move on.
Yesterday we updated the iOS app for Micro.blog with several bug fixes and tweaks for iOS 13. Today I’m updating the macOS app with an important fix when running on macOS Catalina.
Here are the changes:
Along with macOS notarization, this release also now uses the “hardened runtime”. I thought this might break some features, but I haven’t noticed any problems. Choose “Check for Updates” in the app to get the latest version.
We forgot to take a group shot at the IndieWeb Meetup in Austin last week, but just noticed as I was flipping through photos that I had this one of my iced coffee and stickers. Next meetup is Nov 6th.
I’ve posted an update to Micro.blog for iOS with several bug fixes. Here are the changes in version 1.7.1:
You can download it in the App Store.
There’s a new trailer out for Klaus, which hits select theaters and then Netflix in November. Amid Amidi at Cartoon Brew writes about director Sergio Pablos:
His goal hasn’t been to simply bring back 2d animation, but to push the craft forward, and Klaus’s distinct look is achieved via an innovative lighting and rendering pipeline that is applied to the drawn animation.
I’m excited for any hand-drawn feature film, especially one that comes from Sergio Pablos. Over the last few years his team has posted some early concepts and tests to their blog. I also mentioned Sergio on an episode of my podcast Timetable in 2017.
I’m still frustrated that simple bug fixes need to be approved by Apple just to send a TestFlight beta out. For example, going from version 1.7 to 1.7.1. This is a waste of time for everyone, including Apple.
Trying to resist judging Catalyst by the initial apps out with Catalina today. Most developers were surprised by Catalina shipping so soon, and porting apps is more difficult than “checking a single box in Xcode”. In 6 months we’ll have a better idea.
When Apple Arcade launched, I thought it would be fun to try a new game each day for 30 days. And it was fun! For… 18 days. On Saturday I sat down to play my 19th pick, Oceanhorn 2, and realized that playing a new game each day wasn’t working.
Unlike visiting 30 coffee shops, 30 libraries, and 30 parks — where each series of blog posts I explored Austin and got a lot out of it — playing video games has proven to be too big of a time commitment for me right now. I love video games and there are some great games in Apple Arcade, but if I’m on my phone for an hour I need to be using that time for something work-related. It was creating too much extra stress for too little return.
Oceanhorn 2 is also a good place to wrap up this experiment because it’s one of my favorites. It’s heavily inspired by Zelda. I’m going to enjoy playing it a little bit more over the next week or so. All the other games I’ve played are collected in this category on my blog.
Last week’s Core Intuition covered the Microsoft Surface event, App Store Search Ads, fixing old bugs, and responding to support emails. I’m making a renewed effort to at least not let my support email backlog get worse.
Agent Intercept is a combination of racing game and spy story, with new missions released every day. @andynicolaides has a nice review over at thedent.net, including gameplay video. 🕹️
I haven’t played many endless runners, so while trying EarthNight I’m thinking of Canabalt and even Tiny Wings. Not really the kind of game I’d seek out, but the retro music is a great fit. Also the first game I’ve seen that suggests using a real controller on the launch screen.
I updated the M.b /photos page for hosted blogs to only include JPEGs to help filter out screenshots. Also adding a page to the help site to describe this change and the Hugo parameters if you want to override how it works. (This’ll take affect next time you post.)
I read through The Verge’s liveblog of the Surface event. I’m very interested in what Microsoft might do with Android, and they’re smart to not call the Duo a phone (so people buy it as a 2nd device). I bet Android apps on Windows aren’t far behind.
Playing a new game each day means I just can’t get very far if there’s any depth to the game. Cat Quest II is like that. There’s a lot of polish, nice backgrounds with a watercolor look, and it starts quickly and would be a lot of fun to finish if I had time. 🕹️
Clicking through the attendee list from IndieWebCamp Amsterdam, there’s so much variety in people’s web sites. We are so used to the same old mainstream sites that it’s almost a surprise to discover a blog that looks completely different.
Reminder that there’s an IndieWeb Meetup tonight. Mozart’s Coffee at 6:30pm. Hope to see you there! ☕
The look of Towaga: Among Shadows reminds me just a little of Don Bluth’s Dragon’s Lair. Completely different type of game — really not even close to the same thing — but also clearly hand-drawn with a lot of nice details, almost like a 80s cel animation throwback. I like it. 🕹️
Good luck to everyone participating in Inktober this month! We’ve added a special Micro.blog pin you can unlock by posting a photo of your drawing and the word “Inktober” somewhere in the post. To see your pins, click Account → View All next to the pins message.
If you’re drawing digitally, also check out these Inktober templates from Iconfactory for their iPad app Linea Sketch.
Playing a new Apple Arcade game each day, I barely have time to scratch the surface of most games, so I tried for Way of the Turtle to get much farther into it. Starts simple but there’s nice potential for level design as you unlock the different shells and wall-jump. 🕹️
I sent a new email newsletter out tonight, but I haven’t updated the mailing list addresses lately, so it won’t include new accounts until next week’s newsletter. If you’re new to Micro.blog, you can also view the newsletter on the web.
Maybe SNL and others have counted him out, but I made another small donation to Beto’s campaign today. I don’t think early polling should take the place of voters actually, you know, voting. 4 months until Iowa!
We found a coral snake next to the house this morning. Despite living in Texas my whole life, one of maybe only a few times I can remember having to kill a snake. Then ran errands and finally settling in to the major work for today: write a new Micro Monday newsletter.
IndieWeb Meetup this Wednesday, 6:30pm at Mozart’s Coffee in Austin. Grab a coffee or smoothie and chat about the open web or work on your own web site. I’ll recap sessions from IndieWebCamp Amsterdam. ☕
Another card-related game for the weekend: Where Cards Fall, from the developer of Alto’s Adventure. Beautiful game. 🕹️
Still hearing about games in Apple Arcade that I hadn’t seen with random browsing. Recommended from the Studio Neat newsletter: Card of Darkness. Nice change of pace and hand-drawn art. 🕹
I need to work from coffee shops more if for no other reason than I can’t easily get distracted and put on CNN and MSNBC like while working from home. What a week.
What The Golf? keep surprising me with its delightful wackiness. Busy day today so I needed something that was fun to pick up for just a few minutes at a time. 🕹️
We posted episode 390 of Core Intuition. From the show notes:
Manton finds a workaround to his Sign in with Apple email problems! Daniel argues first that DTS should support pre-release software, and they discuss possible compromise approaches. Finally, they remark on Apple’s vigorous marketing push, and the thrill of promoting products we are proud of.
Only 10 more episodes to go before we hit 400!
The best Apple Arcade games start with gameplay nearly right away, realizing they are mobile games first. It took me a little while to get going with Shinsekai Into the Depths. It looks great but may be better with a real controller. 🕹
Love the idea of how shadows are used in Projection: First Light, but I don’t have time to play very far into it. Glad there are a bunch of 2D games in Apple Arcade. 🕹
Impressed that the Democrats have actually set the narrative early. This transcript confirms what we assumed. Releasing it now might be better for Trump than obstructing the investigating, but it’s not good. Impeachment looks inevitable. 🇺🇸
Great interview with Beto on the Bill Simmons podcast. Long episode, but this Overcast link skips to where the interview starts, 45 minutes from the end.
I know we’ve said “this is it” multiple times since Trump was elected, but… this really feels like something new. No Mueller. No Barr. It’s up to Congress. 🇺🇸
As more Micro.blog bloggers use categories to organize their posts, I want to keep making categories more useful while retaining the simplicity of microblogging by default. Today we’ve added an option on the web (under the new “…” button when starting a new post) to choose categories right as the post is being created, as well as a new interface that can filter blog posts into categories based on the text in those posts.
For a while we’ve had a feature to automatically filter photo posts into a category. If you create a category called Photos or Photography, Micro.blog gives you this simple checkbox on the categories screen:
This is powered by filters that look for a match in the title or text of a post and then set a category for you automatically. These filters can now be managed from a new “Edit Filters” button on the categories screen on the web:
By default, filters are applied to new posts only. To also apply the filter to all posts, there’s a new “Run Filter” button. For blogs with thousands of posts, make sure to give Micro.blog a little time to update all your posts and publish them to your blog.
This week’s Micro Monday features Tiffany White, talking with Jean about blogging, sharing photos, podcasting, and discovering Micro.blog.
When we released Micro.blog 1.7 for iOS last week with Sign in with Apple support, Micro.blog could not actually send email to Apple’s private relay server. This is an issue that has popped up on the Apple developer forums and likely affects many developers. I was so excited for Sign in with Apple that I thought it was worth shipping anyway, crossing my fingers that we could resolve it shortly after iOS 13 was out.
Apple’s private email relay server is almost completely undocumented. In this blog post I’ll describe how I got it working.
The key issue is that the “return path” of your emails must be using a subdomain that can be verified by Apple. This blog post from SendGrid describes the solution in detail. I was happy to discover that I could customize this in the settings in Mandrill as well under Settings → Sending Defaults:
Here are the steps I took:
.nojekyll file so that the .well-known folder that Apple needs isn’t skipped.apple-developer-domain-association.txt file from Apple to the new subdomain web site. Wait a few extra minutes to make sure the DNS has changed before clicking Verify at Apple.And finally:
As I type all of this out, I still can’t believe it’s so complicated. Apple should both document this and remove as much friction as possible, for example by allowing domain names to be verified by DNS records alone and providing much more detailed error messages when things go wrong.
I wonder if we should start making a bigger deal about how fast and lightweight Micro.blog-hosted blogs are. I click on a lot of blog posts each day and the lag from other blog platforms is noticeable.
Bleak Sword is the first game I’ve tried on Apple Arcade that was designed for portrait orientation on the iPhone. The controls work well, but it’s best for quick sessions. My thumb got sore frantically pressing and swiping the screen while repeatedly trying to beat a level. 🕹️
I almost forgot to post to my blog for the 6th day of trying games on Apple Arcade. Remember those sliding block puzzles? The Enchanted World is that but set in a wonderful fantasy design where your character moves through the story using magic to set the world right.
I was going to stop my micro review there, but after I started playing the game I came across the story of the developer and designer who created it. Apple featured them in this newsroom blog post:
For creators and friends Ivan Ramadan and Amar Zubcevic, both 33, the game is much more than that: It’s a metaphor for a child growing up in a time of war. Both Ramadan and Zubcevic grew up in Sarajevo during the conflicts in the Balkans in the 1990s, and both had parents that used creativity to shield them from the violence and danger around them.
There’s also a longer feature on CNET about the developers.
I’ve tweaked how Micro.blog publishes new blog posts to not leave the archive or photos pages with temporarily incomplete sets of posts. Still eyeing additional performance improvements.
Matt Mullenweg blogged that Automattic has received a Series D funding round of $300 million. He had some interesting comments in an interview with TechCrunch about how much they want to grow WordPress, comparing it to Android’s 85% market share and even going beyond that:
What we want to do is to become the operating system for the open web. We want every website, whether it’s e-commerce or anything to be powered by WordPress. And by doing so, we’ll make sure that the web can go back to being more open, more integrated and more user-centric than it would be if proprietary platforms become dominant.
I’ve long been inspired by Automattic. They were the best company to acquire Tumblr and they seem well-positioned to make a dent in the dominance of Facebook and Twitter. But also I’m thinking about one of the IndieWeb’s principles:
Plurality. With IndieWebCamp we’ve specifically chosen to encourage and embrace a diversity of approaches & implementations. This background makes the IndieWeb stronger and more resilient than any one (often monoculture) approach.
WordPress is at 34% of web sites right now, and I can easily see it getting to 50%. Growing bigger than that might take away one of the beautiful things about the web: the diversity and flexibility to move between platforms. I’m rooting for Automattic to take market share away from the big social networks, but there should be a variety of tools available to build web sites, including platforms like Micro.blog.
Apple Arcade makes it easy to try a game, and often I’m downloading a game without knowing exactly what it’s about. That was the case with Over the Alps. It’s like a choose your own adventure book! Brought to life with nice illustrations and sound effects. 🕹️
Timetable episode 125! I talk about the Micro.blog update for iOS 13 today and what the focus should be for more web features this fall.
Micro.blog is doing much better in App Store searches now, possibly because I updated the keywords with this release. Went from around 60th place for “blogging” to 15th today.
Happy iOS 13 day! Micro.blog 1.7 is out with Dark Mode and Sign in with Apple. I’m also having so much fun with my micro reviews of Apple Arcade games that I’m extending it for 30 days. I created a category on my blog for all the posts.
Sayonara Wild Hearts was featured in the keynote last week and for good reason. I love what they’re doing with this game. Great blending of music and different gameplay elements. 🕹️
We posted this week’s Core Intuition today with more on iPhone 11 upgrades, getting ready for iOS 13, and Apple Arcade’s impact on game developers (and on our productivity).
Next up on Apple Arcade: Rayman Mini. I wanted to try a side-scrolling platformer and this is the first that popped up while browsing. I’ve played Rayman Origins on the Wii. This feels similar, but touch just isn’t quite the same as having a d-pad. 🕹️
Beautiful new library in New York. I’d love to visit more libraries while traveling. For such an incredible project, though, I wonder why they didn’t make this one bigger.
I’m enjoying Mini Motorways on Apple Arcade, from the makers of Mini Metro. Reminds me a bit of the original Flight Control in style and craziness when the city gets bigger. I need a new road-planning strategy, though… Wish I could create traffic circles. 🕹️
We added Sign in with Apple to the next version of Micro.blog for iOS 13. It can be used to sign in to an existing Micro.blog account, or to create a brand new Micro.blog account right from iOS. It is the fastest way to start blogging.
Because Micro.blog doesn’t have passwords, in previous versions we had to send you an email to confirm signing in. With Sign in with Apple, we can skip this email verification and quickly sign you in with Touch ID or Face ID.
If you have an existing Micro.blog account and use Sign in with Apple with the same email address, you’ll be signed in to your current account. If you pick an email address that doesn’t match the email address used in Micro.blog, or if you choose Apple’s private email relay, Micro.blog will create a new account and start a hosted blog trial for you.
A few things to be aware of:
This update to Micro.blog ships on Thursday with iOS 13. If you’re already running iOS 13, you can try this update early by joining the TestFlight beta.
Apple Arcade is rolling out. I’m going to do micro reviews for a new game each day this week. First up: Tint. Beautiful concept to combine mixing paint with brush strokes to solve puzzles. 🕹️
I signed up for ESPN+ to watch a few FIBA games last week. Love that there’s nearly continuous basketball happening somewhere… WNBA playoffs this week, then NBA preseason in just a few weeks. 🏀
Finished watching Undone. I’m usually a little suspicious of rotoscope, but it works here and some of the scenes are incredible. The story is told really well. Hoping Amazon goes for another season. 📺
Finally got to see Les Misérables live this weekend. So great. Still singing the songs, and was trying to play through the sheet music for One Day More on our slightly out-of-tune piano.
I can understand why it’s not currently a feature, but I wish Apple IDs / Sign in with Apple also offered apps a user profile photo.
On the latest Core Intuition, Daniel and I talk about this week’s Apple event, whether to get the iPhone 11, working around Apple bugs, and the upcoming Micro.blog update for iOS 13.
I was reminded today that we’ve had folks on M.b for over 2 years, and the public launch anniversary is just around the corner. Thanks everyone for your support. I’m in this for the long haul… Looking forward to celebrating many milestones over the next decade.
Submitted the new Micro.blog for iOS 13 to Apple. Not totally sure it will be approved right away because of everything new, but crossing my fingers. Daniel and I talk about some of the potential issues on the next Core Int.
Love this incredible project (via the Studio Neat newsletter) to capture a 30-year time-lapse of New York City. Over 4 years in already.
Last year after Twitter changed their streaming API so that apps like Twitterrific and Tweetbot could no longer use it, I blogged that I wanted to do everything I could to support third-party Micro.blog apps:
With that in mind, I’ve mentioned before that I’d like to offer a push notification service for developers. iOS and Android developers could upload their push notification credentials from Apple and Google. Micro.blog would store them and deliver push notifications directly to third-party apps.
That is now a reality. Today there’s a new beta of Gluon for Micro.blog that includes push notifications. Micro.blog sends the notifications on behalf of Gluon so developer Vincent Ritter doesn’t need to run his own server.
The other popular iOS app for Micro.blog is the open source Icro. I’ve added a comment to this Icro issue on GitHub with details on the new API. I’m looking forward to working with anyone building native apps for Micro.blog to enable push notifications for their app.
Solid debate tonight for the Democrats. It’s great to see everyone on the same stage. Strong night for Beto too. 🇺🇸
I can’t believe it’s been 2 years since Brent Simmons announced JSON Feed. In the first months after the spec was released there was a lot of activity on GitHub and interest from developers. The format has proven really useful in Micro.blog, in feed readers like Feedbin or Brent’s own NetNewsWire 5, and just to make it easier to build new web tools.
We’ve received some great feedback, and I’ve been reviewing a bunch of the issues on GitHub. There are a few things that we want to incorporate into the spec. I’ve posted a list of proposed changes over on GitHub.
Sent a new beta of Micro.blog for iOS 13 to beta testers. I’m really excited about this release. If you want to get the TestFlight builds, you can sign up here.
Xcode 11 crashes when I try to run on the device with the iOS 13 beta, so this week I’ve resorted to TestFlight builds and printf-style debugging to troubleshoot Sign in with Apple. Very slow, but I didn’t want to jump to 13.1 quite yet.
Disappointing loss for team USA against France. I was worried this might happen after watching a couple of the other close games. Single-elimination is tough. But they did qualify for the 2020 Olympics. 🏀
I’ve already talked myself out of pre-ordering the iPhone 11 Pro this week. Looking forward to upgrading later, though. Just want to save a few bucks first and focus on these iOS 13 updates before I get distracted with a new phone.
Great updates to the Apple Watch, as usual. I really need to upgrade from my Series 0. I say that every year but it just keeps working.
Nice pricing on Apple Arcade and TV+. But given the tiny selection of shows compared to Disney+ or Netflix, it makes sense.
The Apple event stream just started up on YouTube… There’s something amusing about Google shouldering the financial burden of streaming Apple’s most important event of the year.
This story about App Store search from The New York Times is really well done. It makes me wonder about Micro.blog search ranking and whether we should work to improve it (or run ads).
There’s a new Micro Monday episode out! On episode 67, I talk with Jean about some of the Micro.blog improvements I worked on over the summer.
Picked up our car today. Loved everything about ordering online and the car vending machine experience.
We’ve been rewriting some old parts of Sunlit to fix bugs and get the app ready for new features. The beta includes a few improvements that we’ll release in the next week or so before iOS 13. You can sign up on TestFlight to help test.
Apple has seriously stepped up their game with the web-based beta.music.apple.com, via MacStories. Just imagine what they could do if they gave all their web services this much attention and polish.
Richard Williams passed away a couple of weeks ago. The day after, my family and I went to see the Animation Show of Shows at the Alamo Drafthouse. It was a wonderful collection of films — beautiful to experimental, funny or thoughtful, with a variety of different mediums.
But thinking about it now, none of the short films were really in the painstaking hand-drawn style of Richard Williams, who had incredibly high standards for what animation could be. He would embrace doing the work of drawing every frame, with few holds or shortcuts.
The films in the show weren’t trying to do that, and that’s fine. But I hope someone again picks up the depth and quality that Richard Williams brought to the industry. I blogged about him back in 2013, and I remain inspired today.
Reading more of App Launch Map Field Guide from Aleen Simms after picking it up on launch week. Great advice on helping you tell the story of your app. 📚
Thanks to @DaveWoodX for the reminder that we need more people to vote for getting the Micro.blog icon added to FontAwesome. If you have a GitHub account, it takes just a few seconds to click 👍 on this. Thanks!
I might be a bit late, but I’ll be at IndieWeb Meetup tonight, 6:30pm at Mozart’s Coffee. We usually grab a table on the deck outside. ☕
Blogs hosted on Micro.blog provide a lot of flexibility with custom CSS, themes, and Hugo templates. But if you are making major changes to the design of your blog, you may not want to do that live and risk breaking anything for your site visitors.
I often test out changes on a 2nd fake blog I created on Micro.blog. It’s like an extra sandbox that I can play in to edit templates without touching my real blog, and it’s useful enough that I want everyone else to be able to do the same thing.
Micro.blog now lets you create a free test blog for your account with a URL like username-test.micro.blog. There’s a button to create the test blog under Posts → Design → Edit Custom Themes. It will appear as a free 2nd blog on your account, and you can post to it, upload files, or try out custom themes.
Because custom themes on Micro.blog can be shared across multiple blogs, when you’re happy with any changes you’ve made in your new theme, you can assign the theme to your main blog and all those changes will be applied to both sites. I’ve also added a “duplicate” option that makes a new copy of the theme so you can edit templates in the duplicate theme on your test blog.
I’ve updated Micro.blog today to help Mastodon users follow people on Micro.blog. It used to be that if you clicked from Mastodon to a Micro.blog user, you just ended up their blog home page. Now it redirects to a special version of the Micro.blog profile screen which includes a follow form.
This is very similar to Mastodon’s default remote follow form, or Aaron Parecki’s profile page. For more about how to use your own blog’s domain name as your Mastodon-compatible username, see this Micro.blog help page about ActivityPub.
On the latest Core Int, we talk about Siri privacy and follow up on @danielpunkass’s Echo.
IndieWeb Meetup is coming up next week, Wednesday 6:30pm at Mozart’s Coffee. Also known as Homebrew Website Club, we meet once a month in Austin to talk about the open web or work on projects. Everyone’s welcome. ☕
DHH blogs about giving a chance to smaller companies to help fix the problems with massive tech companies controlling so much of the web:
The world is full of alternatives to the Big Tech offerings that give you 95% of the utility for 0% of the regret. But if you can’t even be bothered to give up 5% to help an alternative along, you also can’t be surprised when the alternatives are so few and far between.
This is how I’ve been feeling about Instagram. I hear people complain about Facebook all the time. But then some of those same people turn around and post photos to Instagram instead of their own blog.
Complaining helps when the company listening cares about the same problems we do. For example, Apple and privacy. But the solution to massive social networks is already in our hands.
Curtis Herbert has a great blog post about starting an Android version of his app Slopes. Adding social features made it more compelling to support multiple platforms:
In any given group of friends the odds of a mix of both Android and iOS users is very high (not to mention Europe is a big potential market for me, and Android is much larger over there than in the states). If someone on iOS loves Slopes, but their friend group ends up using one of my competitors because it supports both platforms and therefore the entire group can join in on the in-app fun, that’s going to go poorly for Slopes.
What I find so interesting about this decision is that Curtis seems to be intentionally expanding the scope of Slopes. Everything he writes about with Android makes sense if you first assume that the social features will be an important selling point and grow the audience for the app. Other indie developers might instead choose to keep the app focused on iOS and solve a more narrow set of problems, and that’s fine too.
I’m thinking of my discussion with Daniel Jalkut on last week’s Core Intuition about whether we should try to change the world (which often means bigger apps and more platforms to reach the most people) or focus on just building an app that’s really good at what it does (but might not be revolutionary).
Micro.blog would benefit from an official Android version, so a lot of Curtis’s post resonated with me. Luckily the third-party app Dialog (and upcoming app Gluon) can help fill that void in Micro.blog in a way that isn’t possible with non-platform apps like Slopes.
I’d love to see Apple release a 13.2 beta tomorrow just to kind of mess with everyone. I need to remind myself to lighten up about the minor Apple-related gripes and focus on the big stuff.
Dialog is a full-featured Micro.blog app for Android. Jacky Alciné blogged about it today while thinking about Micro.blog and IndieWeb mobile apps:
I decided to look at the client landscape for micro.blog, the most mature social platform that’s built around IndieWeb principles. I defined maturity as a platform that allowed immediate on-boarding into the community, provided a very simple (no-explainer) interface on how to get started and made it easy to go beyond it. That level of support is something I want my suite of tools to have - and I’m still working on it.
Because Dialog is such a polished app and already open source, I wondered if it could be the foundation for additional IndieWeb-related features for Android users. The official repository with the source code for Dialog is on Gitlab here.
I’ve also copied it to the Micro.blog account on GitHub, in case it’s useful for any GitHub users to browse or fork the code there. Thanks again to Mike Haynes for Dialog and for making it available in Google Play, as well as open-sourcing it!
Thanks to WP Tavern for writing about Micro.blog and our Tumblr features! Great summary of the role of Tumblr, other social networks, and MarsEdit.
Here’s my blog post from 2002 (!) about moving to NetNewsWire. Feels a little like history repeating itself, but in a good way. Let’s move the open web forward again.
Congratulations to Brent Simmons and all the contributors of NetNewsWire for shipping version 5.0 today. Here’s Brent with the announcement:
This release took five years to make, and for four of those years it wasn’t even called NetNewsWire. It was just a year ago that I got the name NetNewsWire back from Black Pixel — and I thank them again for their wonderful generosity.
Each major new version of an app is an opportunity to refocus, and NetNewsWire 5.0 prioritizes all the right things: it’s fast, embraces the open web, and feels at home on the Mac. NetNewsWire 5.0 takes everything Brent learned from previous versions, but rebuilt from scratch with modern features like Feedbin syncing, Dark Mode, and JSON Feed support.
And for folks on Micro.blog, NetNewsWire 5.0 also includes a sharing option to start a new microblog post right from an article you’re reading in NetNewsWire. It’s a great way to quickly share links on your microblog.
Downloaded my Foursquare archive (about 2500 check-ins over 8 years), thinking I might make it public and import it into my microblog. Micro.blog will always default to never storing any location information, but maybe a per-post option? Feedback welcome.
Some days I just want to view The New York Times home page without any stories that mention Trump in the headline. Maybe a Safari extension like @chockenberry’s Fixerrific, which hides Twitter trends?
Adding more emoji to Discover in Micro.blog. It’ll take a little while to update with all the posts, but now we’ve got art 🎨🖌, camping 🏕⛺️, beer 🍺🍻, and wine 🍷… plus a new “Show More” popup menu item on the web and in the iOS beta.
Posted a new Micro.blog iOS beta for TestFlight today with a bunch of Dark Mode improvements. You can join the beta here.
Last night we posted episode 385 of Core Intuition. @danielpunkass and I talk about whether we should try to “revolutionize” our market, more on Tumblr’s future, and the ambition to compete with bigger companies.
Fixed a couple issues with today’s Tumblr-related features. Large file uploads should also now work from Chrome. (I really shouldn’t only test in Safari.)
I’ve decided to add Tumblr as a cross-posting service in Micro.blog. This means Micro.blog can take your blog posts and automatically copy them to a Tumblr blog.
I usually avoid adding blog hosting services to Micro.blog’s available cross-posting destinations. After all, if it’s a good blog host that I could recommend as your primary blog, why not just post everything there instead of using Micro.blog’s own blog hosting? But the more I’ve used Tumblr in the last couple of weeks, the more I think about Tumblr as a community first and a blog host second.
To add a Tumblr blog in Micro.blog, on the web click Account → “Edit Feeds & Cross-posting” → “Add Tumblr”.
In related news, I’ve removed the upload file size limit when importing a Tumblr blog archive to use Micro.blog hosting. If you have a Tumblr, Medium, or WordPress blog that you’d like to migrate to Micro.blog, click Posts → Import.
Sometimes as I work on new features using a test blog, I fool myself into thinking I’m actually blogging and kind of neglect my real blog. Might try to catch up writing about a few topics this weekend.
I’ve switched on robots.txt files for all Micro.blog-hosted blogs, by default allowing full indexing. It’ll appear the next time your blog updates. I also wrote a help page with how to disable or customize the file.
Twitter announced in a blog post that they have removed over 900 fake accounts spreading misinformation about the protests in Hong Kong:
This disclosure consists of 936 accounts originating from within the People’s Republic of China (PRC). Overall, these accounts were deliberately and specifically attempting to sow political discord in Hong Kong, including undermining the legitimacy and political positions of the protest movement on the ground. Based on our intensive investigations, we have reliable evidence to support that this is a coordinated state-backed operation.
I like that Twitter is being proactive and transparent about this. It’s especially remarkable that they notified a competitor, Facebook, about similar fake accounts on Facebook’s platform.
Unfortunately there’s a deeper problem here. It’s not just the fake accounts and misinformation, but the way that Twitter’s design can be exploited. It is too easy to piggyback on trending hashtags to gain exposure.
Maciej Cegłowski of Pinboard called attention to the promoted tweets:
Every day I go out and see stuff with my own eyes, and then I go to report it on Twitter and see promoted tweets saying the opposite of what I saw. Twitter is taking money from Chinese propaganda outfits and running these promoted tweets against the top Hong Kong protest hashtags
I wrote about this in 2018 when introducing Micro.blog’s emoji feature:
Hashtags and Twitter trends go together. They can be a powerful way to organize people and topics together across followers. But they can also be gamed, with troublemakers using popular hashtags to hijack your search results for their own promotion or unrelated ranting.
We’ve expanded search and discovery in Micro.blog slowly for this reason. While Micro.blog is certainly too small to attract the attention of state-run propaganda, there has been spam going through Micro.blog that no one else sees. I’m convinced that limited search, no trends, and active curation are the right foundation so we don’t end up with a design that creates problems when Micro.blog does get bigger.
I don’t love that today’s Apple Card press release is also an ad for Uber. Is Uber really the best company that Apple could choose to exclusively promote today?
I added a new grid of featured photos on Micro.blog today. This matches the photos collection in Discover, but with thumbnails and scrolling back through more posts.
Tumblr wasn’t the only big news in blogging land this week. NetNewsWire 5 is now in beta! Share to Micro.blog, sync with Feedbin, and more… I love that NetNewsWire is back.
Reminder if you want to save a little on your Micro.blog subscription, you can pay for a full year instead of monthly. I added a help page here.
In all the Mac and iOS software I’ve worked on over the years, I don’t think I’ve ever had a new release ready as soon as Apple shipped their major updates to macOS or iOS. The timing just never works out, so I update a couple of weeks or months later. For iOS 13, I’m finally ahead of the game.
I just updated the beta of Micro.blog for iOS with a couple fixes, especially for dark mode on iOS 13. There’s more to do, but I feel really good about being able to have this ready.
If you’re running the beta of iOS 13, you can sign up for the Micro.blog beta here. Thanks for testing!
I’m excited to see where Automattic takes Tumblr, but even today there are already several Tumblr-related features built in to Micro.blog. Here are a few ways that Micro.blog can integrate with Tumblr.
Follow Tumblr users on Micro.blog: Micro.blog tries to play nicely with the rest of the web, so you aren’t limited to just following Micro.blog users. To follow someone’s Tumblr blog, on Micro.blog click Discover, then click the search icon, and enter their Tumblr domain name:
Click on the Tumblr user to preview their posts and follow them. Now when they post to their blog, those posts from Tumblr will appear in the Micro.blog timeline. Short posts, photo posts, and art from Tumblr look great in Micro.blog.
Add your Tumblr feed to Micro.blog: If you actively post to Tumblr and also have a Micro.blog account, you can add your Tumblr RSS feed to Micro.blog so that when someone follows you on Micro.blog, they see posts from both your main microblog and your Tumblr blog.
Click Account → Edit Feeds & Cross-posting, then paste in your Tumblr RSS feed:
Import your Tumblr blog to Micro.blog: Maybe you no longer maintain your Tumblr blog and want to move your old posts over to Micro.blog. First, export your posts from the Tumblr dashboard. That will give you a .zip file you can import into Micro.blog under Posts → Import.
The latest Core Intuition is all about Tumblr! @danielpunkass and I talk about what the acquisition by Automattic means for Micro.blog, MarsEdit, and general optimism for the open web.
Looking at the NBA schedule, Spurs are clearly underestimated again. ESPN and TNT only covering 5 games for the whole season. 🏀
Thanks to the “on this day” feature that Jonathan LaCour built for Micro.blog-hosted blogs, I noticed that 7 years ago yesterday I blogged about App.net reaching their funding goal. I still get asked about App.net sometimes. It is easy to look back on something that didn’t last and pick it apart. I’d rather look at the good things that came out of App.net.
When it was shutting down, I blogged my thanks to the App.net community:
I wrote in 2013 that it was not just a Twitter clone but an amplifier for applications that couldn’t be built before. It came along at the right time, took off, and then faded. The App.net founders deserve significant credit and thanks for trying something risky and succeeding to grow a community that lasted so long.
There is a guiding principle in Micro.blog that differentiates it from nearly every other platform. It’s not only about creating an alternative social network. The foundation is around blogs and IndieWeb standards because that’s part of unrolling the damage caused by massive silos.
Micro.blog is also designed around blogs because it gives immediate value to the platform, insulating it against the network effect that drives the success or failure of most other social networks: not all your friends are there yet. Unlike ad-supported platforms, Micro.blog aligns its business model with customer needs. Subscriptions for blog hosting let us deliver the best features we can, and also help support the rest of the platform.
Brent Simmons really said it best:
Micro.blog is not an alternative silo: instead, it’s what you build when you believe that the web itself is the great social network.
I often look back at this quote to help guide me as I evaluate the direction of Micro.blog. I believe that Micro.blog is the first platform of its kind. The closest competition might be Tumblr, acquired yesterday by Automattic.
Of course it was coincidence that Automattic acquired Tumblr pretty much exactly 7 years after App.net was funded. No one is paying attention to those dates. And yet, now that I’ve noticed it, there’s a kind of symbolism to it. Tumblr is effectively being re-funded.
Like Micro.blog, Tumblr is about making blogging easier. Like Micro.blog, Tumblr allows custom domain names for your blog, something no other major social network allows. Unlike Micro.blog, however, Tumblr’s community is only Tumblr blogs. Micro.blog’s community brings together not just Micro.blog-hosted blogs, but people using WordPress, Mastodon, or home-grown IndieWeb solutions.
Matt Mullenweg and the Automattic team have a bunch of work ahead of them to integrate Tumblr into the WordPress ecosystem. I don’t know how that’s going to play out, but I know that preserving all the Tumblr blogs and giving them new life is a good thing.
I wonder if Micro.blog and Automattic are on parallel tracks. Two companies wildly different in size and scope, but we can all learn from platforms that have come and gone, finding our own path to a shared vision of the future that embraces content ownership, supports healthy communities, and deemphasizes massive social networks. I’m wishing the team at Automattic the best.
Photo challenge for yesterday, day 7: relief. Making it all the way through IKEA without buying everything.
Micro.blog is not a popularity contest. We don’t have follower counts or public likes because we think those numbers have overshadowed more important aspects of blogging, like the quality of writing and engagement within the community. But we do hear from podcasters using Micro.blog who hope to one day have sponsors for their podcast, and so they do need to know approximately how many listeners they have.
Today we’ve added a setting to enable basic MP3 download counts if you’re hosting your podcast on Micro.blog. It is off by default. It’s likely that most podcasts — especially podcasts that are just getting started — do not have many listeners, and that’s fine! If you don’t plan to have sponsors for your podcast, you can ignore this setting.
It takes time to build an audience. Don’t get discouraged. There’s value in telling your story whether it reaches 5 people or 500. I love recording my microcast Timetable because it helps me think through things I’m working on and share that process with anyone who is interested in Micro.blog.
There aren’t any fancy graphs for this feature. Just a download number for each episode under Posts on the web, next to the “Edit” and “Delete” buttons. You can enable it with a checkbox from Posts → Design. Micro.blog is not tracking the downloads until you enable it, and it doesn’t count you viewing your own podcast, so initially there won’t be anything to see until your podcast feed is refreshed and your MP3s are downloaded again.
With this setting enabled, Micro.blog modifies your podcast feed to use different MP3 download URLs. It may take some time before the new URLs make it to all your listeners.
Micro.blog’s download tracking does not closely follow the IAB guidelines yet. It is intended as a rough estimate. I’ll be working toward IAB compliance in the future.
Happy podcasting! Let me know if you have any feedback.
Catching up on @macgenie’s photo challenge. I was working at Whole Foods for day 5, and I love the optimism halfway up the stairs. Determination to keep going. No matter which way you’re headed, you’re almost there.
If you’re running iOS 13 + dark mode, we have a beta of Micro.blog for iOS available now. You can sign up via TestFlight here.
Ran into what I thought was an iOS simulator issue testing dark mode, so I (foolishly?) installed the iOS 13 beta on my main phone. Didn’t fix it, but guess it’s good to be ahead of the iOS release this year. Micro.blog beta on TestFlight coming soon.
We posted Core Intuition 383 this morning, following up on Black Ink 2 progress and the impact of recent Micro.blog sign-up changes.
Reminder that there’s an IndieWeb Meetup (aka Homebrew Website Club) this Wednesday. I’ll bring some Micro.blog stickers. 6:30pm at the tables outside at Mozart’s. ☕
Great photo challenge from @macgenie. First day is “patience”. As in: don’t speed in the neighborhood. You’re not going to get there any faster.
Speaking of the Texas State Capitol, this YouTube video shows a great recreation in LEGO. It’ll be on display later this month.
Even though I‘ve always lived in Austin, I often feel like a tourist whenever I’m downtown. My photo library is full of pictures of the capitol and old buildings.
Working on new features and haven’t had a chance to blog my thoughts on the Siri privacy story as we learn more. We cannot give Apple a pass on this especially because they use privacy everywhere as a marketing hook. Mistakes can be fixed, but hypocrisy is hard to shake.
Next Wednesday: IndieWeb Meetup at Mozart’s Coffee, 6:30pm. For writers, developers, photographers, designers, and anyone who feels we’ve lost something by letting big social networks dominate the web. We can do better. ☕
We just posted Core Intuition episode 382, responding to feedback about Micro.blog’s new sign-up process, plus a discussion of what macOS notarization means for Apple’s control over app distribution.
NSDrinking is tonight, 8pm at Radio Coffee & Beer. It’s an informal meetup to chat about Apple development. I’ll be there. 🍻
Some good moments in tonight’s debate. I’m still looking forward to voting for Beto. What he did in Texas was extraordinary, and there’s plenty of campaigning left to do. 🇺🇸
When I started reading Ruined by Design, my first thought was that I had missed the window for writing my own book, Indie Microblogging, because Mike Monteiro was making all the same points that I was writing about. Luckily that wasn’t the case. Mike does cover some of the problems with social networks, but most of the book is focused on how designers can think about their work. I recommend it. (And it’s just as important for programmers and everyone else who is contributing to a product.)
Mike was also a guest on today’s episode of Presentable with Jeff Veen. I finished the book last month, so the podcast was a nice recap of a few of the main ideas and stories from the book.
If you’ve started using the new photos page on your microblog, you may have noticed that the thumbnails didn’t always load. The resizing cache was not reliable enough, so I’ve scrapped it. Photos should be working much better now.
This is one of the most unique Airbnbs I’ve stayed at. Also beautiful inside. Near Round Top, Texas.
Cool to see Micro.blog’s podcast categories update mentioned in today’s Podnews. Great daily newsletter to keep up with the podcasting world.
I love photo blogs. Last year, Jonathan LaCour wrote Microgram to allow anyone on Micro.blog to paste in a little JavaScript on their blog to show a grid of photo thumbnails. This has been a really popular add-on for Micro.blog — thanks Jonathan! — but we knew we’d eventually need this as a built-in feature.
Today I’ve added a new page for photos so that new blogs hosted on Micro.blog get something that works out of the box without JavaScript. We’re starting with a simple grid of photo thumbnails similar to Microgram, each linking to the microblog post, and I’d like to expand it with more options in the future.
It uses CSS Grid Layout, so you can also customize a bunch of things without changing the template. For example, to change it to 5 equally-spaced columns, click Posts → Design → Edit CSS and paste in:
.photos-grid-container {
grid-template-columns: 20% 20% 20% 20% 20% !important;
}
This new photos page is created automatically for any new blogs on Micro.blog going forward. If you already have a page called “Photos” and want to switch to using the new page, you can delete the page you created manually. Micro.blog will then show a “New Photos Page” button to create one of these new pages for you. (You can also rename or re-order the page.)
Depressing post by Paul Reiffer on how Instagram “influencers” are disrespecting and ruining special places. It’s a gift to be able to capture and share a beautiful scene, but it becomes corrupted when it’s all about “us” and not the place itself.
“The myth of the solo creator might be one of the most corrosive to creativity in general” — Matt Mullenweg on the Distributed podcast, interviewing John Maeda
Apple this week rolled out an updated list of categories for their podcast directory. Some old categories were removed and new categories added. It’s a better fit for what the podcasting world looks like now.
If you have a podcast hosted on Micro.blog, I’ve updated Micro.blog today with the new categories. On the web, click Posts → Design to see the new list. (Your current category will continue to be used until you update your podcast settings.)
Thinking about starting a podcast? Micro.blog podcasting is $10/month and also includes a full blog and video hosting.
Interesting post today from Seth Godin on how big platforms have surrendered their ability to curate and promote the best content.
Former Twitter developer Chris Wetherall interviewed by BuzzFeed News about why he regrets working on the retweet button. This article is a great explanation of why Micro.blog has no retweets.
One year ago today, I wrote a blog post reacting to Anchor’s attitude on podcasting. It holds up well, and makes a good preamble to their eventual acquisition by Spotify.
Realized late last night that I had forgotten to prepare the Micro Monday email newsletter. Rather than rush it out and risk making a mistake, skipped this week. Thinking about how to better automate it.
I wanted to highlight 2 new blog posts from the Micro.blog community about customizing themes. Because Micro.blog uses Hugo templates, there’s flexibility to change the design or even override our default feeds.
As Micro.blog matures, it’s important that we keep the default interface as streamlined as possible. It should be as easy as tweeting to start your first blog post. But I love that there’s a lot of power under-the-hood for people who want to tinker with it.
“It is only fitting, that after I served loyally for 19 years as Tim Duncan’s assistant, that he returns the favor.” — Gregg Popovich 🏀
Micro.blog makes it really easy to post some text and a photo to your blog, but sometimes you want a longer post that includes multiple photos. Because Micro.blog puts all the photos at the end of your post by default, I’ve noticed some people looking for an easier way to draft longer posts.
I’ve added a new “Copy HTML” button next to photos on the Uploads screen in Micro.blog. Using this button, you can first upload multiple photos, then copy and paste the right HTML reference into your blog post draft wherever you want. Happy photo-blogging!
In the Apple dev community, if you’re only following Joe Cieplinski on Twitter you’re missing out on the photos he’s been posting exclusively on his microblog. Inspires me to make Sunlit even better, to ease the move away from Instagram for more people.
Not much love out there for the recent Dropbox changes, but I actually like the updated Mac app. I use Dropbox for nearly everything and the search is better than Spotlight for me.
On today’s episode of Core Intuition, @danielpunkass and I follow up about renaming my Twitter account and also discuss what impact an onboarding change in Micro.blog might have.
Really nice how GitHub’s new plans work, with private repositories even for personal accounts. I was able to consolidate a bunch of things. The transfer feature works well between organizations.
Jason Snell has a post for Macworld reacting to the news that Apple plans to fund original podcasts:
The great thing about podcasts—and I say this as both a listener and a creator of podcasts—is that it is, like the web, a free and open ecosystem for content. You can listen to any podcast in any podcast player. If Apple creates podcasts that can only be listened to in Apple’s own app, it is furthering a potential future where your favorite shows are scattered across multiple services and siloed in different apps.
No one is too alarmed by this Apple rumor, because maybe nothing will come of it. But a good way to think about it is to imagine if the popularity of Apple and Spotify were reversed. Imagine if Spotify was the one with 60% of the podcast app market and then they decided to release Spotify-only exclusive “podcasts”. It would be an obvious threat to the openness of podcasts.
I wish I could give Apple the benefit of the doubt on this, but the risks are too great. Apple has more power than any other company over the podcast ecosystem. Just because they haven’t interfered with anything so far doesn’t mean they can’t still ruin what we’ve got.
Not sure where Apple is going with exclusive podcasts, but it’s probably nowhere good. By default I’m against any “podcast” that can’t play in multiple podcast apps because it erodes the openness of the ecosystem.
Refactoring a bunch of stuff and doing a better job than usual of actually deleting code that isn’t called anymore, rather than let it linger around “just in case”. That’s what version control is for.
Decided to cut out a major section of my book that doesn’t really fit, and which I don’t have anything except placeholder notes for anyway. Long past time to simplify, edit, and finish drafts for the chapters I’ve put off writing. Making progress.
Inspired by many of the great photos on Micro.blog, I’m changing up the newsletter format today to just include recent photo thumbnails. Also borrowing heavily from Smokey’s This Week on Micro.blog.
Reading a lot of criticism that the $5 billion fine against Facebook is inadequate, but written by people who keep posting to Instagram every day. No fine is big enough to solve this. Taking back our posts and photos is the best way to reduce Facebook’s power.
Speaking of breaking up Facebook, see my post from last November on the topic. Still true. Could’ve been written yesterday.
Sometimes I discover someone new who is advocating for a more distributed web… but all they do is tweet. What? Don’t wait for the government to break up Facebook or a magic protocol that will solve all the web’s problems. Start blogging and we’ll build the future from there.
Land and sky stretching out from the north Mopac and 45 toll road. I hope this stays undeveloped for as long as possible.
I was up really early this morning, so took some time to look at the MySQL slow query log, which I don’t look at often. Fixed a bunch of problems.
“It’s worrying how easily the most vile of fringe views can be elevated by seemingly-benign features when they’re applied at the scale of YouTube or Facebook.” — Nick Heer on an investigation into YouTube’s recommendation system
I want to give everyone a heads-up about a change we’re making next week. When Micro.blog launched, it was really important to me that the service was as affordable as possible. Because of that, there were options to use it for free with an external blog, use it with the $2/month cross-posting, or have Micro.blog host your blog for $5/month. We later added podcasting and video hosting for $10/month.
As Micro.blog has improved, I think our blog hosting has become a great value. The price of the $5 subscription won’t change. But the $2 subscription introduces a lot of confusion. It’s priced per domain name, and it’s not obvious when or how to switch between the different plans. It also adds a lot of complexity on the backend to manage all the possible subscriptions.
To fix this, we’re removing the $2 plan and updating the $5 blog hosting to also include cross-posting from any domain name. If you’re only using the $2 cross-posting, don’t worry. We will switch you to the new plan but apply a $3 monthly credit to your account indefinitely, effectively keeping your original pricing.
Pricing Micro.blog has always been interesting because it needs to appeal to people who just want a new social network (usually $0/month) but also to people who want a great blog host (often $20/month). I think these changes keep the right balance to accommodate the different needs that people have with Micro.blog, while making it simpler for new users. Thanks for your support!
The next update to Micro.blog for iOS will support Dark Mode on iOS 13. There are still several things to fix, but here’s a sneak peek screenshot of one of the first builds.
Solved some more of the performance issues on Micro.blog. Hopefully that’ll be it for the intermittent downtime that has popped up this week.
On Core Intuition 380, Daniel and I talk through how to reach more people and the role (if any) of social networks. This is the story of why I renamed my Twitter account today.
I’ve always liked the 36 Hours travel series in The New York Times, so as we’ve been used-book shopping recently, I’ve started picking up the collections. They’re from 2013 but still really nice. 📚
After talking to @danielpunkass today for the next episode of Core Intuition, I’ve renamed my Twitter account to @mantonsblog. This Seth Godin-inspired username better reflects that it starts as microblog posts.
This week’s Micro Monday features Pratik, who is just back from Yellowstone National Park. “Pratik talks about his approach to taking photos while on vacation. We also talk about blogging in a post-Facebook existence.”
One of those long days where I have to block out the whole afternoon for errands. Have a little downtime right now, catching up on a few emails.
Some incredible black and white photos by Adrian Villa from a recent road trip.
Working on some much-needed performance improvements, which should also fix the intermittent errors that have popped up recently. The main Discover timeline on Micro.blog is way faster now. More to come.
Last year after IndieWeb Summit in Portland, I sat down with IndieWeb co-founders Tantek Çelik and Aaron Parecki to talk about the history of IndieWebCamp for my upcoming book, Indie Microblogging. Only part of the interview will fit in the book, so I’m including a full transcript of our conversation below and on GitHub, where I’ll be incorporating any edits and also publishing future chapter drafts.
Manton: Take me back to 2011: the founding of IndieWebCamp. What did that feel like? How you all got together. How the first IndieWebCamp got started.
Tantek: You weren’t at the Federated Social Web Summit in 2010, were you? Did you hear about it? Did it even cross your radar?
Manton: I assume it did. But that’s already been a while.
Aaron: Nine years ago…
Tantek: Because I think that’s where the inspiration originally came from.
Aaron: So 2010 was the Federated Social Web Summit — in Portland — and that was the invite-only but “you could kind of ask for an invite”-style event.
Tantek: Which we now know greatly biases towards people that feel privileged enough to ask for an invite, so it’s sort of a bad way to do it. I didn’t even put that together until the last year. Yeah, don’t do that kind of private conference.
Aaron: So I ended up there, Tantek, as well as a bunch of others. It was a fun group, but the thing that we took out of it was that the focus seemed to be on people building things for other people, building specifically platforms. They were coming with platforms and trying to make them work together. Which is a fine goal, but that wasn’t my personal interest in it necessarily. So it was more like, “oh, I have this Buddycloud thing, let’s make it work with Friendica”. Or Diaspora was there.
Tantek: The Diaspora 4 were there, which was cool. That’s where I really got to spend time with them.
Aaron: And there was also a lot of solving problems in theory without actually testing them out or building something first. And a couple of pretty in the weeds discussions that I ended up sitting in on and was like, “this is really complicated”. I feel like there is a better solution. That was where SWAT0 the concept was formed as well, right? Interoperability tests between social networks — can someone post a photo of somebody else using a different system be notified that they were tagged in a photo and then a third person comment on the photo and have that comment notification appear on the person who favorited it. Everybody has to be using different software for that test to pass. SWAT0: social web acid test.
Tantek: It was actually really hard.
Aaron: Very hard. It still is.
Tantek: As far as we could tell no one actually got it to work across different sites.
Aaron: The goal with SWAT0 was to have three different systems interoperating. Several people claimed that they supported everything needed for SWAT0 themselves. But by definition that doesn’t solve SWAT0 because you need three different implementations. So there were several people who were like, “I can be every person in this — every role in this test”. But then there’s no one to test it with, because only one person would do that at a time. And we are still kind of in that situation sadly. It’s still a very hard problem. We did in 2015 have a demo of it working between three different recommendations, although each implementation only was able to be one or two of the roles of the three.
Manton: And that was using Webmention?
Aaron: Yeah, exactly.
Manton: So back in 2002 what was the technology to.. It was way after Pingbacks and Trackbacks.
Aaron: Yeah, the thought was the OStatus stack. Atom. Salmon for the responses.
Tantek: PubSubHubbub, I think.
Aaron: I believe so, yeah. For finding the photo in the first place.
Tantek: But Salmon for the notification.
Aaron: Salmon for the notification of the comment. But in order for someone to see it in the first place they would be following an Atom feed, probably, with PubSubHubbub.
Manton: And so now Salmon is making a comeback with Mastodon, right?
Aaron: No, it’s already done.
Manton: It did briefly make a comeback and then got replaced.
Aaron: Mastodon ripped out their whole code and replaced it with ActivityPub. So after that event we were like, “okay, that was cool, but we want to focus on people being more empowered individually to participate in this federated network.”
Tantek: Everyone got to give lightning talks. That was part of it.
Aaron: Yeah, yeah.
Tantek: Which was great. About any topic, like why they were there and… What was your lightning talk on?
Aaron: Probably location stuff, because I was just starting geolocate at the time. But the sense I got was that the assumption was that in order to participate in a federated social network, you have to be on a platform that supports the protocols. The only way to do that was that if someone built the platform that interoperates with other platforms, and then you as an individual join one of those platforms. There was no “just my web site”.
Tantek: Or one-person platform.
Aaron: Or single-person platforms was like: why would you do that? That was the feeling there. That was why we did IndieWebCamp the year after, because we wanted to approach it from the grassroots of: someone should be able to take their web site and be able to use their web site to participate in the same distributed social network — federated social network.
Manton: As the conference was wrapping up, did you have a feeling that y’all would probably do IndieWebCamp, or was it making friends and catching up with people.
Tantek: We were mostly catching up with people, meeting new people. I was just looking at my notes, because I actually put my entire talk from it on their wiki because it’s like that’s how it’ll survive. Turns out wikis are more persistent than PowerPoint.
Manton: So in that time… 2010 is actually a really interesting time because Twitter had been around for a few years and really gained a lot of steam, and actually a lot of early bloggers — who were blogging all the time in the early days — around 2010-ish they dropped off. They started just doing Twitter.
Tantek: Even just 2009…
Manton: Twitter satisfied that “I’m going to post something”. And you can see that. I went back recently and looked at a bunch of people that were doing blogging software. Founders of Blogger, Movable Type, and Six Apart people. And very few of them kept their blog through that period. So could you sense that at the time?
Tantek: Totally. Just even personally, the last blog post I wrote on my old blog was in August of 2008. I did not have anything on my own site in 2009. 2009 was a really weird transitional period, because I both saw that happening and I saw it happening to myself. And then the other thing that happened simultaneously — which I think helped — is that Twitter was really unreliable in 2009. We all switched to Twitter and then it got really unreliable. It was so frustrating.
Tantek: First of all I’m embarrassed that I’m not posting to my own site anymore, and then I’m frustrated because this damn tool is never up. And that’s really where I came up with the idea of, well, I should post to my own site and if I could set up a system where I can always just post to my own site, whether or not Twitter was down, then I can just have my site post to Twitter when it comes back up. And I can abstract away that frustration of their site being down. Abstract away their unreliability, while still getting that participation with friends thing. So 2009 is when I started working on what’s now my web site. Launched in 2010. January 1st, I’m like: from now on everything is going on my site first.
Tantek: And then the Federated Social Web Summit happened and I was like, “woah, okay”. But the platform perspective that Aaron was pointing out. Wait a minute, you don’t need to use a whole platform. Everyone can do this themselves. So that was my lightning talk, basically, and it even ended with… I’ll show you the summary: use your own site as your identity; publish on your own site; and then syndicate with PubSubHubbub. That’s still true.
Manton: And the first one, importantly… The very first principle of the IndieWeb principles is that. Use your own site, own your own content. Domain names are a big part of that. Really the biggest thing. Unfortunately domain names have not changed since 2010. They haven’t changed since 2000. It’s interesting that something so important, that “step one” is still really confusing to people.
Aaron: Yeah.
Tantek: Oh, that’s you’re going with that. I thought you were going with like, “they’re still around”.
Aaron: And it’s still just as hard.
Manton: I’m going with: why aren’t they easier? Because a lot of what the IndieWeb does, if you look at Microformats and Micropub and all these core parts of the IndieWeb, they’re built on HTML and HTTP where we have some control over making things easier and having other standards.
Tantek: Yes.
Manton: Is there hope for making DNS also easier for people, or are we just kind of stuck with this for a while?
Tantek: The irony is I don’t know what you’re comparing it to. Look at the amount of time it takes you and the form you have to fill out to get a new phone number. I would challenge you to do an A/B test. How long it takes to get a new phone number from scratch, not having a phone number, to how long it takes to getting a new domain name. And I would bet that it’s actually fewer steps to buy a new domain name. So I definitely sympathize that it could be easier to buy a domain name, but compare it to other forms of identity that people take for granted. It is less work to do. Or maybe the hard part is picking a domain name.
Aaron: Yeah, that’s part of it. A phone number just gets assigned to you.
Manton: And everybody kind of knows how phone numbers work, I guess. No one’s surprise that there’s a 3-digit area code, and a 3-digit number, and a 4-digit… Whereas with domain names there’s certain things (and IP addresses) that people are surprised by.
Aaron: Getting the domain is the first step. But then once you have it you have to know that you now need to set up DNS on it and point it at a hosting provider. And that’s the part that’s different from a phone number. Because once you have a phone number, it almost certainly came with a phone. You don’t buy a phone number and then assign it to a phone. You do that all as one step.
Tantek: It turned out that the equivalent of phone number registrars, all cell phones… It would be as if every domain name registrar — and a lot of them do now — sell hosting. So right off the bat, they’re like, “here’s a domain name, do you want us to flip on a simple web site for you?” A lot of them do that. That has changed.
Aaron: Yeah. That’s true, actually. That has gotten better. It used to be that GoDaddy or Name.com or NameCheap only did domain names. And then they all started adding hosting plans to their product.
Tantek: Which makes sense.
Aaron: It absolutely makes sense. And when you use the hosting plan provided by the registrar it is actually very easy, because it is more like you just go there, type in the domain you want, pay, and then now you have the empty shell to put stuff on. Doing something with the empty shell of a hosting plan is another step, but at least they do make the DNS to hosting step combined into one.
Tantek: Other hosting providers have made it easier to one-key turn on WordPress, turn on Known. I don’t know there’s a domain name registrar that also has easy hosting that also has a simple turn on a web site CMS.
Aaron: DreamHost does a pretty good job of it.
Tantek: That’s true. DreamHost probably has the most pieces that they’ve put together. And they were the first to do LetsEncrypt automation. Domain name, security, hosting. So that’s evolved. It’s very impressive to watch, even during the whole eight years of IndieWebCamp.
Manton: And comparing it to the phone numbers, if you go get a phone from someone they can always give you a phone number — if you go to Verizon or AT&T. And maybe where we need to be eventually with the web is that any place you can go get a web site can give you a domain name, which is not really true right now. The big companies can, but a smaller webhost can’t necessarily.
Aaron: You can, but it’s more work as a service provider. There’s plenty of domain resellers. I built a system to do that at one point, where we wanted to be able to offer domains as part of the product we were offering. So I found a domain reseller that had an API and hooked it all up. You would come to us and click the button for, “I want this web site with this theme.” It worked seamlessly.
Tantek: Even GitHub should it doing that, right?
Aaron: Right, for GitHub Pages. Instead of just offering GitHub Pages and being able to map a domain to it, why shouldn’t they offer their own domain registration.
Tantek: And make a little money. There’s incentive there.
Aaron: It would be a no brainer for Micro.blog to offer that feature. Sign up for the Micro.blog account, then right there type in what domain you want and it just works.
Manton: I’d love to do that.
Tantek: It’s also the kind of thing you could always add. “Yeah, now I’m ready for a domain name.”
Aaron: Yeah, you upgrade your subdomain to a real domain.
Manton: So you had mentioned with the changes in the last seven years… Going back to that first IndieWebCamp. We’re just wrapping up IndieWeb Summit 2018. Does it feel the same in terms of the community and what people are excited about? Obviously standards and everything else have evolved.
Aaron: The biggest shift in that context that I’ve seen between the original ones, specifically, although even from 2014 to now. Now we actually have a lot more stuff working together than we did in 2011, obviously, and even in 2014. At the beginning it was the same goal, the same ideals, but we couldn’t demo me commenting on someone’s post. That didn’t work until way later. And because of that the sessions were all drastically different, because there wasn’t a thing to coalesce around except for the ideals of own your data, have a domain name, do stuff on your web site.
Aaron: So if you go back and look the original sessions from 2011 to 2014, it’s a wide variety of things. Now at IndieWebCamps you end up with a lot of people who are coming to it and then become aware that there are things that work and then want to learn how to do those things. Now at the beginning of the second day we have the intro to the building blocks session. What is IndieAuth. Get Webmention working. Even in some of the IndieWebCamps there will be a whole track of unconference sessions about those building blocks for the whole day, where it’s people who know they want to learn these things that already exist.
Tantek: You had a session called “own your phone number”.
Aaron: That’s right. Yeah, I have actually kept that up. My phone number and my cell phone are completely disconnected. They’re not coupled. So my phone number is provided by Google Voice and I forward it to a phone number that I don’t know that my cell plan is on. I have no idea what my phone number is — the one on my phone. And I give out my Google Voice number as my identity.
Manton: When was that talk?
Aaron: That was 2011.
Tantek: The talks were so varied back then. We were just figuring out so many basics that a lot of the talks were very exploratory. We figured out some things like, “okay, I figured out how to syndicate into Buzz and Twitter, how about other places?” Then there was advocacy for plain text formats and there was a BitTorrent session.
Aaron: Yeah, I think that’s the biggest shift I’ve seen is that there’s so much more stuff that’s actually working now that’s functional. And it means that people are coming and wanting to learn that. And of course there’s still the experimental stuff. There was a good set of experimental sessions at this event. But there’s a lot more of: we have stuff working now that you can figure out and learn how to use.
Manton: There are two things, too. There’s all the IndieWeb-friendly formats and protocols are much more mature and established now, so that you could talk about the building blocks as a real thing. But then there’s also… It seems like the software is much further along. A bunch of people will come to the IndieWeb and they use WordPress, because WordPress powers 30% of the internet and it’s super popular. But there’s still a pretty good mix in the demo sessions and what people are hacking on of WordPress stuff and also “no, I rolled my own”.
Tantek: Yeah, in fact lots more rolled their own, which is not representative I think of people out there in general.
Manton: What do you think about the fact that WordPress is a very dominant platform. Is that good because there’s an agreed thing there everyone can use the same plugins, or are there any drawbacks?
Aaron: WordPress specifically because it’s self-hostable, that benefit ends up overriding some of the other drawbacks of that kind of approach. The danger with something being so dominant.. It’s the monoculture problem. We don’t want to be in a situation where we just have WordPress instances talking to each other. That doesn’t actually solve the problem.
Tantek: Or just have Mastodon talking to each other.
Aaron: Just Mastodon or just Diaspora or whatever, right. That’s the danger. That’s the thing we’re trying to avoid.
Tantek: Because that has lots of even worse consequences.
Aaron: Yes, exactly. And even when it’s a friendly company like WordPress that’s behind it, it doesn’t matter — the same problems.
Manton: You start to build like platform-specific… It’s different than just building for the web in general where anybody can bring their own site and plug in. With Mastodon specifically, it’s based on open standards but it also feels very opaque in a way — how stuff talks to each other. It’s a little more difficult to just build a web site and be compatible.
Tantek: It’s also levels of barriers to entry. Because that’s one thing that myself and I think a bunch of people at the 2010 Social Federated Web Summit we’re frustrated with was a lot of the standards being tossed around — every generation has its own standards — were really hard, like Salmon. I tried to read through the spec and understand what it was doing, and I could not wrap my head around enough of it to even start anywhere coding.
Aaron: I had the same experience at that event. I even then later, a year ago, tried to revisit the spec because Mastodon was using it. I feel like I should be able to have my web site just be a part of this network. I refuse to make a new Mastodon account and treat it as a POSSE destination because that completely defeats the purpose of what Mastodon itself is even shooting for, which is an actually distributed social experience.
Aaron: So I was like, “okay, it can’t be that hard now”. Certainly things have gotten better, and I should be able to just take my web site and add the stuff it needs. I still can’t figure it out. And then they went and dropped Salmon anyway and switched to ActivityPub, so I’m glad I didn’t spend my time on that.
Tantek: It turns out that the difficulty of the standard to implement makes a big difference. Because if it’s super difficult then you end up with only a handful — maybe even just one or two people on the planet — that can implement it, and then you get monoculture by default. In effect, not by design. One of the things we realized was that the antidote to that is to make the standards as simple as possible. Literally as dumb and simple, and frankly decomposed. So that’s where we came up with the building blocks idea rather than having a stack. And the idea that building blocks is you pick and choose the ones that you need for your use cases. That doesn’t mean you’re committed to implementing a layer after layer after layer to get to a certain point.
Tantek: That was a big insight. The more accessible the standards are for any developer to build their own solution. That means that the more they’re going to get exercised, the more that they’ll get good interoperability, the more that they’ll be a community around it. Because that’s really what it came down to.
Tantek: I think that’s kind of where the IndieWeb community started to form — started to really grow and gain critical mass — is the growing number of people that were like, “oh, I can implement that on my web site in an hour or less.” And then in a day they could do amazing things.
Aaron: And it’s demonstrated by the fact that like you look at the RSVP list on the event page, there’s like over 20 people who have been able to have their picture show up on the RSVP list, which works by having them publish a page on their own website and send a Webmention to the event page. That’s pretty cool. They didn’t have to go and read through a whole spec that talks about everything from using an app to publish to your site to then have a federation protocol behind it. They just need to know about this much of the whole picture in order to have that work. And that’s a quicker win. Now maybe you expand and start working on the rest of the building blocks.
Manton: Webmention is a great example of something that is as simple as it possibly can be. Can’t really get that down any simpler. So people get it. Microformats is similar in that it’s very approachable and transparent. If you know HTML you can figure out how to do that. You have Microformats 1 and 2, and remind me… Because Microformats predates…
Tantek: …IndieWeb. 2005.
Manton: And did that launch at SXSW or something like that?
Tantek: Shortly thereafter. I think we had sessions about it at SXSW in 2005, in March. The site launched in June itself. Until then we had just been doing it on the Technorati wiki. And my co-founder of the Microformats.org community, Rohit Khare. He’s like, “hey, happy birthday, I bought you a domain name.” And I was like, “really, you think this is worth having its own domain name?” That was my actual response.
Aaron: Wow.
Tantek: Because it seemed like such a simple stupid dumb thing. And he’s like, “yeah.” Okay, I guess we should do this then, and then we set up the site and well, what do you need on a community site. You need a mailing list, you need a blog, you need a wiki. So we set all those up. Since then we’ve learned that the primary ways of actually making progress are the wiki and IRC channel (or Slack) — an archived IRC channel. But that was definitely a response to, again, complexity. Like the whole RDF world — all that insanity — and the Atom/RSS wars back in the day, and then Atom going to IETF instead of W3C because there was a giant fear that it would just be turned into RDF at W3C. That’s how Microformats 1 started.
Tantek: We basically did make it look as dumb as possible. Let’s just take the names of the terms from the vCard spec and use them as class names. That was what I proposed in 2004 at FooCamp. And I ran it by Ray Ozzie at the time, who was like architect at Microsoft or something, but also just from Lotus Notes, you know he has a long history. He’s like, “yeah, that could work.”
Manton: So now we’re almost 15 years since then. Looking forward, there’s a lot of talk about generations — 1, 2, 3, 4 — moving up and making it more approachable and just easier for people to use. Obviously we can’t predict 15 years from now. Who knows what’s going to be around. Is Twitter going to look the same, are blogs going to be the same…
Tantek: Is Twitter going to be around?
Manton: Exactly. There’re no guarantees. A lot of people… So much time, they don’t remember before Twitter and Facebook and so it’s hard to imagine sometimes that those things could go away. But they could. They’re just web sites. Businesses built by people that make mistakes and do good things sometimes.
Tantek: Yeah, sites that become boring and people move on to what’s interesting. I think Facebook really extended their lifespan by buying Instagram.
Manton: So moving forward, how soon… Because I’m kind of impatient and I want everybody to blog on their site immediately, like tomorrow, and for it to be easy to use. But this stuff takes time.
Tantek: Totally.
Manton: Where do y’all see just over the next few years. How close are we to making this more mainstream or is this going to be just more time churning away building tools, trying to spread awareness.
Tantek: It’s kind of hard to predict. I do feel like we’re entering a new phase right now. I think we’ve had two phases, two very long phases of the IndieWeb community so far. One was this I almost want to say like Big Bang phase in the very beginning where there were all these different things coming out. People trying all kinds of different approaches, like Ward Cunningham did his federated wiki project. He figured out a way to do all this Javascript-based wiki federation thing that he loved. And other approaches. But then we started to coalesce around: use your own site, use Microformats. We actually used Pingback for a while until Sandeep Shetty showed up and he’s like, “hey, I’ve got this proposal for a simpler version called Webmention that does this.” And everyone in the community was like, “well, that completely aligns with our values of making things simpler.” So we instantly adopted it even though none of us knew who this guy was. And then we just ran with it.
Tantek: So the first four years was this explosion of getting basics working. We got RSVPs and events working by 2013. And that was kind of like, “whoa, we federate events and RSVPs,” which we were always looking for ways that in the actual things we do, how can we use the technology that we’re making. And after that, clearly we need to get these standards — that are barely specified — solid, testable, working, dependable, to reach the next level of stability.
Tantek: And then there was the second phase which was the work of making all these standards formal and reliable and secure and handling edge cases. We did that from I would say 2014 through 2017, and a lot of that was done in the social web working group that I was co-chair and Aaron was in, edited a bunch of the documents. Evan Prodromou was also co-chair, from StatusNet. But that was kind of a maturing phase. There were a lot of new features people were figuring out all the time, and new infrastructure like Bridgy during that phase.
Tantek: But I feel like a big part of that second phase was everything that was getting built was getting fed back into fixing the standards. People would build something, they would get to the point where they were like, “hey, this didn’t quite work, we have to fix a standard to handle that.” Okay, we fix it. They get it working. We have test suites for all these standards. And now when people are implementing things like Webmention or Micropub or whatever they’re not really running into new problems. What they’re running into is questions of how, not “this doesn’t work”. So we’ve reached this level — and I think Microsub, that might be one of the last pieces that kind of wraps it up. That’s why I feel like we’re closing on the second phase.
Aaron: And IndieAuth, too, because that was only written as a spec this year. Before that it was actually very interoperable, and there were several implementations before, but it was never written down as a proper spec. So that’s now this process of let’s formalize that.
Tantek: And we even formalized how do we update the Microformats parser spec and the vocabulary. That’s been much more formalized as well. So people have an idea that when I proposed something, when can I depend on something vs. what’s experimental, and then what’s the path.
Aaron: So you mentioned these two phases of…
Tantek: The Big Bang, the amazing explosion of cool stuff and then this sort of maturing of the standards to make stuff work reliably even just amongst theirselves. You mentioned you want everyone to have their own presence. But when I think about that I think, “people want things that are reliable, that just work.” And I think this second phase was us doing the difficult plumbing work of the details to make things just work.
Aaron: That leads into what I think is the next phase is getting more people building systems using these building blocks. When that happens, and you’re a great example of this…
Tantek: Yeah, there’s an overlap. I think Micro.blog was evidence that that phase was ready to enter.
Aaron: So now as someone who is building out a platform that is intended for end users… Whereas I’m building my web site. I do not want an end user to use that software. It is not the goal explicitly. But you’re building software that is intended for end users. You now have a pattern to follow where if someone else comes along with the same goal and build something, they work together. And so I think in order to reach the goal of people can just use this stuff out of the box, we need more people building tools that are intended to work out of the box for people on the same stacks. And four years ago, if you had come around and started this thing, there wasn’t a pattern to follow to make that work across implementations. And there is now, because of the work over the last four years, since 2014, of formalizing these specs, and having that actually hardened.
Tantek: And we also did it the hard way.
Aaron: Totally.
Tantek: We tried to do each spec as its own little building block piece. I would say hard but honestly I think greater chance of long-term success. The traditional approach that architects take is the stack approach or platform approach where they figure out the entire API. The whole thing. If you look at how OStatus happened, or even like ActivityStreams and ActivityPub. That’s very much a “we’re going to solve the whole problem”. And then we’ll iterate that whole big thing and then it turns out that’s both really hard to do and once again you end up with the problem that there’s only a handful of people that can implement it.
Aaron: And also I think more importantly that also has the problem of: if you realize there’s a mistake in it, then you have to essentially throw out the whole thing and make a version 2. And Microformats is a good example is this evolution. Microformats 1 vs. Microformats 2… they’re completely incompatible. They don’t work the same way, but you can still send a Webmention with Microformats 1 markup and it works. Webmention doesn’t have to change. So people build out Webmention tools and infrastructure, the thing on top of that is the Microformats to make it actually look good and make a comment work. Microformats can change and evolve, and Webmention doesn’t have to evolve. Whereas when you end up with a monolithic stack, if you’re like, “oh crap, we don’t like the things we decided for this layer in the stack.” We can’t just swap out that layer because then the whole stack breaks. That’s part of why the approach we’ve taken is harder, because you have to treat each one independently and evolve each one on its own schedule. And they all have their own change-control process.
Tantek: It looks more chaotic.
Aaron: Yeah, and it is little more overhead in terms of: each spec has its own document and test suite that is for each one specifically. But I do think that’s the better approach for a longer term success.
Aaron: We’re essentially entering this third phase of now we have stuff, we need the tools built on it, but we also don’t want to then four years from now turn around and say to everybody who’s built these tools, “oh, we’ve changed now, we’ve decided that we’re going this whole different approach and redo all your stuff.” No, we want to make sure that those are all based on ideas that are technically proven and easily swappable in small pieces if you need. But if we were to suddenly say, “we decided that Webmention doesn’t work and we need a third parameter and go fix Micro.blog.” You’d be like, “well crap, now what, do I do that, do I abandon it, break interop and continue iterating on my own product?”
Tantek: The other big thing that happened is that we expanded greatly in Europe. International. I think that really started with… was it 2013, the first Brighton IndieWebCamp? We’re looking to try to scale it beyond — and we’ve done this somewhat in Europe — but I think we want to see more of it. The things in the community running and people running IndieWebCamps and Homebrew Website Clubs without needing to even check with Aaron or me.
Tantek: I would be happy to help out as a guide or mentor more than a leader in that respect. And I think that’s the way we’re going to keep scaling it. And in the next 4 years, I would like to see us in more countries. I would like to see us reach more diverse populations. Maybe people that aren’t just in the tech crowds, but people that are not earning as much money, right? Everyone has a phone number supposedly. No matter what you’re earning or not. And I even hear from developers of new services that kids just use SMS, they don’t even want to deal with email. And so people doing new apps have purely SMS-based sign-up flows and all that. So there’s definitely opportunities to reach — to keep innovating and figuring out how can we reach even a broader set of folks in that regard.
I’ve updated the Discover emoji on Micro.blog to add several new topics:
The /posts/discover API for Micro.blog apps has also been updated. It now returns the emoji that Micro.blog is currently tracking, and whether it’s one that is “featured” in the default popup menu in Micro.blog on the web. Since many of the emoji are seasonal, like sports, we can rotate out the default list throughout the year. (The iOS and macOS apps will be updated later to more closely match the web version of Micro.blog’s topics popup menu.)
Started the morning with a long walk, listening to podcasts and trying to put together all the pieces of today’s schedule in my head.
Rolled out a few tweaks to custom pages on Micro.blog-hosted blogs today, including performance improvements and allowing more structure to URLs, so you can create web pages like /travel/northwest or /books/fiction. (Click Posts → Pages and then edit a page. Enjoy!)
Happy July 4th! Hope everyone has a great day. @danielpunkass and I just posted a new episode of @coreint about design at Apple, accessibility in Mac apps, and the end of Tweet Marker. 🎆
Great to hear about last weekend’s IndieWeb Summit from @tomwiththeweather at tonight’s Homebrew Website Club (aka IndieWeb Meetup). The rain let up just in time to sit outside at Mozart’s Coffee. Next meetup in Austin is August 7th.
Sunlit 2.5.6 is now available with a few bug fixes.
IndieWeb meetup in Austin this Wednesday: Homebrew Website Club at Mozart’s, 6:30pm. Join us to catch up on some of the sessions from IndieWeb Summit over the weekend, or to have time to work on your own blog. ☕
Reading through the Etherpad notes from yesterday’s IndieWeb Summit sessions.
Tweaking the cache size in MySQL’s config reminds me of setting the memory for individual apps in the “Get Info” window in the System 7 days of classic Mac OS.
Greg Morris has imported his WordPress posts to Micro.blog hosting and had a question about referencing photos in a template:
Card previews I really want to be able to solve - does anyone know how to pull an image out of a hugo post in order to put meta property=“og:image” into the head?
Micro.blog uses Hugo themes because they are fast and there’s so much flexibility to customize them. To test this, I created a theme and edited the layouts/partials/head.html template, adding this somewhere along with the other meta tags:
This looks at the photos on a post and takes the first one, adding its URL to a meta tag. If instead of the original photo you want to include a smaller thumbnail, you can use Micro.blog’s special photos.micro.blog resizing proxy. Here’s an example to include a 300x300 thumbnail:
I still want to add more built-in designs, as well as add design settings so that custom themes aren’t necessary for common features. But there’s a lot of power here to make your blog whatever you want it to be.
Getting back into the routine of recording Timetable. On today’s episode, I talk a little about last night’s server upgrade, the Indie Microblogging book, and Ghost import.
I’ll be at NSDrinking tomorrow night, 8pm at Radio Coffee & Beer. It’s an informal meetup about iOS and macOS development. Join us for a coffee or beer and chat about the new stuff from WWDC. 🍻
The server upgrade went off the rails… After an unexpected failure, I ended up having to spin up a new server, taking longer than expected. But everything is back online now. Thanks for your patience.
Usually when I do server maintenance, I can just disable a feature on Micro.blog but keep everything running. Tonight I really do need to take it down for an upgrade. 8pm central time. This should be it for planned downtime for the rest of the year.
Speaking of IndieWeb Summit, on a smaller scale we are finally restarting the Homebrew Website Club in Austin. Next meetup is July 3rd, 6:30pm at Mozart’s Coffee. We’ll talk about sessions and projects from IndieWeb Summit.
This week’s guest on Micro Monday is @jgmac1106. Greg talks to Jean about the upcoming IndieWeb Summit and more.
We’ve highlighted 4 new videos (plus a bonus video) for Film Fest Friday this week on Micro.blog! I need to remember to take more short videos for my blog when a photo doesn’t quite capture the scene. 🎬
Micro.blog’s goal is to encourage more people to post to their own blogs instead of only on big social media sites, and to have a great community where conversations can happen from those posts. The goal is not to completely replace any specific social network, but instead to help the future be a little more decentralized, with more variety and independence in the web. Important changes are possible if we don’t concentrate so much of the web’s content only on Facebook and Twitter.
I’ve been happy to see so many people who have found that Micro.blog does supplement existing social media so well that they can spend more time blogging, browsing the Micro.blog timeline, and participating in conversations. Other folks will jump in to Micro.blog from time to time, but might have most of their attention elsewhere, and that’s fine too.
Facebook’s mission is different. They want to connect everyone in the world. Billions of people writing posts and sharing photos on a single domain name. Mark Zuckerberg talks about this often. Sure, some great things can happen when you do that, to bring people closer together, but also terrible things. The trade-off is not worth it.
Micro.blog leaves certain features out on purpose because adding those features risks changing our mission from what it is to what someone else’s mission is. We do want the community on Micro.blog to keep growing so that it’s more diverse and valuable to people, and for many more people to start new blogs that we can host on our platform. We can do that while staying true to our original goals and not falling for the trap of trying to become the next Facebook or Twitter.
On the latest Core Intuition, @danielpunkass and I cover more of the WWDC announcements we skipped last week. We also talk about the new Micro Monday newsletter and sending email to customers.
This is a great feature on @macsparky and his favorite apps in the Mac App Store, via @ismh. I really wish these stories by Apple were available on the web.
Seeing new microcasts spring up, I want to get back to recording Timetable. I think it did a better job than some of my blog posts at showing the sort of everyday, behind-the-scenes of M.b. Why building this platform is the hardest thing I’ve ever done but also so rewarding.
I don’t even want to link to that story by Casey Newton at The Verge because it’s so disturbing and tragic. I read the whole thing because as the founder of Micro.blog, where we value the balance between content ownership and curation, I had to understand what Facebook is doing so we don’t repeat the same mistakes.
Social networks like Facebook (and Twitter) are designed to reward the sensational video. The timeline algorithm, “like” counts, and quick re-sharing all contribute to surfacing both the best and worst content. Whatever drives engagement.
Facebook is right to hire thousands of content moderators. But they should be real employees with healthy working conditions, not people who Facebook feels no responsibility to take care of. This is the most damning article I’ve ever read about Facebook.
I had a couple extra hours last night before the scheduled server upgrade. Used the time to work on the book and made a bunch of progress, including editing the transcript of my audio interview with the IndieWeb co-founders last year.
Back around WWDC, I said I might take part of Micro.blog down for an upgrade, but I ended up postponing it. Going to run the upgrade tonight at midnight (central time). Photo uploads will be temporarily disabled. Should be quick!
On road trips lately, I’ve been fascinated by out-of-business donut shops. If it’s late in the afternoon, sometimes a donut shop is just closed for the day. But it seems like many are closed for good, the old fryers and cooling racks gathering dust.
Why is this? My guess is that the startup costs for opening a donut shop are less expensive than many types of restaurants. There’s nothing special about a donut shop except that it’s fairly easy to get started, but no guarantee of success, especially in a small town. Most businesses fail.
Jacob Gorban started a new site for musicians to connect on Micro.blog. From the about page:
I had the idea for this list because I’ve had quite a few inspiring music-related discussions on Micro.blog and I wanted to make it easier for musicians to find each other on the service, to facilitate even better discussions and maybe even some collaborations.
Jacob has been posting videos of playing guitar to his blog and on YouTube. Even if you’re not a musician, also check out @JustGoodMusic, a new blog about music from John Philpin, with posts from Jacob and others.
Finally getting around to posting this. The last couple of weeks since WWDC have been busy. But as I usually do, I still want to capture a little of the week in San Jose. (Looking back on my old posts about WWDC from the 2000s is a great reminder of what the earlier conferences were like, and I wish I had more of those posts.)
Arriving Saturday evening in San Jose, I rented a car and checked into my Airbnb. This is the first time I’ve tried Airbnb for WWDC. Hotel prices are out of control and I thought it would be a good way to see a different part of the city. Daniel and I caught up over dinner.
Sunday morning I drove up to San Francisco. I’ve made it a tradition to visit the Walt Disney Family Museum every year, and moving the conference to San Jose hasn’t deterred that. I stopped at Blue Bottle Coffee in San Mateo on the way.
The special exhibit at the museum was Mickey Mouse drawings. It was an incredible collection. Afterward I had a bite to eat at the Presidio Picnic. Fog covered the Golden Gate Bridge.
I picked up Jon Hays from SFO on the way back, and we stopped at the new visitor center for Apple’s spaceship campus, then got coffee and lunch down the road at Chromatic Coffee. Also detoured slightly for a quick look at Winchester Mystery House. (Skipped the $39 tour. Ouch.)
I didn’t need the rental car anymore, so we dropped it back at the airport and took an Uber downtown, planning to go to sfMacIndie and watch game 2 of the NBA finals. That’s when the evening went completely off the rails. We were cruising down the highway and someone rear-ended our Uber so hard it felt like the car was standing still. Everyone was shaken up but okay.
The keynote was packed with new stuff. I knew this was going to be a big year, but I was expecting most of the news to be around Marzipan (Catalyst). That ended up being a small part of the morning. I watched the keynote from AltConf and worked on highlighting WWDC-related posts in our new Discover section for the conference.
I was feeling a little out of it most of the morning. As the day progressed and I saw friends or met new folks, I started to feel better. Brent Simmons held a NetNewsWire meetup in the afternoon.
Tuesday at lunch was our Micro.blog WWDC meetup. This is the 3rd year in a row we’ve held the meetup. It was great catching up with everyone. If you made it to the meetup, thank you! I sent an email to everyone who had RSVP-ed.
That night was The Talk Show Live with John Gruber and his guests Craig Federighi and Greg Joswiak. Great show.
Wednesday morning I stopped for coffee on 2nd street for a little work before walking over to AltConf. My flight was in a few hours so I had just enough time for one session: Leah Culver’s talk on making the podcast app Breaker as crash-free as possible. (Leah also co-founded Pownce back in 2006. I’m hoping to interview her for my book, Indie Microblogging.)
This was a bit of a strange year for me. While I’m sorry I missed some people and some events, I think it was good that I was back home early. I’m not going to make any other conferences this year. If you’re looking for places to go, I highly recommend IndieWeb Summit in Portland later this month, and Release Notes in Mexico in the fall.
Apple’s new stuff didn’t disappoint. I’m most excited for Catalyst and Sign In With Apple, which I blogged about here. These are both very practical solutions to real problems. The new iPadOS improvements are also welcome, and I’m looking forward to experimenting with SwiftUI. Overall, a great WWDC.
Clicking through the “On this day” link on my blog, I noticed my post Multiplane from 6 years ago today, about iOS 7. I still like the post, but iOS’s design didn’t end up going where I thought it would. Much flatter and more contradictory.
As part of winding down the Tweet Marker API, I’ve split off the main tweetmarker.net site into its own, single-page blog. Hosted on Micro.blog for convenience, with minor tweaks to the theme.
Ordered a new external SSD to install Catalina. I really try to keep all important files on as few hard drives as possible (nearly everything on my MacBook Pro, plus a Drobo) but I was wasting time trying to sort out what to use for testing. This should be better.
This week’s Micro Monday episode features Miraz Jordan, talking about her new site custom.micro.blog for customizing Micro.blog. We also just sent the new newsletter with the latest news and highlighted posts.
Spent the weekend in Tyler, Texas. This is the Cotton Belt Depot. Built in 1905 and now used partly as a train museum.
Worked from the coffee shop this afternoon, then found this deer in our front yard as I was arriving back home. Hello.
I love this technote by Brent Simmons on supporting NetNewsWire (and supporting the open web).
I’m not surprised that Kawhi was so great this year. In his entire career, he’s really only made a couple mistakes: 1) missing that free throw in game 6 of the 2013 finals; and 2) giving up on the Spurs. 🏀
We’ve started a new weekly feature: Film Fest Friday, to highlight videos posted to Micro.blog. Great to see all the videos that people have been posting! 🍿
After several months of great luck with iOS app review, the latest bug fix update for Wavelength has gotten stalled. Just replied to Apple and hope it goes through soon. (This is why I still love shipping M.b for macOS directly.)
Jean wrote a post about how the Discover timeline works in Micro.blog — thoughts on curation, discovering users, and guidelines for highlighting posts.
Congrats Toronto! Good game. Even without Durant and Klay, Warriors made it close. Really anyone’s game near the end. I think I’m almost ready for next season. 🏀
There’s a new site from @Miraz with dozens of tutorials on customizing your blog on Micro.blog: everything from CSS tweaks to editing templates. Lots of good stuff in here that shows the power of using Hugo for Micro.blog themes.
Just a reminder that after 8 years of running Tweet Marker, I’m winding it down. Thanks everyone for your support, especially third-party developers who adopted it. (If you use Twitter, check your favorite app for other options, like iCloud sync.)
Just posted Core Intuition 376 with a discussion about San Jose, SwiftUI, and Catalyst.
“I rarely just tweet something, unless it’s truly ephemeral (or a reply, obviously). I prefer to blog first and let Twitter get a copy. This is part of owning my own content.” — Brent Simmons on his blogging setup
Doing a little housekeeping on monday.micro.blog. Using categories for Episodes, Transcripts, and Newsletters. More of these posts will show up on the home page and default feed (but not the podcast feed).
I feel really bad for Durant. But I also can’t forget how Kawhi went out in the 2017 west finals against these Warriors, taking away the Spurs finals run and setting in motion everything else. Seems fitting that Kawhi returns to Oakland to finish this series. 🏀
I was starting to root for a game 6 when KD went out. That’s no way to end the finals. Then Kawhi taking over with a couple minutes left, and the Warriors coming back… Incredible finish. 🏀
The latest Micro Monday podcast features… me! Jean and I answer questions from the Micro.blog community.
Micro.blog has been updated on the Mac. Here are the changes:
I tried many different UIs for this before settling on “Open”, including a share menu to match iOS. Nothing felt right. By adding icons for all the options, I could make “Open” use the default web browser’s icon, which helps convey what will happen. (It uses stylized versions of Safari, Chrome, or Firefox icons.)
Choose “Check for Updates” or grab the latest version from the download page.
Took a break from watching SwiftUI sessions to finish some unglamorous (but necessary) AppKit work. New Micro.blog for macOS update coming tomorrow with a few minor changes.
Kawhi is incredible, but this whole Raptors team is playing great. I’m not sure even Durant coming back will take this to 7 games. 🏀
For 5 years I’ve been saying on @coreint: “wake me when there’s a Swift-only UI framework”. Something we could use to level up just like moving from Carbon to Cocoa. Looks like that day has arrived.
Today I sent the following update to Kickstarter backers. I wanted to give everyone a progress update on writing the book, and a reminder about some of the new stuff in Micro.blog.
When I launched the Kickstarter for Micro.blog, I promised to write a book about independent microblogging. For the last 2 years Micro.blog has needed most of my attention, but as the platform has grown and matured, I’m finding more time to work on the book.
The book is not a simple how-to for creating a microblog. That is part of it, but we already have a help site with tutorials on microblogging. The book is also a history and guide for taking back social networking from massive platforms.
I have been repurposing draft sections of the book to my blog as posts. One of the latest is about open gardens — how we can think about the role of curation in social networks.
There are also interviews in the book. I sat down with IndieWeb co-founders Tantek Çelik and Aaron Parecki to talk about the first IndieWebCamp conference and new challenges, recording the full conversation. Today I have been working on transcribing it.
If you haven’t kept up with Micro.blog news, we were just covered last month in an article by Cal Newport for The New Yorker. And we’ve added many new features, from video hosting and blog categories to custom themes based on Hugo.
No one said that it would be easy to provide an alternative to Twitter and Facebook based on the open web, encouraging thousands of new bloggers in the process. It has been years of really hard work, with more to do.
If you still believe in the mission of Micro.blog, I would love your support. Fire up the Micro.blog app if it has been a while, dust of your blog, upgrade to a paid subscription, and let us know what we can improve next.
Thanks as always.
While a lot of people were traveling to San Jose last Sunday, I published a blog post about walled gardens, the App Store, Twitter, and the role of curation in social networks. This was primarily written 2 years ago and is adapted from a section of my book.
Reminder that there’s no @coreint this week. Daniel and I have a rule: we only talk about the new stuff after watching every single WWDC video available. (Just kidding! But we have learned over the years that we are better with the 1-week view. Lots of good podcasts out already.)
It was a good week at WWDC. Micro.blog helped sponsor last night’s LIVE near WWDC concert, and we held our 3rd annual meetup on Tuesday afternoon. I just sent the following email to everyone who RSVP-ed to the meetup.
Thanks to everyone who was at our WWDC meetup! If you couldn’t make it, or I missed talking to you in person, you can always send me an email if you have any questions or feedback.
Throughout the week at WWDC, I was asked how Micro.blog is going. New people join the platform every day, thanks to word of mouth, blog posts, and even mainstream stories like the article in The New Yorker. I’m an optimist. I believe if more people blog and use open tools, the web will be better, and platforms like Micro.blog will thrive.
But it doesn’t happen by accident. Facebook and Twitter are massive platforms. Our team at Micro.blog is tiny. Every time you tell someone about Micro.blog it makes a difference. Every paid subscription gets us a little further.
I hope everyone has enjoyed their time in San Jose! Your support of Micro.blog means a lot.
This is one of the most interesting announcements from WWDC for me. Aaron Parecki wrote a detailed technical post for Okta about it, as well as a post on his blog:
Sign In with Apple is a good thing for users! This means apps will no longer be able to force you to log in with your Facebook account to use them.
There are also 2 sessions at WWDC: Introducing Sign In with Apple and What’s New in Authentication, Safari, and WebKit.
I plan to support Sign In with Apple in Micro.blog. We don’t have passwords, and we require verifying an email address before setting up your account on Micro.blog, so using Sign In with Apple should make the initial sign up go more smoothly. It could also be an option for existing users who need to sign in again and don’t want to wait for the confirmation email.
Ben Thompson covered more about sign in on Stratechery this week:
Apple is going to leverage its monopoly position as app provider on the iPhone to force developers (who use 3rd party solutions) to use Sign In With Apple. Keep in mind, that also means building Sign In With Apple into related websites, and even Android apps, at least if you want users to be able to login anywhere other than their iPhones. It was quite the announcement, particularly on a day where it became clear that Apple was a potential target of U.S. antitrust investigators.
I’m generally against the App Store review guidelines becoming even more restrictive. I’d rather developers choose to adopt Sign In with Apple because it’s better than using Facebook and Twitter rather than be required to do so on Apple’s schedule. But in this case, I think the end result will be positive.
People often ask me how we “win” against the big social networks, bringing more open platforms and indie blogging to everyone. It happens in small steps, not overnight. Sign In with Apple can be one of those small steps. Anything that moves people away from signing in with Facebook and Twitter is part of the solution.
Thanks everyone who made it to our Micro.blog WWDC meetup! Another good turnout this year. Really enjoyed chatting with everyone.
The 3rd annual WWDC Micro.blog meetup will be today at 12pm outside Grace Deli & Cafe. If you’re attending WWDC this week, grab a to-go box lunch and meet us there, or you can get a sandwich or wrap first from the cafe. Jean, Jon, and I will be there until 2pm.
It’s less than a block from the convention center: 303 Almaden Blvd. View the location in Google Maps or Apple Maps.
We’ll have some more Micro.blog stickers and we’ll also be giving away a VIP ticket to the LIVE near WWDC benefit concert for App Camp for Girls. We’d love to talk to anyone who is currently using Micro.blog or interested in learning more about indie microblogging.
Hope to see you there! Thanks for all your support.
I like the name Catalyst. Better than Marzipan. Still a lot of questions, hopefully to be answered this afternoon. Most important: will it require the Mac App Store? (A little worried that Atlassian specifically said Jira was coming to the store.)
The new Mac Pro is bigger than I was expecting, and much more powerful than anything I need. Hope people like it, though.
Apple might be 10 years late catching up to Google Street View, but I’m impressed with how smooth and detailed what they showed was. Looks like a step up.
Nice updates to Apple Watch. Still going to keep my Series 0 a little bit longer… Might as well see how long it lasts.
Added a new link at the top of Discover on Micro.blog to point to WWDC-related posts. It’ll be updated throughout the day, and help make sure the main Discover section isn’t overwhelmed with WWDC posts.
In technology, the walled garden is a platform where one vendor controls distribution. If you want to make an iPhone app, your only choice is for Apple to approve it and sell it in the App Store. If you want to send a tweet, your only choice is to register on Twitter’s platform.
Walled gardens like the App Store are user-friendly and developer-hostile. They take power away from independent publishers and put it in the hands of gatekeepers. The problem is exclusivity: there is only one gate, and those stuck outside are unable to distribute the same content. You can make Android apps, but not iPhone apps. Nothing exists outside the walls that closely resembles what is inside.
Twitter is also a walled garden. Like the App Store, it is a closed platform with proprietary formats and a limited API. The difference is that Twitter’s garden is poorly curated and full of weeds. The walls are in such disrepair it’s hard to even tell where they are.
Mike Monteiro emphasized this frustration in a post about the problems facing Twitter’s leaders. He talked about meeting in person with Jack Dorsey:
We discussed Twitter’s role in the world stage. And I admired his vision, but feared his approach. Jack, and to an extent Twitter’s pet porg Biz Stone, have always believed that absolute free speech is the answer. They’re blind to the voices silenced by hate and intimidation. The voices that need to be protected. But anyone who’s ever tended a garden knows that for the good stuff to grow, you have to deal with the bad stuff. You can’t let the weeds choke the vegetables.
The issue isn’t that Twitter doesn’t care. It’s instead a design flaw in the platform. Because tweets don’t exist outside of Twitter, when you’re banned from Twitter, you need to start over with a new format or on a new social network. For this reason, and because their business depends on a large user base, Twitter is hesitant to throw anyone off their service. They’re unwilling to tend the garden for fear of pulling too many weeds.
It doesn’t matter who is guarding the walled garden’s gate if increasingly no one wants to go inside. So there’s a better word than “gatekeeper” to describe what we’re really after in building a great community-focused platform. It’s “curator”. Someone who is responsible for maintaining the best experience for users.
The answer to a walled garden is not to create a platform without rules. It’s not outsourcing decisions to algorithms, with recommended users and topics that can be gamed or lead new users astray. That’s not enough for the challenges brought to us by massive, ad-based social networks, where fake news and hate can spread quickly.
We need a new approach. Not controlled only by algorithms, but also not a walled garden that limits distribution of content. We need a system that prioritizes curation while preserving the freedom to publish outside of silos, with APIs based on the IndieWeb that are open by default instead of locked down with developer registration.
I think of this as an open garden. It’s an open platform that also cares deeply about maintaining a healthy environment. Outside of the garden, the soil is the same and the same plants can grow, and you are free to copy flowers and trees from inside the garden and cultivate them yourself or let them grow wild. But inside is well-curated. Inside strives to be a high quality, safe environment.
In my Kickstarter video for Micro.blog, I talked about this for social networking and blogs:
If we start to separate the publishing from the social network, it unlocks something. It empowers writers to feel like they own their work, even if that’s short posts. And it frees social networks to build a safe community, without worrying about censorship, because no matter what the networks do you can always post to a site with your name on it.
The fundamental problem in walled gardens like the App Store and Twitter is that they are closed. If they open up, they could in fact double-down on curation. There would be no need to loosen their quality standards because there’s an easy path to publishing without review by using the open web.
I first wrote about this in 2014 in the context of learning from Beats Music. For Apple to deemphasize their algorithmic top 200 lists in the App Store they would need to focus on curation. Here’s what Beats was doing:
Instead, they have a bunch of people — musicians and writers who deeply care about music — curating playlists. The top 25 playlists in a genre are so buried in the app that I had to search them out just to write this blog post, because they seem to carry no more weight than any other playlist. Much more common are playlists like “our top 20 of 2013”. That’s not a best-selling list; it’s based on real people’s favorites.
After Apple acquired Beats Music, they brought some of those curation lessons over to Apple Music, and later redesigned the App Store with more featured apps and stories. There is only so much they can do, because the foundation of a walled garden is difficult to change.
Twitter has likewise created an environment that ties their hands on curation, with discovery driven by trending hashtags and retweets. And for each rare time a popular account is banned for hate speech, there are still thousands of trolls who are making life miserable for users. Because there is no alternative, Twitter must allow nearly all content on their service. Because it exists apart from the open web, Twitter must give its worst users too much leeway before banning their account.
The open garden solves this problem. It’s the same web inside a platform like Micro.blog as on the rest of the internet. By adopting open standards but also drawing a line across which we can apply community rules, it’s possible to build features that protect users.
By encouraging the use of personal domain names, when Micro.blog does need to ask a member of the community to leave for violating our guidelines, that blogger can take their domain name and content with them, continuing to post to their own blog but blocked from interfering with the community. The curators of the platform have more freedom to block harassing posts because those problematic users can retreat to their own web site and leave everyone else in the community alone.
To summarize:
This is only possible by embracing the open web. I believe it’s an important part of the way forward for all great platforms.
About to fly out to San Jose. Looking forward to seeing everyone! This WWDC is going to be huge. Also really excited for our Micro.blog meetup on Tuesday. If you’re in town, hope you can make it. (I remembered to pack stickers.)
I’m considering upgrading one of the photo servers late tomorrow night, before WWDC gets underway. Should be very minimal downtime and only for new uploads. I’ll announce a final plan on @news tomorrow.
Love this new podcast from Joe Cieplinski. It’s a great example of trying something new with a short-form microcast. The first episode is really well edited, with everything from recording to publishing entirely on iOS:
Edited in Ferrite on iPad Pro with Apple Pencil. Show notes composed in Drafts. Published with Wavelength. No Mac involved. Micro.blog handles all hosting and publishing to the feed.
Seeing this kind of thing is exactly why we added podcast hosting to Micro.blog. There are a lot of people out there with a story to tell or a new way to tell it. It should be easy and inexpensive to start a podcast that you own, with your own domain name, that works with open standards.
For the 30th and final day in a row of visiting parks: Zilker. Brought a picnic to have above Lou Neff Point, looking out over Barton Creek and across the lake to downtown Austin.
Brent posted a reminder to the Omni blog that LIVE near WWDC tickets are going fast. It’ll be a fun concert, supporting App Camp’s mission, and celebrating everything they’ve done over the years. (We’ll also be giving away a VIP ticket at the M.b meetup.)
Dialog — a Micro.blog app for Android — is now open source! I think this is a great move. Looking forward to where the app goes from here.
We celebrate the 11th anniversary of Core Intuition on the latest episode, answering listener questions and looking forward to WWDC next week.
For the second-to-last day of 30, I picked Mayfield Park. Known for its peacocks, and right next to Laguna Gloria and not far from Mount Bonnell, Mayfield has some trails that lead down to the lake or creek.
Earlier this afternoon, looking over the field to Elisabet Ney Museum across the street from Shipe Park. Loved spending a little time visiting the museum as well.
I try not to over-plan for WWDC, but I do have a notes file where I jot down a rough outline of everything I want to do for each day. If you have a similar system, don’t forget to pencil in our Micro.blog meetup: Tuesday, noon, outside Grace Deli. RSVP here.
Questions about Micro.blog? @macgenie and I are recording another Micro Monday Q&A today to talk about your feedback, concerns, or feature requests for the platform. Reply or send us an email (and mention that it’s for the show).
I was nearby in Round Rock, so stopped at Shirley McDonald Park. There’s a pond with ducks. Some people were fishing.
It’s best to think of the iPod Touch as a very small, $199 iPad. I think the value for that price is better than any other Apple product. Good to see it updated.
Love the video as usual from Studio Neat for the new Totebook. They talk a little about the stop-motion process on the latest Thoroughly Considered.
Saved one of my favorites for the last week of parks. The trail at St. Edward’s Park off Old Spicewood Springs.
Disappointed that Ghost created a custom posting API instead of adopting Micropub, which is a W3C recommendation. It’s okay to have Ghost-only APIs as long as you start with standards as a baseline. Now we have fragmented client apps.
Neil Stephenson has written a new book. In an interview with PC Magazine, he talks about the problems with social media:
We’ve turned over our perception of what’s real to algorithmically driven systems that are designed not to have humans in the loop, because if humans are in the loop they’re not scalable and if they’re not scalable they can’t make tons and tons of money.
I think more social networks should do things that don’t scale, prioritizing safety over profit. For example, in Micro.blog the featured posts in Discover are curated by humans instead of algorithms.
Significant parts of Facebook and Twitter run unattended. There was more pushback against Facebook last week after they refused to remove the edited Nancy Pelosi video, choosing instead to try to educate users that the video was fake. Monika Bickert, Facebook’s vice president of global policy management, went on CNN to defend their decision. She described how Facebook works with fact-checking organizations to independently confirm whether something is accurate:
As soon as we get a rating from them that content is false, then we dramatically reduce the distribution of that content, and we let people know that it is false so they can make an informed choice.
I signed in to Facebook to try to understand what they had done. I actually had trouble finding the video at first, maybe because none of my friends on Facebook had shared it. Searching for Nancy Pelosi did include Facebook groups such as “Nancy Pelosi is Insane” and “Americans Against Nancy Pelosi”, featured prominently in the search results. I finally found the video, but there was no callout that it was fake. (The version I saw was captured with a camera pointed at the video playing elsewhere, likely confusing Facebook’s algorithm for finding an exact copy of the video.)
Facebook is trying to solve this problem, but it’s a band-aid on a system that is working as designed to surface “relevant” content for more ad views. It’s not enough.
Bridge connecting Blunn Creek Greenbelt with Little Stacy Park. I grew up near here and spent many lazy days as a kid exploring by the creek.
Enjoyed watching the Bucks this year. Congrats on a great season. I still have mixed feelings about rooting for Kawhi… He’s an incredible player. Disappointed he left the Spurs, but maybe making the finals with the Raptors will temp him to stay in the east. 🏀
Jean shares the story of App Camp for Girls on her blog — how it all started, what they learned, and early photos. It’s incredible how much was accomplished. There’s also more about App Camp and the WWDC benefit concert on the latest The Weekly Review.
There’s a big update out for NetNewsWire. It adds Feedbin syncing and a bunch of other improvements. Still technically a “development” build, but very stable.
At the beginning of the month, I started a new blog post series: visiting a city park each day for 30 days. I’m now 23 days in, wrapping up the final week before I leave for WWDC in San Jose. For some parks, we’ve brought a picnic lunch, and for others I’ve sat with my iPad and worked on blog posts or the upcoming book. A few days there wasn’t time for anything but a short walk around and photo.
Unlike my previous 30-day series for libraries and coffee shops back in 2016, I’ve been consistent about taking a photo every day, which I’ve collected together as thumbnails on the main page:
Watching that grid of photos grow from a single photo to dozens is a daily reminder of how progress works on anything. It’s slow, but there’s confidence in seeing a project go from possible to inevitable.
This is really what blogging is all about. It’s not just the individual posts that matter. It’s also the collection, built over time with a system designed to encourage regular posting. I love that at the end of this 30-day series I’ll have a web page with photos of parks all over Austin, and bits of text that capture a small part of what each park was like.
In addition to the Micro.blog meetup in San Jose, I want to do something new this year to highlight conference posts in Micro.blog. I’ve built an extension to our Discover section for WWDC this year. Dust off your blogs and get ready for the keynote!
Jessica Hollis Park at the top of Lake Austin next to Mansfield Dam. Warm day. No one here except a couple kayakers.
Steve Troughton-Smith’s blog post on the Mac OS X transition is a good history, but let’s not forget how difficult those years were for many developers. WWDC was often frustrating and contentious. Marzipan needs to be better than that.
Say “yes” when The New Yorker wants to talk on the phone. That story and much more on the latest episode of Core Intuition.
Mac Open Web is a new site by Brian Warren to showcase apps that promote the open web. As Brent says: “This is a page that would never appear as a category on the App Store — and yet it’s an important category.”
Tim Smith is the guest on this week’s Micro Monday. Tim talks to Jean about discovering Micro.blog and launching the Kickstarter for his photo-sharing app Bokeh.
If you’re new following me on Micro.blog and wondering what all these park photos are about, I’m visiting 30 parks in a row over 30 days. Today was day 19. All the links and thumbnail photos are on my blog.
Alan Jacobs makes a good point: it’s a feature that the IndieWeb won’t exactly replace existing social media or replicate its worst features. It can scale by encouraging communities with standards, and no single Facebook-like point of failure (or control).
WWDC is in 2 weeks. Don’t forget we’ll have a Micro.blog meetup on Tuesday, June 4th. RSVP here if you think you can make it.
I linked briefly to The New Yorker article by Cal Newport over the weekend, but wanted to add a few more thoughts. The article really does a great job of capturing what the IndieWeb movement is about, and Micro.blog’s role in it:
Even as it offers a familiar interface, though, everyone posting to Micro.blog does so on his or her own domain hosted on Micro.blog’s server or on their own personal server. Reece’s software acts as an aggregator, facilitating a sense of community and gathering users’ content so that it can be seen on a single screen. Users own what they write and can do whatever they want with it—including post it, simultaneously, to other competing aggregators. IndieWeb developers argue that this system—which they call posse, for “publish on your own site, syndicate elsewhere”—encourages competition and innovation while allowing users to vote with their feet.
As we’ve been consistently chipping away at Micro.blog bugs and features, moving the platform forward, I’ve always thought that eventually Micro.blog will get mentioned in the larger narrative about social networks from the mainstream press. We can’t control when we get noticed. We just have to be ready when it happens.
It’s great to see all the new folks joining Micro.blog! Whenever someone new has feedback, I’m reminded what we can improve so that the experience is better for the next person.
There’s one sentence in Cal Newport’s article that I keep going back to:
The Internet may work better when it’s spread out, as originally designed.
I have no doubt that this is true. It’s okay to have centralized services to make things easier for people, because it’s too much to expect that everyone should run their own server. The web can be “spread out” on multiple layers: a more diverse set of platforms, so that not all the power is concentrated in a couple massive platforms like Facebook; and more personal domain names, so that even if Micro.blog hosts 1000s of blogs, each one has its own identity on the web and can be moved.
Domain names are the key to content ownership. This is a fundamental part of Micro.blog’s architecture, not something that was tacked on as an afterthought. I’ve written more about owning your content here, which is one part of the solution to moving beyond today’s social networks.
Tanglewood Park earlier this evening, posting now after watching the final episode of Game of Thrones.
The latest Core Intuition is all about MarsEdit in Setapp and related topics.
The branches of a huge oak tree over our picnic today at Harper Park, catching up on feedback about The New Yorker article.
The New Yorker: Can “Indie” Social Media Save Us? — by Cal Newport, featuring Micro.blog, Mastodon, and the IndieWeb alternative to big social networks. Welcome everyone discovering Micro.blog today!
Great talk from Tantek at Beyond Tellerrand this week about the IndieWeb.
Advertisements often make broad claims that their products are the “best” or “easiest” or “most popular”. These statements are impossible to prove, and I think make the marketing weaker because they sound like an exaggeration.
We’ve redesigned the Micro.blog home page for new users, to better explain what Micro.blog actually is. I wanted to emphasize that it is both a blogging platform and also a great community, as well as highlight who our team is.
As a sort of tag line, I wrote that Micro.blog is “the fastest way to blog”. I like describing it in terms of speed because it also implies ease of use. If it’s simple and fast, more people will blog. Micro.blog is the blog you will actually use.
But is it true? I’ve used many blog platforms over the years, and I can’t think of one that is faster to go from idea to starting a post to publishing it. In the native Micro.blog app for macOS:
It’s the same basic workflow on iOS and the web. By default, you don’t need to worry about a title field or categories or any other UI getting in the way. This focus on simplifying blogging means there’s no tabbing or clicking around unless you need more advanced features.
There is still a lot we can improve, especially how quickly a post shows up in the timeline after publishing it. I just tweaked that today. By stating up-front that performance matters, it’s a constant reminder to make everything faster. But in terms of the workflow of drafting a new post, I think Micro.blog has a clear advantage.
We’ve extended the Micro.blog spring giveaway for another week! Click Plans → Give Micro.blog to send someone 3 free months of blog hosting. It’s a great time to start blogging again.
After launching support for Mastodon on Micro.blog, I blogged about how Micro.blog is evolving to support 3 types of usernames: normal Micro.blog users, Mastodon users, and IndieWeb-friendly domain names. This last type of username is where I think we can bring more social network-like interactions to the full web.
Here’s an example. In a post on Micro.blog, you can @-mention someone’s blog by including @domain.com in the post, using their domain name. If that blogger’s site supports Webmention, Micro.blog will send your mention to their blog, where it could be included as a comment.
I’ve been testing a new feature for this type of username in Micro.blog. You can now follow blogs in the Micro.blog timeline, even if the blogger hasn’t yet registered on Micro.blog. On the web, click Discover, then click the search icon, and enter their domain name. Micro.blog will auto-discover their JSON or RSS feed, letting you follow their blog just as you would follow any Micro.blog user.
This feature is designed for blogs with a custom domain name. It assumes one blog, one user, one domain name, so it doesn’t work to follow specific feed URLs yet. You’ll still want a traditional RSS reader for sites that have multiple feeds.
I’ll continue to improve this based on feedback, and start adding it to the native apps. Micro.blog is already one of the most open platforms of its kind, and I think this has a lot of potential to take it a step further.
Speaking of Micro.blog posting, Gluon is being updated with a new post screen. In beta for iOS and Android.
MarsEdit is now available in Setapp. I publish most of my longer blog posts to Micro.blog using MarsEdit.
How is it Wednesday already? I’m finally getting a chance to queue up this week’s Micro Monday, featuring guest William Schuth.
I introduced the Tweet Marker API in 2011. In the 8 years since, I’ve been lucky to have the support of some of my favorite apps like Twitterrific and Tweetbot, plus popular Android apps, with some developers paying a monthly subscription to help keep the service running. But while Tweet Marker hasn’t changed recently, the Twitter world has changed.
Twitter previewed the next version of their API this week. I don’t see anything so far to contradict what I wrote last year.
I believe strongly that URLs shouldn’t change, and that public APIs shouldn’t just disappear. Owning your content and having your own domain name are important parts of Micro.blog too. So I was committed to running Tweet Marker indefinitely, regardless of what Twitter might do.
But two other factors were nagging at me:
Tweet Marker’s time has come and gone. I’ve notified developers using the Tweet Marker API that I plan to wind down the service by July 1st. I’ve also cancelled all the paid subscriptions. (Actually I haven’t billed anyone in over 6 months, so I’ve been running the service for free.)
Daniel Jalkut and I talked about this back in December on Core Intuition 353. I plan to work on Micro.blog for the next 20 years or more, so it needs all of my attention.
Over a million people have used Tweet Marker. I’m proud of that. If you’re one of those people, especially if you supported Tweet Marker as a developer or with a subscription, thank you.
I’ve been trying to update the help site a few times a week lately. Just wrote a quick guide to creating a custom home page for your microblog if you don’t want it to show recent posts.
Now that I’m a dozen days in, I updated my 30 days page to include photo thumbnails of all the parks. It’s giving me some ideas for more photo-related theme features on Micro.blog.
If you’ll be at WWDC, I hope you can make it to our Micro.blog meetup! Just a reminder that it’s Tuesday, June 4th, noon - 2pm. We’ll be giving away a VIP ticket to the LIVE near WWDC concert. Details and RSVP here.
“I was disappointed missing that free throw. So I really wanted to make that shot.” — Kawhi with an incredible game 7 buzzer-beater 🏀
For day 10 trying to visit 30 parks in a row without missing a day, the weather did not cooperate. Rain and flash flooding this afternoon in Lafayette. Caught a late shot of the pond at Girard Park.
We posted a new Core Intuition today: @danielpunkass uses his new Echo, and a listener question prompts an extended discussion about always being available for support questions.
Another road trip day. This is the suspension bridge in Waco earlier today, from Indian Spring Park. Built in 1870.
Trailhead Park not far off 620. Plenty of space, tables, and a 3-mile hiking trail. I sat and edited chapter drafts on my iPad. Might be back one day to check out the trail.
Pouring rain today. Quick road trip, stopped for a burger at Hat Creek in Georgetown, right above Blue Hole Park. San Gabriel River rising up over part of the sidewalk.
Want to help Micro.blog grow? For our spring giveaway, invite someone before May 15th and they get 3 free months of blog hosting. Click Plans → Give Micro.blog. Even better, pay for their 1st year at a discount. Thanks! 🌱
Fixed an issue in the new Micro.blog themes for IndieWeb-related tags and custom CSS. The great thing about all these themes is that they are completely customizable. Very powerful. But with great power comes… great ability for me to forget important HTML tags.
Mueller Lake Park for day 6 of visiting parks for 30 days in a row. Plenty of benches and tables. Bonus: Halcyon is across the street to cool down with an iced coffee.
Added 2 new built-in designs to Micro.blog hosting today: Minos and Hello, from existing Hugo themes with minor tweaks.
This week’s episode of the Micro Monday podcast features David Johnson, talking about his experience on Micro.blog, discovering new users, being a life coach, and thoughts about starting a podcast.
Sculptures by Jim Thomas at Chisholm Trail Crossing. Unfortunately no picnic tables, but I sat near the sculptures and did some writing. Small park that stretches down to Brushy Creek.
Spring giveaway! Along with the new home page today, we’ve updated the invites on Micro.blog so that you can send someone 3 free months of blog hosting! There’s also an option to pay for their first full year.
Bokeh will be a new private-by-default photo sharing app from Tim Smith, on Kickstarter now:
Bokeh will be ad-free, have a chronological timeline, and will be private by default. That means that all accounts will start off as private. Public accounts will have an RSS feed, will have the option to cross-post to other social networks, and will support custom domains. All accounts will have an indie web compatible export so you can self-host if you want to.
Tim has been active in the Micro.blog community from the early days of the platform, and I’ve talked to him about Bokeh leading up to the Kickstarter. I think there is a lot of potential for parts of Bokeh to be compatible with Micro.blog. There is some overlap with what we’re doing with Sunlit, but as I’ve written about, more smaller social networks that can work together is a good thing! I’ve backed it on Kickstarter.
We’ve launched a redesigned home page for new users on Micro.blog today. The old design was a little too sparse and didn’t do a very good job of explaining what Micro.blog is. The challenge is that Micro.blog is really 2 things — a blog hosting platform and a social network for microblogs — so the new design reflects that with a 2-column layout.
To give an example of what posts on Micro.blog look like, we include recent posts from the Discover section directly on the home page. There are also profile photos of the team members at the bottom so that new users have a better idea of who is behind the platform.
Today I worked from Beverly Sheffield Northwest Park. Got a bunch of editing done on my iPad, for day 3 of visiting parks.
Posted Core Int 371 with more pre-WWDC discussion of Marzipan, voice assistants, and more.
We know that of course you can’t watch a Netflix-exclusive show on Hulu or Amazon Prime Video. But wouldn’t it be great if you could? With the current open podcast ecosystem, that’s exactly what we have: any show from any network can be played in any podcast client by default.
You might think with my attack on Luminary that I don’t want big companies to succeed with podcasts, but that’s not it. There’s nothing wrong with trying to make money off of podcasting. I just think it’s possible to make money by working within the podcast ecosystem instead of against it.
Here are several great ways to monetize podcasting that preserve and even strengthen how podcasts work:
And here’s a way to monetize podcasting that will weaken the ecosystem:
As I wrote in my blog post about Substack:
If we accept calling “any audio on the internet” a “podcast”, we undermine what makes a podcast unique: not just the convenience of delivering audio directly to your device, but the openness that ensures that podcasts work in a variety of players, without a single company with too much control trying to lock down the format.
Companies like Luminary and Spotify will most likely fail to dominate podcasting because listeners want to use their favorite podcast client to listen to podcasts. Try explaining why your exclusive “podcasts” don’t play in Apple’s app called “Podcasts”. But if someone does succeed in creating a “Netflix for podcasts”, it could eventually lead to a couple major problems:
If either of those things happen, we will all be much worse off. (For more arguments along these lines, check out episode 323 of the Accidental Tech Podcast.)
Tickets to LIVE near WWDC are available! I’m happy to announce that Micro.blog is sponsoring the event this year. (And if you can’t make the concert in San Jose, you can still donate to help App Camp for Girls.)
Day 2 of city parks: Rosewood Park. It has been raining most of the morning, but it let up enough for a picnic lunch.
Working on something late tonight, I remembered this old Harry Potter-inspired episode of Timetable from a couple years ago. No one is coming to fix the problems we leave when we’re rushed and take shortcuts.
In 2016, I tried working from a new coffee shop every day for 30 days, then later followed that with 30 days working from libraries. Each day I would post a microblog post and sometimes a photo. You can find links to all these posts on my 30 days page.
When it was all done, I wrote:
After wrapping up libraries, I thought I’d make it a trilogy of 30-day endeavors, with a final 30 days of working from city parks. This was a suggestion from Daniel Hedrick, who had worked from parks before, tethering to his iPhone since there’s usually no wi-fi. I loved the idea right away because it fit so well with the goal of getting out of the house and discovering something new in my own city. I even spent a couple hours earlier in the month researching parks and planning out whether I could do it.
But I quickly realized that I was burned out on commuting all over town, so I tabled the idea. Fast-forward a few years. This week, I’ve been struggling to stay productive as my attention is pulled in a few directions with tasks for Micro.blog.
I’ve also been working more on my book Indie Microblogging, which I can write from anywhere on my Mac or iPad. I think restarting the “30 days” idea will force me to carve out some uninterrupted time to write, and get me out of a bit of a rut from working at home. It will also be a great use of Micro.blog.
For day 1 of 30, I went to Walnut Creek Metropolitan Park in Austin. It’s a large park with hiking and biking trails. I actually did more walking than writing, but it’s a start. As with coffee shops and libraries, I’ll collect links to all the posts on a new page here.
Sunlit 2.5.5 is out with an additional fix for photo uploads to external blogs. This should wrap up the few bug fix updates we’ve had recently.
Sometimes I hear people acknowledge that Instagram is “owned by Facebook”. That implies independence, but isn’t it kind of like saying the iPad is “owned by Apple”? Instagram is led by a Facebook executive. It’s not actually a separate company.
Facebook’s starting a pretty dramatic redesign and refocus on privacy. It’s an interesting strategy: fix the old problems by creating something completely different instead. Here’s a summary from The Verge.
Sunlit 2.5.4 is now available. This fixes a problem with scaling up photos, which especially caused a problem for external blogs. Uploads should be faster everywhere now.
We just posted episode 58 of the Micro Monday podcast with guest Joe Cieplinski. Jean talks with Joe about the Release Notes podcast and conference, his approach to microblogging, photos, and more.
This week 2 years ago we were sending invites for Micro.blog to Kickstarter backers. There’s still a lot to do, and it has not been easy, but there’s no question that more people are blogging because of Micro.blog. What will the next 2 years look like?
Busy week ahead. Trying to start Monday right with an iced coffee and breakfast taco at Illuminate Coffee.
While my microblog post last week was very critical of Luminary, I don’t think asking Luminary to remove shows from their directory is the answer. It’s not a good precedent to limit an app from accessing open podcasts.
Game of Thrones was incredible tonight. Visually stunning and unpredictable. This was such an ambitious episode… I can only imagine how much work went into the big scenes, but they got all the little moments right too.
Deployed some server performance improvements including a fix for overriding Hugo default parameters in custom themes. I wrote up a help page about it.
Good Spurs season. Even without Dejounte, they had a chance to compete this year. That poor shooting 1st quarter was just a little too much to come back from. 2 points down with a minute left I thought the Spurs had it, though. Next year. 🏀
Overcast adds sharing audio or video clips of part of a podcast. I just tested this with Micro.blog’s new video hosting and it works great to share a podcast episode to your own blog.
Back from an early showing of Avengers: Endgame. I have never seen the movie theater parking lot completely full on a Saturday morning.
About Luminary’s $100 million: many of us are working 7 days a week on a tiny budget to build something we think is important, and Luminary and the like will light VC checks on fire to burn the podcast industry down around them if it means the chance to monetize an open platform.
I knew moving to Hugo templates for Micro.blog was the right call, but I’m still discovering all the power it brings. I just wrote a help page about creating a custom theme that includes truncated posts on your home page.
On the latest Core Intuition, @danielpunkass and I talk about making time to ship software updates, whether automation is important, and Micro.blog’s window resize UI.
John Gruber has a great post on Luminary and the trend of companies trying to redefine what “podcast” means. It’s not a podcast if there’s no RSS feed and it can’t work in multiple client apps:
Being client-agnostic is the spirit of the open internet, and I think it’s implicitly part of being a “podcast”. Openness was certainly part of how podcasting came to be.
Substack is another company that initially tried to ride the popularity of podcasts by calling their audio in email newsletters a “podcast”. I wrote about it here. I’m happy to notice that as of this week, Substack has real podcast support by adding private RSS feeds for newsletter subscribers. That’s the right way to go and now their audio shows work in any podcast client.
We do not need the “Netflix of podcasts”. Anyone can create and distribute a podcast — even Micro.blog has support for podcast hosting and a simple app for recording and publishing podcast feeds that work anywhere — so it would be a step back for the industry if a single company tried to control distribution.
There were some fun moments in game 1, but tonight’s game 6 was the first time the Spurs looked like the same team from the regular season. Spurs and Nuggets are evenly matched. Excited for game 7. 🏀
The New York Times has an article today about demolishing Penn Station, full of incredible old photos:
With its swarming crowds and dust motes dancing in shafts of smoky light, the station was catnip to midcentury photographers, filmmakers, artists and architects. It was the architectural embodiment of New York’s vaulted ambition and open arms.
In 2016, I wrote a blog post on applying the lessons from Penn Station to the open web and podcasting. It’s still one of my favorite recent posts.
Following Jeffrey Zeldman’s article about the open web, Ben Werdmuller has a great post about how we shouldn’t care so much about startup unicorns, using Micro.blog as an example of another type of business:
Zeldman looks to Micro.blog as a potential answer. It’s a great company that could point to what a more general solution could look like, but not specifically because it works with the indieweb. Instead, it’s worth examining how it’s financially structured. Rather than a unicorn, it’s a zebra.
It would be great to have more small- and medium-sized companies that can move the web forward. They can innovate while still being grounded in somewhat boring business models. It matches one of my points here that we need multiple social networks that interoperate via the web instead of just a couple of huge platforms.
There’s a difference between companies that are paid for directly by users and massive ad-based networks. Ben Thompson outlines this in an article about regulation, arguing that the super-aggregators like Facebook require government intervention, where other companies that are better aligned with users' interests can be “regulated” by the market:
I think, though, that platform providers that primarily monetize through advertising should be in their own category: as I noted above, because these platform providers separate monetization from content supply and consumption, there is no price or payment mechanism to incentivize them to be concerned with problematic content; in fact, the incentives of an advertising business drive them to focus on engagement, i.e. giving users what they want, no matter how noxious.
I’ve been thinking about Ben Thompson’s essay a lot since he published it a couple weeks ago. Micro.blog is a small part of the puzzle — and it’s a puzzle piece of a different shape that doesn’t fit cleanly into Ben’s diagram around free services — but I think it’s an important part to focus on.
I’ve been having fun posting short videos to my blog now that Micro.blog makes it easy. You can see the recent videos on this category page.
And it has been great to see what other people come up with. For example, I love these time-lapse videos: the clouds moving above Fort Tryon Park in New York City from Joe Cieplinski, and this beautiful one of Ha Long Bay in Vietnam from Jordon Wadlington. I sometimes forget that my iPhone camera has a time-lapse feature, and now I’ll be looking for an excuse to use it.
Sunlit 2.5.3 has been approved and should be available in the App Store now or soon. This update improves video posting and fixes an issue setting alt text for photos.
“With every tightened screw we have less power than we had. And doing the things — unsanctioned, unplanned-for, often unwieldy and even unwise — that computers are so wonderful for becomes ever-harder.” — Brent Simmons
Thunder played a great game, but Lillard is locked in like I’m not sure I’ve seen before. What a game. Meanwhile, Spurs implode and need to win the next 2. 🏀
While on a 6-week walk from Tokyo to Kyoto, Craig Mod is disconnecting from social media and instead posting to “followers” using SMS:
What do I mean by “use the network to publish without being used by it?” On most services — Twitter, Facebook, Instagram, etc — in order to publish something you must stare into the maw of its timeline, resist whatever the algorithm has queued up for you, and then, if you’ve remembered what you were going to publish, publish.
At the end of the journey he will collect the photos and comments in a book. I think this could’ve worked as a microblog as well, because then users joining late could read previous posts in the series, but it’s a fascinating use of SMS.
Trying to learn from our ambitious video hosting release when we shipped new versions of 3 apps on the same day. For smaller updates, better to space things out. New macOS version this morning and just submitted Sunlit to Apple for later this week.
There’s a new update to Micro.blog for macOS with a few improvements, including (you won’t believe this) finally being able to resize the width of the main window. Enjoy!
I’m learning about calc in CSS for the first time. Perfect work-around to a problem I was running into.
Morning drive up to the Dallas / Fort Worth area. Stopped for coffee and work catch-up on the way back, then this view of the Trinity River before heading home.
We just posted episode 57 of Micro Monday with guest John Johnston, a primary school teacher from Glasgow. He talks with Jean about backing the Kickstarter project, the Micro.blog experience, and more.
Still experimenting with how I want to post video to my blog. Currently I like using Snapthread or Clips with muted sound (but accidentally messed up that last video and will re-post).
For this week’s Core Intuition, @danielpunkass and I talk about the latest Marzipan rumors, and look at the state of Siri vs. Alexa and where it still needs to go.
From what little I’ve read of the Mueller report so far, even with the redactions, the scope is incredible. If we were to find out all of this at once, it would be devastating. Anyone but Trump would’ve resigned.
I couldn’t watch more than a few minutes of Barr’s summary of the report. He uses very precise, technical language to route around what we can all plainly see from the evidence so far. Frustrating.
Congrats to Federico Viticci and the MacStories team on 10 years of MacStories. To appreciate how long ago this was, I re-read Federico’s interview with me from 7 years ago. This was 3 years after his first post but the content feels like a lifetime ago.
I really like this interview because I think it captures that time on the App Store and as a Twitter developer. We talked about iOS 5 user interface design, my early indie apps before starting Micro.blog, but also a few things that are still relevant today, like using the iPad for real work and app pricing.
Most importantly, it was a few months before Twitter’s infamous 4-quadrant chart that would set in motion Twitter’s move away from third-party developers. My priorities changed significantly after that, eventually leading to Micro.blog.
Updated the web version of Micro.blog today with support for editing the date on a post, and fixed the date when publishing a draft.
New updates to Micro.blog for iOS and macOS are out, with fixes for uploading certain types of videos.
One of the greatest comebacks I’ve ever seen. Congratulations to the Clippers. No one believed in this team for the playoffs and they absolutely stunned everyone. 🏀
This week’s Micro Monday features @bsag, talking with Jean about blogging, the community on Micro.blog, and how in difficult times we can step up to make things easier for other people online.
We all expected Dark Mode in iOS 13, but according to this rumor from 9to5Mac, the next major version of iOS is also going to feature some major changes to windows and detachable sheets:
There are many changes coming to iPad with iOS 13, including the ability for apps to have multiple windows. Each window will also be able to contain sheets that are initially attached to a portion of the screen, but can be detached with a drag gesture, becoming a card that can be moved around freely, similar to what an open-source project called “PanelKit” could do.
We also get an answer to one of the questions Brent Simmons asked about split views:
Split Views on Marzipan apps based on iPad designs that run on the Mac will get the ability to be resized by dragging the divider and have their position reset when double-clicking the divider, like existing Split View apps on the Mac.
I hope that support for multiple windows maps over to macOS with Marzipan. We’ve been saying on Core Intuition that this WWDC is going to be special. Marzipan is the biggest shake-up to the Mac since the Carbon to Cocoa transition.
Derrick White! That dunk, and then the steal in the final seconds. Spurs grab game 1 in what looks like it’ll be a great series. 🏀
Playoffs start today! My predictions for the west are just guesses, except for the obvious Warriors moving on. Any other team could take the first round to game 7. 🏀
Sunlit 2.5.2 was just approved, adding inline video playback and fixing a couple stability issues. I love seeing all the videos people are posting to their blogs! We’ll keep improving this.
There’s a fantastic article by Jeffrey Zeldman in A List Apart this week, starting with the problems of venture capital-backed social networks and ending with the question of whether we can help fix the web:
On an individual and small collective basis, the IndieWeb already works. But does an IndieWeb approach scale to the general public? If it doesn’t scale yet, can we, who envision and design and build, create a new generation of tools that will help give birth to a flourishing, independent web? One that is as accessible to ordinary internet users as Twitter and Facebook and Instagram?
I believe strongly that the answer is “yes”. Brent Simmons also responds, using the example of how even focused apps like RSS readers can move things forward without needing to solve all the problems at once:
Do I claim it’s as accessible to ordinary internet users as Twitter (for instance)? I do not. But it’s the step forward that I know how to take.
This is a great attitude. There are steps forward that we can all take individually, from leading the way by blogging more ourselves, to building tools for others to use. Together these steps add up to something significant that really matters.
It has been very encouraging to watch the Micro.blog community grow and new people regularly post to their own blog first instead of the big ad-based social networks. Seeing so much progress — but also knowing how much more work there is still to do — gives me a lot of hope for the future of the web.
Less than 2 months until WWDC! If you’ll be in San Jose, join us for the 3rd annual Micro.blog meetup. You can RSVP here.
This week’s Core Intuition is about traveling to Peers Conference, shipping the video feature in Micro.blog, Daniel balancing his time, blogging, Marzipan, and more.
Spurs needed to win this one, but great to hear fans in San Antonio cheering for Dirk in his final game. 21 years with one team says a lot. And I love that he made that last shot as the game wrapped up. 🏀
If you’re still using Instagram but want to copy your photos and videos to your own microblog, a great solution is OwnYourGram. This is a free service that checks your Instagram account for new photos and videos, then sends them to your microblog automatically. Along with video support in Micro.blog, we’ve also improved support for videos from OwnYourGram.
First, make sure you’re on the podcast + video hosting plan on Micro.blog. For $10/month, we’ll host audio and video for you in addition to photos, and generate a podcast feed for you if you ever want to start a podcast later. You can upgrade here.
Next, follow the instructions on this help page for setting up your Micro.blog account so that it works with Instagram. This just means telling Micro.blog about your Instagram username, and telling Instagram about your microblog.
You can use OwnYourGram to send a specific video from Instagram to Micro.blog to test that everything is working. After that, OwnYourGram will check Instagram for new photos and videos and send them to your microblog. Photos and videos on Micro.blog are real blog posts, so you can always edit the posts later after they are created automatically.
Micro.blog for iOS has been updated to version 1.6.1, adding inline video playback (or full-screen when it needs to). Also fixes loading categories and feeds.
Finally read Zuckerberg’s op-ed. His “solutions” are really superficial. The problems with Facebook are so fundamental they would require deep changes he’ll never consider. I think my post from last year is still the best guide for how to fix the web.
I posted a new episode of my short-form podcast Timetable all about adding video support to Micro.blog.
Added a help page with more technical details about how video posting works.
Thanks to @endonend for writing up how to add pagination to other themes on Micro.blog. This is a great example of adding custom templates to your blog.
This week’s guest on Micro Monday is Mike Hendley, talking with Jean about NaNoWriMo, blogging, drawing on the iPad, and sharing art on Micro.blog.
“He will fire people in his administration who he thinks are crossing him, questioning him, undermining him.” — Hillary Clinton interview in September, predicting Trump’s actions if Republicans lost in the midterms
Last week I drove to New Orleans for Peers Conference. It was a bit of a whirlwind because we also released video support in Micro.blog and updated 3 of the apps, which I knew might be a little too much to attempt to do while traveling. In fact, we did miss a couple bugs and updated Sunlit the next day, and a new Micro.blog iOS update will follow this week with more improvements.
I had a great time in New Orleans. The drive from Austin is 8+ hours, but I took even longer to make sure I had enough breaks from driving, for lunch and coffee and catching up on work. I took a few photos which I’ve collected together using Snapthread here to share as a short video.
On the way I stopped at Goodthrough Coffee in Houston, then at the visitors center in the Atchafalaya Basin in between Lafayette and Baton Rouge, and then caught a rainbow as the rain cleared along the Mississippi River before cutting across highway 30 to I-10 and New Orleans
Peers Conference itself was great. Though it’s traditionally a web conference, this year leaned more toward business so the sessions were exactly what I needed to hear. It rained a bunch. Early Friday I settled in at Stumptown Coffee to work on Micro.blog. I didn’t end up seeing much of the city, but had a chance to walk around Jackson Square between sessions and there were great conversations in the evening over beers with fellow attendees.
Saturday I had breakfast at Merchant around the corner from the hotel and then hit the road back to Austin, stopping for lunch at a hotdog place in Lake Charles, Juiceland near a biking trail in Houston, and mostly missing the rain that had also drenched Austin until I was close to home. It was a long day but very glad I made the trip.
Congrats to Baylor! Looked like the team was going to unravel after Lauren Cox was hurt, but they were great in the final minutes. Incredible championship game. 🏀
Busy week! Now that I’m back in Austin, finally had a chance to finish editing and posting the new Core Intuition. AirPower, Theranos, and Micro.blog’s video support.
Sunlit 2.5.1 is now available in the App Store. This update fixes an issue with videos not appearing in the timeline after the major new version we released yesterday to add video upload to the app and Micro.blog hosting.
Here are a couple screenshots of the update with the video preview and new full-screen player:
We’ve updated Micro.blog today with a big feature: video upload to your microblog. The iOS and macOS apps — as well as our iOS app for photos, Sunlit — have all been updated to support video.
Video upload and storage is based on our podcast hosting plan. If you’d like to post video, you can learn more and upgrade here. Just like podcasts, video hosting is designed for short videos, from a few seconds to 1-2 minutes. Each video should be 45 MB or less, but there’s no limit on the number of videos you can upload, and videos are stored at your own domain name.
We are very excited about this and can’t wait to see how people use it. Now that we have this foundation for video, I’m looking forward to expanding it based on feedback. I think there’s a lot we can do. (There were also a couple of last-minute bugs with playback on iOS… We’ll get those fixed soon.)
Another rainy morning in New Orleans. Working from Stumptown Coffee. Nice space and seems appropriately Portland-y as @cheesemaker and I wrap up new Micro.blog app releases.
Great first day at Peers Conf. Really glad I made the trip over to New Orleans. Going to try to get an early start tomorrow morning and finalize this week’s Micro.blog updates.
Because I’ve driven to Louisiana many times (and to make last-minute planning easier and save a few bucks), decided to drive to New Orleans for Peers Conference. Just hitting the road now! See y’all tonight.
Recorded a new @coreint today. It’ll go live Thursday because we talk about some new Micro.blog stuff that hasn’t shipped yet.
Submitted a new version of Micro.blog for iOS to Apple for review. We are attempting to update all the apps at the same time this week… Sounded easier back when we came up with this plan a few weeks ago!
However, it’s not all good news from El Paso. Still completely unacceptable treatment of migrants being held. A wall does not fix this. From the NYT: “This place looks like a concentration camp and we’re not supposed to have that in America.”
Looking forward to the Beto rally in Austin tonight: 9pm on Congress. Great photos and crowds out of the El Paso event earlier today.
Relieved about AirPower. We love that Apple pushes the envelope, but they shouldn’t ship something that has even a small risk of being potentially dangerous. Walking the fine line of confidence and arrogance in their own abilities, it’s good when Apple can admit stepping too far.
I’ve got strong political opinions, as anyone can see by reading my blog posts every 2 years near an election, but I don’t think we should be quick to jump to conspiracy theories. However… the Barr letter really is starting to look like a coverup.
There’s no shortage of opinions about Apple’s services-related event this week! I’ve listened to a few podcast episodes, and of course I had my own thoughts on this week’s Core Intuition and a separate blog post about News+.
My favorite discussion about News+ so far has been the latest episode of Connected. They talk about the good things Apple brings to this, but also the downsides.
Federico:
I was asked by someone on Twitter, do you plan on putting Club MacStories on Apple News+? The answer is a huge no.
Myke:
Literally every single person who subscribes to Club MacStories would cancel because they’re all users of Apple products!
Federico:
There’s always a cost to adopting a new platform. There’s a technological cost, and there’s an actual cost. And for me, it’s not worth it to rewrite my — what we do for Club MacStories for Apple News format — but it’s also not worth it to lose the money that I’m making from the service that I control.
Federico’s point here gets to the key issue with these aggregation platforms, whether it’s News+, Facebook, or the App Store. When you give up control over distribution, you also give up control over revenue. With publishing on the open web, there’s always an alternative: your own domain name and your own subscribers. (For the App Store, there’s no choice.)
Back to the episode…
Stephen:
I still don’t love how closed off News is. Like on the Mac, you just can’t get a URL to open it in a browser. You just can’t do it. You’ve got to send a text message to yourself or something. And on iOS, or really anywhere, sending content to things like Instapaper is very hit or miss. […] Apple News doesn’t play well with the web, and that’s very frustrating to me as a believer in the open web.
Myke:
We’re all worried about Spotify walling off podcasts. Well, Apple’s trying to do that to news. […] It’s probably good for consumers, but is it good for the industry? We don’t know yet.
Great episode. You should listen to the whole thing, because as I said there are some points in favor of Apple News as well, and the other announcements. But the segment I’m quoting from above was particularly good.
I posted this video to my blog already, but because I was testing YouTube recently, decided to copy the video there too. It’s 60 seconds about the new saved drafts feature.
If you missed it earlier in the week, Micro Monday this week featured Kim Landwehr, talking with Jean about the community and how it can help remove the pressure of putting your thoughts out there.
On the latest Timetable I talk a little about today’s new Micro.blog features.
We’ve rolled out some more improvements to Micro.blog. For blogs hosted on Micro.blog, you can now save a post draft to Micro.blog, then come back later to edit and publish it. The macOS app has been updated with support for drafts and a new “Posts” section to make editing or searching your existing posts much easier.
Here’s a short video of the new feature on the Mac:
Saving drafts works on the web version of Micro.blog or from the macOS app. We’ll be updating the iOS app soon.
You can also now import from a Tumblr blog. Choose Posts → Import to upload the export file you receive from Tumblr. Micro.blog will import any photos in the archive and add them to your own domain name hosted on Micro.blog.
Micro.blog’s posting API has been updated with support for additional Micropub API features: retrieving a list of your own posts, marking a post as a draft, and updating the title or text in an existing post. This should make it easier for apps to support editing.
We re-posted yesterday’s episode of Core Intuition because of a feed issue, to make sure it shows up in your favorite podcast app. Enjoy! This one is all about Monday’s Apple event.
I mentioned shipping some new Micro.blog features today. For some reason when I planned that, I forgot that I was going to be on the road for a few hours today! Best to wait until tomorrow.
Most of what Apple talked about today isn’t shipping until the summer or fall. Apple News+ does ship today with iOS 12.2. It’s priced at $10/month for access to hundreds of magazines and newspapers. As I posted about briefly, I’ll stick with paying The New York Times directly for now.
Michael Tsai writes about the larger issue with Apple News:
I continue to find Apple News to be disappointing. It’s like Apple reinvented the RSS reader with less privacy (everything goes through an Apple tracking URL) and a worse user experience (less control over fonts, text that isn’t selectable, no searching within or across stories). So the idea of content that must be accessed from the app—and likely can’t even be opened in Safari—is not attractive to me.
I think there’s great potential for Apple News on the curation side, but the articles are too stuck inside Apple’s apps, and the cost to publishers is too high. You can tell Apple feels like they’re onto something important with Apple News. My concern is that Apple’s solution is based so heavily on what they know how to do well — let’s make everything a native app with a nice UI and leverage our massive credit card database — that they’ve missed an opportunity to solve something more meaningful for journalism and the open web.
Just posted a new episode of Timetable, putting together a few quick thoughts on today: paying attention to Apple while getting some new features ready to ship.
In that last TV+ video, when Apple talked about “an important voice being missing”, I had forgotten about the Oprah rumor and thought they were going to end with: “…you”, in other words a platform to empower more indie filmmakers, not celebrities. Now that would be something.
First half of the Apple event: pretty good, but not for me yet. We pay for the New York Times and Washington Post, so News+ isn’t a savings until it includes those. Hope the credit card influences other banks to improve. Arcade is a great name.
We’ve been working on some big new Micro.blog features, rolling out separately tomorrow and next week. Got an early start on coding this morning before the distraction of Apple’s event later today.
Seth Godin blogs every day. Sometimes short posts, sometimes longer posts that read like they could be part of one of his books. Yesterday’s post was one of those longer posts about big, centralized platforms:
Like a landlord who owns every building in town, Google can’t lose. A successful business in the online ecosystem is one that has a few dollars left over after giving the rest of it to Google or Facebook (or Apple).
He’s also been on a roll with his podcast. And for more about Apple vs. Spotify specifically, I enjoyed the latest episode of the Supertop podcast.
Looking forward to one day reading the full Mueller report and releasing my own 4-page summary. (Likely in blog post form.)
We sent an email to some of our Kickstarter backers yesterday, giving people a chance to check out Micro.blog again if they haven’t been active recently. The platform has improved so much in the last year. It’s possible that it didn’t meet someone’s needs a year ago but will today.
One of the links in the email was to the 12 days of microblogging help page, which links to 12 blog posts I wrote in December to highlight how people are using Micro.blog. Unfortunately, most of those links no longer worked! I scrambled to figure out why some of the links on my blog weren’t working, finally discovering that I had broken them myself when testing the Medium.com import feature across multiple test blogs.
In the process, I decided to pull a complete backup of Micro.blog’s database from 30 days ago and use it to fix some of my old blog posts. This was a great exercise. I check the backups from time to time, but it’s rare that I need to go over specific data by hand and actually restore anything.
Last week, Myspace revealed that they had lost all hosted music from 2003 - 2015. I don’t think we can be too careful with the responsibility of hosting people’s blogs, so I’m glad I had this chance for a real-world test of Micro.blog’s backups. (I also recommend enabling the Internet Archive feature under Posts → Design, and occasionally downloading a complete archive of your blog from Posts → Export.)
My heart goes out to the families of loved ones at the mosques in Christchurch. After the Parkland shooting, I drafted a long blog post about gun violence but never ended up posting it. Even after editing it a few times a month later, it felt like the words or timing were always wrong.
Over the last couple of years we’ve seen a growing backlash against social media. I won’t look for the video of this tragedy from New Zealand, and I hope I never accidentally see it. It is heartbreaking enough with words alone. Every story I read last week kept pointing back to the frustration with how Facebook, Twitter, and YouTube are not doing enough to prevent their platforms from amplifying misinformation and hateful messages.
Margaret Sullivan of the Washington Post writes about the problems with social media leading up to and after a tragedy like this mass shooting:
To the extent that the companies do control content, they depend on low-paid moderators or on faulty algorithms. Meanwhile, they put tremendous resources and ingenuity — including the increasing use of artificial intelligence — into their efforts to maximize clicks and advertising revenue.
Charlie Warzel of the New York Times covers this too:
It seems that the Christchurch shooter — who by his digital footprint appears to be native to the internet — understands both the platform dynamics that allow misinformation and divisive content to spread but also the way to sow discord.
Nick Heer links to an article in The Atlantic where Taylor Lorenz documents how after following a far-right account, Instagram started recommending conspiracy accounts to follow, which filled her feed with photos from Christchurch:
Given the velocity of the recommendation algorithm, the power of hashtagging, and the nature of the posts, it’s easy to see how Instagram can serve as an entry point into the internet’s darkest corners. Instagram “memes pages and humor is a really effective way to introduce people to extremist content,” says Becca Lewis, a doctoral student at Stanford and a research affiliate at the Data and Society Research Institute.
Duncan Davidson asks: “What are we going to do about this?”
The last few years, the worst side of humanity has been winning in a big way, and while there’s nothing new about white supremacy, fascism, violence, or hate, we’re seeing how those old human reflexes have adapted to the tools that we’ve built in and for our online world.
I can’t help but think about Micro.blog’s role on the web whenever major social media issues are discussed. It’s almost all I think about. We feel powerless against world events because they’re on a scale much bigger than we are, but it helps to focus on the small things we can do to make a difference.
Micro.blog doesn’t make it particularly easy to discover new users, and posts don’t spread virally. While some might view this as a weakness, and it does mean we grow more slowly than other social networks, this is by design. No retweets, no trending hashtags, no unlimited global search, and no algorithmic recommended users.
We are a very small team and we’re not going to get everything right, but I’m convinced that this design is the best for Micro.blog. We’ve seen Facebook’s “move fast and break things” already. It’s time for platforms to slow down, actively curate, and limit features that will spread hate.
In this week’s Core Intuition, @danielpunkass and I talk about recent updates to MarsEdit and Sunlit, old blogging APIs, and WWDC.
Excited that I’ll be attending Peers Conference in New Orleans next month. Registration is still open! Peers in Austin was one of my favorite conferences last year.
We’re getting some great feedback about the new version of Sunlit. There will be a minor update next week to improve a few things, but overall very happy with this release. Check it out after you’ve ordered all the new iPads, iMacs, and Airpods this week!
The new version of Sunlit is now available in the App Store. You can download it for free and use it with Micro.blog or to publish photos to an existing blog like WordPress.
Why does controlling our own photos matter? As I wrote in this post about the way out of the mess created by massive social networks, having posts at our own domain names unlocks a few very important features:
I’m very excited about this release and hope you like it. It’s time to move away Instagram. If you need help importing your photos, check out this video I made about batch importing from Instagram to Micro.blog-hosted blogs.
I’m always impressed with Apple’s methodical approach to marketing. Rolling out new updates each day this week was a great call. (I’m much more impatient. I release apps as soon as they are ready.)
MarsEdit 4.3 shipped today with a bunch of improvements, including a change for Micro.blog-hosted blogs: showing post modified dates. (I often use MarsEdit to draft and publish longer posts to M.b. And sometimes short posts like this one!)
I just posted a new episode of Timetable. It has been a while. This one’s about the Kickstarter stickers and the upcoming Sunlit 2.4 release.
This week’s Micro Monday episode features @martinfeld. From the show notes: “Martin credits microblogging with his ability to write more consistently on his long-form blog as well.”
Sunset out the passenger-side window on the drive back from Dallas a couple of days ago. Usually tough to get a shot from the highway: buildings, power lines, etc.
Spurs are looking good at the right time. Still anyone’s guess what the seeding in the west will be, but I’ve loved this 9-game winning streak. 🏀
We are getting close to releasing the next version of Sunlit. The app has gone through a bunch of iterations over the years while we searched for the right features and design. This version is my favorite. We’ve simplified posting so that it’s easier and more consistent with Micro.blog, improved profile screens, and fixed even more bugs.
If you’re looking for an alternate to Facebook-owned Instagram that priorities community and content ownership, I hope you check out Sunlit when it’s ready.
My daughters were home for spring break last week, and the whole family helped with the last batch of envelopes to get the stickers for Kickstarter backers sent out. Finally! Thanks for your patience and support. (Now, to finish the book.)
Apple responds to Spotify. Daniel Jalkut and I predicted most of this response on Core Intuition a couple days ago. I’m going to quote a few parts of Apple’s response and comment.
Eleven years ago, the App Store brought that same passion for creativity to mobile apps. In the decade since, the App Store has helped create many millions of jobs, generated more than $120 billion for developers and created new industries through businesses started and grown entirely in the App Store ecosystem.
Apple likes to brag about how much money they’ve paid to developers, but they leave out how much they’ve kept for themselves: about $50 billion. To Apple, they are doing us a big favor by letting us ship iOS apps.
We’ve approved and distributed nearly 200 app updates on Spotify’s behalf, resulting in over 300 million downloaded copies of the Spotify app. The only time we have requested adjustments is when Spotify has tried to sidestep the same rules that every other app follows.
It’s very important to remember that Apple’s rules are not laws. Apple’s rules have changed over the years, and especially around in-app purchase it often feels that they are applied inconsistently. Because Apple runs the platform, they can make any guidelines they wish, but there isn’t necessarily any inherent legal or moral justification in specific rules. We shouldn’t accept that all of Apple’s rules are fixed and cannot be improved.
When you get to the scale of the App Store, there are also new monopoly and anti-trust questions. For more about this, see Ben Thompson’s article on Stratechery.
Back to Apple:
A full 84 percent of the apps in the App Store pay nothing to Apple when you download or use the app. That’s not discrimination, as Spotify claims; it’s by design.
In 2011 I wrote a blog post with the premise that Apple made a mistake with how they handle free apps in the App Store, and what followed was years trying to make up for that mistake because of the burden of running the App Store. I think there was some truth to that, but now the business is very different. The App Store is a huge money-maker.
And we built a secure payment system — no small undertaking — which allows users to have faith in in-app transactions. Spotify is asking to keep all those benefits while also retaining 100 percent of the revenue.
And yet in the previous quote, Apple says that 84% of apps pay nothing and they are fine with that. Uber pays nothing to Apple. Games with ads pay nothing to Apple. Why is it wrong for Spotify to also want to limit how much they pay to Apple? The line Apple has drawn around in-app purchase is arbitrary. They could just have easily restricted Uber accepting payments, or banned third-party ads.
Just this week, Spotify sued music creators after a decision by the US Copyright Royalty Board required Spotify to increase its royalty payments. This isn’t just wrong, it represents a real, meaningful and damaging step backwards for the music industry.
This is irrelevant to Spotify’s complaints about the App Store. While I think Spotify’s argument would have been stronger if they had focused on a couple of their core complaints instead of mixing in issues such as Apple Watch development, Spotify didn’t bring up other concerns about Apple’s business that do not relate to the App Store. Apple trying to interject Spotify’s relationship with musicians is whataboutism.
Overall, Apple’s response isn’t very convincing to me. There are still 2 fundamental problems with the App Store: exclusive distribution and exclusive payment. In that post from 8 years ago, I concluded with:
Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.
I think I’ve been proven right about this. This issue will never go away until Apple allows side-loading or makes it easier to let customers pay outside the App Store. In the meantime, I’ve been arguing for a 15% cut instead of 30% for all paid downloads and in-app purchase, which would go a long way to making this easier for developers.
Good luck to everyone entering the WWDC lottery! If you’re going to be in San Jose, hope you can make it to the Micro.blog meetup. Very likely Tuesday, 6/4. Details as we get closer to June.
Today’s Core Intuition is up, with more about Daniel’s new job and our thoughts on Spotify’s “Time to Play Fair” campaign against how Apple runs the App Store.
We just sent a Sunlit beta to testers. This new version of our photo-blogging app includes an updated UI, easier posting, and fixes a number of issues. It also simplifies and removes several features, such as the filter and photo editing interface. (We may bring some features back later, but it was important to get back to basics and improve the core user experience.)
If you’d like to try it, you can join the TestFlight beta here.
I’ve been waiting years for this. Bigger companies have finally had enough of Apple’s 30% in-app purchase tax. Spotify founder Daniel Ek writes about Apple’s restrictions on telling users how to upgrade to Spotify Premium outside the app:
As an alternative, if we choose not to use Apple’s payment system, forgoing the charge, Apple then applies a series of technical and experience-limiting restrictions on Spotify. For example, they limit our communication with our customers—including our outreach beyond the app. In some cases, we aren’t even allowed to send emails to our customers who use Apple. Apple also routinely blocks our experience-enhancing upgrades.
Spotify has a companion site TimeToPlayFair.com with more details, and they’ve also filed a complaint against Apple with the European Commission. (As a side note, I hope Spotify’s pursuit of fairness will also apply to how they treat the podcast ecosystem after acquiring Gimlet Media and Anchor.)
Apple’s anti-competitive behavior was also a theme of Ben Thompson’s Stratechery this week:
What is even more striking, though, is that the App Store does have a massive antitrust problem: it is not Apple unfairly competing with app developers, it is Apple unfairly imposing massive complexity and extracting 30% of revenue with its contractual requirement, enforced by App Review, that developers use Apple’s payment mechanism.
Now if only more indie developers would speak out about this, maybe we’d make some progress with Apple. As I’ve said many times: 15% for paid downloads and in-app purchase is reasonable for the value that Apple provides. Just as importantly, Apple should relax the rules against linking to web sites outside the store.
Today is the 30th anniversary of Tim Berners-Lee’s proposal for the world wide web. Reflecting on the web’s success and the new challenges, he writes:
Against the backdrop of news stories about how the web is misused, it’s understandable that many people feel afraid and unsure if the web is really a force for good. But given how much the web has changed in the past 30 years, it would be defeatist and unimaginative to assume that the web as we know it can’t be changed for the better in the next 30. If we give up on building a better web now, then the web will not have failed us. We will have failed the web.
I believe this. The goal of Micro.blog is to make the web a little better. Let’s get back to what made writing and sharing photos online such a wonderful experience, and get away from the problems of the massive social network platforms that dominate so much of our activity online.
We’ve been wrapping up Sunlit 2.4. In addition to fixing a bunch of bugs, we’ve updated the tabs and simplified everything about creating new photo blog posts. I think it’s a big improvement. Coming to TestFlight soon.
Great blog design from Mike Haynes, customizing one of the default Micro.blog themes. There is a lot of power here now that we’ve opened up the Hugo templates.
This week’s Micro Monday episode features Gabriel Santiago. Finding joy again in blogging, staying off Facebook, and the community experience on Micro.blog.
Micro.blog can now import blog posts from Medium. You can request a .zip archive of your content from Medium.com, then go to Posts → Import on Micro.blog to upload the file.
Because Medium no longer supports custom domain names, we don’t think it’s a good long-term solution for blogging. If you still want to reach your Medium followers, you can enable cross-posting from any blog to Medium in Micro.blog by clicking Account → “Edit Feeds & Cross-posting”.
Micro.blog does a few things to make transitioning from Medium to Micro.blog hosting easier. Just like the WordPress to Micro.blog import, it automatically downloads any photos referenced in your posts and stores them on Micro.blog. It also cleans up the posts a little, while preserving most of the original HTML. Of course it also sets post titles and published dates.
SXSW is underway in Austin, which means it’s time to mark the anniversary of my blog. 17 years ago today I started blogging on manton.org. Radio Userland → Movable Type → WordPress → Micro.blog. Still my favorite place to write.
I love this video from WordPress. Very similar in style to what I always imagined we could do for Micro.blog.
Brent Simmons has a good list of Marzipan questions. The one I’m slightly worried about is whether we can ship Marzipan apps outside the App Store. Other limitations will improve with time, but closing off distribution is a deal-breaker for me.
So many great podcasts. I’ve thrown out any structure in how I choose what to listen to. I just have a “Latest” playlist in Overcast with the recent episodes across all podcasts at the top. Tap on a few episodes that look good, depending on my mood.
Seems about once a year there’s a new story about the last Blockbuster. We loved visiting Bend a few years ago, but didn’t know about the Blockbuster. Fun that the store is becoming a sort of tourist attraction.
There’s no Homebrew Website Club in Austin tonight. We’ll regroup in April. (Thanks again to everyone who made it to IndieWebCamp Austin! Seeya next time.)
Some great basketball tonight: Spurs holding on with a 1-point win over the Nuggets. Pelicans close game in Utah. And still underway, the Lakers first of 2 must-win games against the Clippers. 🏀
Vincent Ritter has more iOS invites for his Micro.blog app. He’s also looking for Android testers.
I’m the guest on this week’s Micro Monday, answering questions about Micro.blog.
There was a session at IndieWebCamp Austin about broken links and archiving web sites. As part of the discussion, Tantek mentioned how he saves all his blog posts and tweets to the Internet Archive as part of his posting workflow. I’ve just added a setting like that to Micro.blog under Posts → Design:
This is off by default for now, but if you enable it, any new posts will be saved to the Internet Archive automatically. It waits about 5 minutes before saving them just in case you have any last-minute edits.
I still want to do more with archiving. As amazing as the Internet Archive is, I don’t think we should count on it to have a complete archive of the web. But this is a simple feature you can enable in your blog if it’s hosted on Micro.blog, and we can expand it based on feedback. (For example, maybe archiving pages you link to as well.)
I’ll be the guest in the next Micro Monday, catching up with @macgenie on recent Micro.blog improvements and answering your questions! Let us know if you have any questions or topics to cover.
I added a help page with an introduction to IndieAuth for Micro.blog developers. This is best for web apps and desktop apps where the user is often already signed in.
Thinking about our Micro.blog APIs after IndieWebCamp Austin. There are a lot! Probably not even a complete list: RSS, JSON Feed, MetaWeblog, Micropub, ActivityPub, Microformats, WebSub, rssCloud, Webmention, IndieAuth, and now Microsub.
Wrapping up the first day of IndieWebCamp, Aaron Parecki is live-coding a simple blogging engine to demo social readers. Great example of the IndieWeb building blocks and interoperability between services.
Excited for IndieWebCamp tomorrow. If you’re disappointed in modern social networks and looking for what’s next on the open web, I hope you’ll join us at Capital Factory in Austin. More details and registration here.
First time at Capital Factory? Look for these doors tomorrow inside the building lobby. You can still register for IndieWebCamp here. $5 or free when you blog about the event!
IndieWebCamp starts tomorrow. I’m downtown this morning, heading over to Capital Factory to do a walk-through of the venue and make sure we’re all good for the weekend.
Writing a post today that links back to one of my blog posts from 2003! Love it when that happens. You never know what ordinary blog posts today will take on new significance 15+ years from now.
Doors open for IndieWebCamp Austin at 9am on Saturday. We’ll have coffee and breakfast tacos. Full schedule and registration details: 2019.indieweb.org/austin ☕
We just posted Core Intuition 361. Looking forward to IndieWebCamp Austin and talking about whether new Marzipan rumors will influence our plans this year.
This week’s Micro Monday features Tom Cutting of Stickman Diaries. “One of the things I like about Micro.blog is that I don’t feel like I’m performing. If somebody likes it, they like it. I’m doing it really for myself, as a record of things.”
Got to see a few things in Fort Worth with family over the weekend. Great to have some time to explore instead of just driving through.
IndieWebCamp Austin is this weekend! You can still register here.
Just posted the new Core Intuition. More about WWDC travel, IndieWebCamp Austin, and Daniel considering dropping Blogger from MarsEdit.
IndieWebCamp Austin is coming up in a week at Capital Factory. Bunch of IndieWeb-related things I want to think about for Micro.blog that weekend. Everyone’s welcome!
I’ve been saying Apple’s 30% cut is too high for 10 years, so it won’t surprise anyone that I think a 50% cut for subscriptions in Apple News is also ridiculous. It’s completely out of line with the value Apple could provide to news organizations.
I was already making WWDC plans for June 3rd, so it’s nice to see MacRumors uncover clues that it’ll be that week. But Apple could minimize the chaos with hotels by announcing dates much earlier. There are a lot of wasted temporary reservations.
Sorry @coreint was late this week! But there aren’t many tech podcasts on the weekend, so now there’s something to listen to. It’s a good one: Daniel’s trip to Paris, thinking about WWDC, Spotify acquisitions, podcasting, and crowded Apple Stores.
I heard back from Medium, and cross-posting from Micro.blog is now re-enabled on our developer account. But you’ll need to go into Account → Edit Feeds and add it again. Whew!
Sent another update of Sunlit to beta testers. We’re working on a major update that simplifies the UI and adds new features, but want to wrap up these bug fixes first.
IndieWebCamp Austin is in 2 weeks! Whether you’re a blogger, developer, designer, or just want to learn more about the independent web, hope you can join us. Registration is just $5 or free if you blog your RSVP to the event.
Sent an update to Kickstarter backers earlier this week about sending out M.b stickers. It has been fun to pick stamps. This photo when @macgenie and I were preparing envelopes last week shows a couple of the international stamps.
Today Substack announced support for sending audio episodes in email newsletters:
Subscription podcasting through Substack works in the same way as publishing newsletters. Once the feature is enabled, you can create an audio post that is just like a normal post and can go out to everyone or only to subscribers. After receiving the post by email or accessing it on the web, subscribers can listen to the audio through the Substack web player.
This looks like a great feature for Substack customers, but it’s not a podcast. As the podcasting industry grows, with everyone trying to monetize podcasts or build new businesses around podcasting, it’s really important that we keep using the right words to describe it. A podcast has to have a feed so that it’s available in podcast players like Overcast, Castro, and Apple Podcasts.
Michael Zornek said it well earlier this week after Spotify acquired Gimlet and Anchor:
It is not a podcast unless there is a RSS feed.
I’m not splitting hairs about this. If we accept calling “any audio on the internet” a “podcast”, we undermine what makes a podcast unique: not just the convenience of delivering audio directly to your device, but the openness that ensures that podcasts work in a variety of players, without a single company with too much control trying to lock down the format.
Luckily, I think the Substack folks probably know this. In their announcement post, they also added:
We may soon add the ability to add a private feed of episodes to podcast players, but we like the web solution for now. (Give us your feedback, etc.)
Here’s my feedback: please don’t call it a podcast until you have the feed ready, whether it’s a private feed or public. When we added audio uploads to Micro.blog, we had full podcast feeds and everything was available from your own domain name. The web will be better if we encourage the same support of open formats in all new platforms.
For the last few weeks, Micro.blog has been running with support for both Jekyll and Hugo templates on the backend. Now that we’ve switched everything to Hugo, I get to remove a bunch of unused code! Nice to cut stuff out and simplify.
We’ve been working through bugs in our iOS photos app Sunlit for the upcoming release. If you want to get the latest version, you can join the TestFlight beta here. Thanks!
Homebrew Website Club is 6:30pm at Mozart’s Coffee tonight. We’ll be talking about final plans for IndieWebCamp Austin. Registration for the Feb 23-24 event is open now.
I’m the guest this week on Internet Friends! I love how this episode turned out. Thanks to Jon and Drew for having me on the podcast.
We’re changing the official Micro.blog user accounts so that they are easier to follow. It used to be that everyone automatically followed @help, where we posted occasional announcements. From now on, @help will mostly be used for replying to questions, with a new default account @news.
You can unfollow @help if you don’t want to see those replies in your timeline. New users will no longer automatically follow @help.
Here’s a summary of the different accounts and blogs:
And for the Micro.blog team:
In addition, Micro.blog user @simonwoods maintains 2 blogs with updates about Micro.blog and “Today I Learned” for tips:
Email is still a great way to get an answer to a question, but by splitting out these accounts we can be more responsive on @help as well. I think this setup will work better as the community grows.
Thanks to Colin Devroe for interviewing me on his blog! We talked about Micro.blog’s focus in 2019, third-party apps, why there’s a return to blogging, and much more.
We released version 1.5 of the Micro.blog app for iOS today. In addition to a couple bug fixes, it lets you pick a category for new posts. You can create categories on the web under Posts → Categories for blogs hosted on Micro.blog.
Tap the gear icon when composing a new post to view your categories:
I still can’t believe it’s February! IndieWebCamp Austin is coming up in just a few weeks. You can register here for $5. It’s a great time to learn more about the open web or get help with your own site.
I’ve posted a 6-minute screencast video on YouTube explaining much more about how custom themes work in Micro.blog, using the example of copying a theme from GitHub and editing the templates.
Fixed posting from IndieWeb-compatible apps (such as OwnYourGram or IndieBookClub) if they sent categories along with the new post. I didn’t realize that OwnYourGram will automatically convert Instagram hashtags into blog post categories. Neat!
Had a great few days with @macgenie in Austin (and @cheesemaker too!) talking through plans for Micro.blog in 2019. The platform is better now than it was a year ago, and it’s exciting to think how much we will be able to improve this year. Thanks everyone!
We are launching several major new features for blog hosting on Micro.blog today. Any one of these features alone is a big change, and together I hope they will serve as a great foundation for years to come. The goal was to make blog hosting faster and more flexible for new features.
Custom templates: All the themes have been rewritten with extensibility in mind. As some of you may know, Micro.blog-hosted blogs were originally built on Jekyll. They now use Hugo. There’s an interface in Micro.blog for editing any of the built-in templates, or adding new ones for your own HTML or CSS. Click Posts → Design → Edit Themes.
Categories: You can create a new category for your blog under Posts → Categories, and those categories will appear when editing a post or when creating a longer post with a title. We hide the category options be default when you are composing a short post, but in the new macOS app you can show the categories by choosing View → Categories. A list of your categories will appear at the top of Archive on your blog for readers to browse.
Auto-filter photos into a category: If you create a category like “Photos” or “Photography”, Micro.blog will offer to automatically assign this category when posting a new photo. Behind the scenes this is based on a new filtering system that will enable more features for other types of content in the future.
API for categories: I’ve added categories support to both the MetaWeblog XML-RPC API and the Micropub API. This means that categories work great with MarsEdit. Categories are also included in your default JSON Feed in the “tags” field.
Sharing themes: When creating a new custom theme, you can choose to clone it from an existing GitHub repository. This will allow someone to create a completely custom theme and share it with other members of the community. There’s a “Blank” design if you are starting from scratch with your own templates.
New theme: I used the open source theme Arabica when testing these new features, and it’s now an option under Posts → Design. It’s a clean, simple design ported from Ghost.
Open source changes: All our themes for Micro.blog are available on GitHub. I have decided to keep the forked Jekyll repositories and completely replace the files with the Hugo version. I have mixed feelings about this, since the themes have diverged so much that they are no longer useful to the original authors, but I felt this was the best way to give credit to them for the designs, in addition to our credits page on Micro.blog.
Moving special pages: Micro.blog has some special pages like “About” and “Archive”. You can now re-order or even delete these under Posts → Pages. Combined with custom themes, this gives much more flexibility in customizing the navigation for your site.
We’ll be writing more about these new features in blog posts and the help site. If you notice any problems, please let me know. Thank you!
“What’s Up Danger” from the Spider-Verse soundtrack is a great song to put on repeat when deploying server changes.
If it seems like I’ve been a little quiet lately or slow to reply to email, it’s because I’ve had my head down writing a whole bunch of new code. I’m going to take M.b down for 1-2 minutes on Saturday, midnight CST, ahead of some major new blog hosting features for next week.
There’s an update to Micro.blog for macOS today with improvements to switching between Dark Mode on Mojave.
Still can’t believe that pass interference no-call in the Saints game. Hard to imagine anything more obvious or more decisive on the outcome of a game. Disappointing. 🏈
Posted the latest Core Intuition with a discussion of Dark Mode, maps in DuckDuckGo, and some optimism for Apple expanding their web services.
Speaking of Android, I’ve added a link to Dialog from the Micro.blog “New Post” page. Plus new app icons!
Nice update from Vincent Ritter on his upcoming Android app for Micro.blog, Gluon. Looking good!
Registration is open for IndieWebCamp Austin. February 23-24.
It’s become a tradition during WWDC that I always head out to the Presidio on Sunday to have lunch and visit the Walt Disney Family Museum. Looking forward to this exhibit of Mickey Mouse drawings curated by Andreas Deja.
We’ve got a new help site! Special thanks to @paulrobertlloyd for the redesign. Love the new search box.
What a game. Spurs get the win over the Thunder in 2 OTs. All sorts of records in this one. Spurs start with 14 3s in a row, then Aldridge finishes the game with 56 points. 🏀
On today’s Core Intuition — the tech and business podcast pretending to be a developer podcast — @danielpunkass and I talk about whether Apple is leaving their core values behind as they grow into services and media, plus an update on Black Ink for iOS.
Homebrew Website Club is tonight in Austin! 6:30pm at Mozart’s Coffee. Join us for a coffee and chat about the IndieWeb and plans for IndieWebCamp Austin. (Which will be February 23-24… Registration open soon.)
We’ve been playing Catan this weekend. I love the design and how balanced the game feels. Nice way to spend some time as the holiday break winds down for the kids.
DeRozan gets the first triple-double of his career against his old team. Kawhi gets boos. I had hoped the crowd would give him a better reception… But a great win. I love how well DeRozan fits on the Spurs. 🏀
We’ve extended our holiday giveaway through this weekend. If you invite someone to Micro.blog, they’ll get 3 free months of blog hosting.
Sorry for the late notice — no Homebrew Website Club in Austin tonight. Because of the holidays and weather, we’re pushing the meetup to next week. Jan 9th, 6:30pm at Mozart’s Coffee.
Dialog for M.b got a major update for the new year, including a new posting screen. Available as a public beta in Google Play.
Very cold and rainy day in Austin as it’s starting to feel like 2019 is really here. I’ve been wrapping up a new foundation for themes and customization on M.b that I can’t wait to share.
Walked by this abandoned toy store the other night. I guess they keep the lights on long after the place is empty and the letters removed.
After living here forever and visiting a new coffee shop every day for a month a couple years ago, it’s not often I find a new place… Working at Irie Bean Coffee Bar while in south Austin for a bit.
We really loved Mary Poppins Returns and Into the Spider-Verse. This Spider-Man is stunning — my favorite Marvel adaptation. And don’t miss the blog post about Mary Poppins from Floyd Norman, who worked on the original film 54 years ago.
For the last Micro Monday of the year, @macgenie edited together 10 clips from the previous 40+ episodes in 2018. This is a great intro to Micro.blog and the podcast.
Worked on some performance improvements for external blogs this morning. RSS and connection errors are also now reported on the web to help troubleshoot feed problems.
We can come up with all the specialized names we want — photo blogs, link blogs, travel blogs, microcasts — but sometimes it’s just a blog. To wrap up the 12 days of microblogging series, let’s talk about blogging.
Blogs can be news sites, corporate sites, travel sites, photo sites, tech sites, and personal journals. They are usually written in an individual’s voice. Readers want to keep visiting a blog because there’s a story, unfolding with each post. The passing of time is a fundamental element to what defines a blog.
This emphasis on time is even more obvious for microblogs. Because short posts are easy to write, there are more of them. But Micro.blog hosting supports any post length: short microblog posts like tweets, or full blog posts with multiple paragraphs and a title.
Micro.blog is a full blogging platform, so it has support for traditional blog editors like MarsEdit on macOS. You can import an archive of posts when migrating from WordPress. Because Micro.blog posts are full blog posts, they support editing, using Markdown or HTML, and natively have RSS and JSON Feeds. They support features you would never expect on a social network, like using a custom domain name or uploading a PDF.
But along with this blogging foundation, Micro.blog tries to learn from the user experience of social networks. Can we make blogging much easier, so that it’s your primary home on the web, and the first place you think to post? There are still many improvements we want to make so that the platform is easier to use and more consistent, but I think the last year has shown that the answer is “yes”. Blogging can be easier, and if it’s easier, more people will do it. And if more people are blogging, we can start to find our way out of the problems created by massive social networks.
That wraps up our 12 days of microblogging series. You can find links to all the posts on the help site.
We’ve seen a lot of people use their microblog as a daily log to track activities, from running or cycling routes, to meditation or posting photos of food. Some apps even make this easier, like indiebookclub.biz for sharing reading progress in a book.
In 2016 when I visited a different library in Austin every day, I found that the microblog format is helpful to stick to a routine. It becomes part of the day, knowing you need a quick post to your blog to record the visit or activity. Encouraging this kind of posting consistency is also why we have special pins you can unlock, such as the “Photo Challenge” pin after posting a new photo each day for a week.
For the last 11 days I’ve been writing about the way people are using Micro.blog: custom designs, microcasts, photo blogs, and more. You can find the rest of the posts in this 12 days of microblogging series over on the help site. Tomorrow we’ll wrap up with a final post.
I woke up this morning, picked up my phone like I always do — to make sure that Micro.blog servers hadn’t quietly burned to the ground in the middle of the night — and the first thing I saw was a notification about Apple’s new campus in Austin. Here’s John Voorhees writing about it for MacStories:
At the center of the announcement though is a new facility that will be located in North Austin not far from Apple’s current Austin campus. The new office will cost over $1 billion to build and sit on a 133-acre site, 50 acres of which will be set aside for open space. Initially, the Austin campus will house 5,000 employees, with the ability to expand to as many as 15,000. The new complex will run on 100% renewable energy too.
I love the contrast to Amazon’s over-hyped search for a 2nd major campus. Apple made a decision and announced it, without leaving the world hanging for months. While Apple has always had other smaller offices outside Cupertino, it’s great to see such a significant new commitment in other parts of the country.
Does anyone know the location for the campus yet? Near the current campus in Austin there are huge stretches of undeveloped property — old ranches that you can see along Parmer Lane or from the other side when taking the train from Lakeline Station. For years I’ve dreamed that this area could be preserved somehow as a park, not just eventually overrun with condos and restaurants. I’m excited that Apple is setting aside 50 acres of the new campus for open space. I hope they consider expanding that even more.
Update: This KUT article has a map of the planned campus.
Very nice design customization to the Kiko theme on Micro.blog by Kahlil Lechelt.
It’s the 10th day of our 12 days of microblogging series, and today we want to highlight some of the authors who are using Micro.blog. Last month was National Novel Writing Month, and many posts about NaNoWriMo were collected in a special section of Discover on Micro.blog. Congrats to everyone who participated!
Serena finished the month with 50,344 words. Cheri Baker posted updates about her writing and announced her new novel. And for non-fiction, Rosemary Orchard has a new book about OmniFocus.
Josh de Lioncourt is another member of the community who has participated in NaNoWriMo. He joined Jean earlier this summer on the Micro Monday podcast. On Halloween this year, Josh recalled his first NaNoWriMo from 2013:
I’d promised myself that if I finished chapter one that night, I’d continue writing the rest of the book throughout the month of November as a NaNoWriMo project. As it turned out, I did finish chapter one. The next day I wrote chapter two, and by the end of November I had nearly sixty thousand words, fifteen chapters, and about one-third of what would become Haven Lost written in first draft.
We love books and want to do more to support writers. As I wrote about at the beginning of the year when introducing the emoji collections, we started with books:
Today we’re introducing a search collection using emoji, starting with books. Just include ? with your microblog text about a book you’re reading or related topic, and your post will automatically be collected on /discover/books.
For more posts in this series, check out our help page.
For the 9th day in our 12 days of microblogging series, we want to talk about developer blogs. Most developers on Micro.blog use their blogs like everyone else — posting photos, sharing stories, recording a microcast, or linking to articles they’ve read — but some developers use the microblog format as a programming journal, writing about coding problems and eventual solutions through a series of posts.
Brent Simmons helped popularize this format in the iOS developer community back in 2013 when he published 16 posts while working out how to implement syncing. I’ve noticed at least a few developers adopt a similar format during the development of Micro.blog third-party apps, such as Isaiah Carew working on Kiwi earlier this summer, Vincent Ritter on Gluon, and Mike Haynes designing Dialog.
Blogging is a great way to work through an idea. When you take time to write a few sentences or paragraphs about an opinion on almost any topic, you’ll find that you have a stronger understanding of it by the time you hit publish. It can be the same way for a programming challenge.
There have already been 8 other posts in this series, and we link to all of them over on the Micro.blog help site. Three more posts to go this week to finish out the 12-post series!
Micro.blog’s default design for hosted sites is based on an original theme that shipped with Jekyll. It is very plain, but works well on desktop computers and mobile devices. It’s also pretty easy to customize.
I recently set up the new Micro.blog news blog and wanted to apply a few minor improvements to the design: adding a logo to the header and fixing how cramped the quoted text looked. To add a logo to the header, you can use CSS to shift the text to the right, making room for the logo, and then add the logo as a non-repeating background image.
Here’s what my custom CSS looks like:
blockquote {
letter-spacing: -0.5px;
line-height: 1.6;
}
.site-title {
background-image: url(https://help.micro.blog/assets/images/icons/ios/icon-60.png);
background-size: 30px 30px;
background-repeat: no-repeat;
background-position-y: 12px;
padding-left: 40px;
}
You can edit the custom CSS for your blog by clicking Posts → Edit Domain & Design → Edit CSS. I also posted during out 12 days of microblogging series about other custom designs from Micro.blog users.
Upgraded from Ruby 2.3 to 2.5 this morning and it appears to have completely fixed some issues I was having with Sidekiq processes unexpectedly quitting.
It’s the 8th day in our 12 days of microblogging blog post series. Most Micro.blog accounts use the author’s name — personal blogs, writing about everyday topics or sharing stories and photos. But since Micro.blog-hosted blogs can have a custom design, separate pages, and a domain name, you can also have a microblog for your business, or use it as your main web site.
Because one of the goals of Micro.blog is to encourage people to post to their own blog more often, using a blog for your business site can also help keep it up to date, so that when customers visit there is recent news or product updates. The Omni Group has taken this one step further for their microblog at microblog.omnigroup.com, posting not just links to new software releases and screenshots of features, but also fun stuff like what they’re having for lunch at the office and cat pictures.
For Micro.blog, we realized recently that we were missing a company blog. We have the help account and we have my personal blog, but not everyone should have to follow me to get important news such as the latest iOS update or even the blog post series you’re reading now. So today we’re adding a new blog: news.micro.blog.
This new microblog will mostly link to other blog posts from me or Jean or Jon, as a way of collecting everything in one place. As we expand it, we’ll integrate it into the help site and Micro.blog home page.
Previous posts in this series included topics like podcasting, photos, travel blogs, and sharing your content to other social networks, which is particularly useful for business blogs. See the full list here.
For the 7th post in our 12 days of microblogging series, I want to talk about linkblogging. Micro.blog users have a variety of approaches to posting links on their blog. Some people read an interesting article and type in a summary of it, pasting in the URL to the full article, and some people prefer quoting a portion of the text directly in their microblog post.
I blogged a couple of years ago in detail about the technical approaches to links in RSS and how linkblogging has evolved, using examples from Dave Winer and John Gruber:
Instead of just including a URL, authors use a quote from the linked material as the foundation for the post. The majority of Daring Fireball posts adopt this format. While John Gruber is known for his full essays, those longer posts are infrequent today. He keeps his site active by linking to other interesting essays and tacking on his own brief opinion.
Posts on Micro.blog are formatted with Markdown. If you’re reading a web page on iOS, you can share it to the Micro.blog app to automatically fill in the basic structure of a post, leaving the cursor at the beginning of the post to add your own thoughts.
In the screenshots above, I’m sharing from Safari on iOS. Micro.blog adds a Markdown link back to the original post with the web page title. Or if there’s text selected, Micro.blog includes that text as a quote.
Note that Micro.blog will truncate posts in the timeline when they are over 280 characters. For a longer quote, it’s best to give you microblog post a title, turning it into a full blog post.
Previous posts in this blog post series covered photo blogs, microcasting, travel blogs, custom designs, artwork on blogs, and more. Check out the full list on our help page.
I love road trips and travel blogs. We have a family blog that we started a few years ago, adding new daily posts for summer vacations with the kids and other trips. A blog is a great way to combine text and photos to remember a trip, with the flexibility to keep it for yourself or share it on social media.
For the 6th day of the 12 days of microblogging series, we wanted to highlight 2 travel blogs using Micro.blog. Mary Hatfield writes on her microblog with incredible photos of trips across the United States and even to Antarctica:
When we woke up this morning we were in the Neumayers Channel (below Anvers) located on the western side of Wiki Island ready to take the zodiacs onshore. The weather was quite perfect this morning and it was our turn […] We walked across the fresh blanket of snow to the Damoy Hut, which was built in 1975 and kept in use until 1995. It has now been restored to its original form and is used as a museum. The land here was an airstrip that enabled personnel and stores arriving by ship to be flown on to Rothera Station in early summer when sea ice prevents dirt access to the station by ship
Arin Mearig kept a daily blog for a 3-month trip to Switzerland, posting photos every day with captions for people she’s met and places she’s visited. From day 34:
quick recap - left the house at 5am, went to 4 cities, hitchhiked for the first time, went on buses, trains, cable cars, and a funicular, ate a delicious burger, saw some of the greatest views ever, and just walked in the door at 10:45pm
I’m inspired by these blogs to write more while traveling. Consider capturing some of your next trip on an existing blog or new microblog.
See this help page for previous posts in this serious, covering topics like photos, microcasting, custom designs, and more.
Preparing today’s blog post about travel microblogs and getting lost in people’s incredible photos of their trips.
Love the way the Spurs finished this game against the Lakers tonight. First of 6 games at home, might be the turning point to climb back into the playoffs picture. 🏀
It’s day 5 of our 12 days of microblogging series. Yesterday I highlighted what Micro.blog users are doing to create unique custom designs for their blog. Today we want to highlight how artists are using Micro.blog to showcase their work.
I’ve loved seeing the drawings from Audra Ann Furuichi, who posts web comics and illustrations on her own site. Sky Sandison has sketches from around Edinburgh, Scotland. And Mike Hendley shares digital paintings as he works through them on his iPad.
Plus there’s great sketchnotes from Mike Rohde and Ben Norris, including one by Ben about my talk from Peers Conference earlier this year.
October was also Inktober, with many bloggers posting sketches to their microblogs every day. We have a special section of Discover for Inktober that collects many of those posts together.
While the iOS apps for Micro.blog are designed around JPEG photos, you can use Micro.blog on the web to upload other formats like PNG and GIF, which might be more suitable for illustrations. Just click Posts → Uploads.
Showcasing artwork on Micro.blog uses many of the same features as photo blogs, which I wrote about on day 2 of 12 days of microblogging. For previous posts in this series, check out our help page on Micro.blog.
It’s day 4 of our 12 days of microblogging series. Today we want to highlight how Micro.blog supports blog themes and what people can do to give their blog a unique design.
There are 3 ways to customize your microblog:
Pick from one of the default 7 themes. These themes are based on existing designs using the Jekyll blogging framework, but modified to work consistently with Micro.blog. We’ve open-sourced all our changes to these themes on GitHub.
Edit the custom CSS for your blog. I’ve been really impressed with what creative Micro.blog users have come up with. You can use CSS to change colors, fonts, hide elements, and more. Here are a few examples from Kitt Hodsden, Michael Barrett, and Khaled Abou Alfa.
Add a custom footer. The footer HTML is a good place to put extra information or JavaScript.
If you have any questions about using CSS, ask in the #design channel on Slack. And if you have any tips, write about it on your blog so that others can learn from it. I’m currently working on a major upgrade to the themes on Micro.blog that I can’t wait to share more about.
Previously in the 12 days of microblogging series, I wrote about microcasting, photos, and using your own blog as a home base.
For the 3rd post in our 12 days of microblogging series, we want to highlight how Micro.blog can serve as your social media “home base”. By centralizing your writing, photos, and other web pages at your own domain name, you can control your content but still share it out to other social networks.
Micro.blog has cross-posting for Twitter, Medium, LinkedIn, Facebook, and Mastodon. This feature is available for free if you host your site on Micro.blog, or $2/month if your blog is hosted elsewhere. It includes automatic posting to all 5 of those social networks and any new platforms we may add later.
Here’s how I personally use this feature. I never post directly to Twitter. I publish short posts on my own blog, and Micro.blog automatically sends them to Twitter and other networks. Occasionally I’ll sign in to Twitter and check if I have any @-mentions that need replying to. This way I can avoid the distraction of the Twitter timeline and focus on adding content where it’s most important to me: my own site.
With Mastodon, you have another option beyond cross-posting. Because Micro.blog supports the ActivityPub API, Mastodon users can follow your Micro.blog-hosted blog and you can follow and reply to Mastodon users directly in Micro.blog. I posted more last month about how this works and why it uses your own domain name:
Sometimes in the Mastodon world your identity can get fragmented across multiple instances. You might start on mastodon.social but then move to another instance, effectively breaking the link between your readers and your posts each time you move, with no way to migrate posts between instances. By supporting Mastodon and ActivityPub in Micro.blog, you can consolidate your identity and posts back to your own blog at your own domain name.
Your blog is also a great place to centralize your photos, while still integrating with Instagram and these other social networks. Instagram doesn’t allow automatically posting from your blog to their service, but you can use OwnYourGram or our Mac app to copy Instagram photos to your blog, and from your blog to everywhere else. More links in yesterday’s post.
For details on how cross-posting works — and the extra rules Micro.blog uses to make sure that your posts look good on other networks — see this help page. Happy cross-posting!
Good morning, Austin! Tonight is Homebrew Website Club, 6:30pm at Mozart’s Coffee. We’ll meet at a table outside to talk about the IndieWeb, plan for the upcoming IndieWebCamp Austin, or work on your own web site.
Yesterday we started the 12 days of microblogging blog post series to mark the 1-year anniversary of the public launch of Micro.blog. I posted about making it easier for people to share their stories in audio form with microcasting. Today I want to highlight photoblogging.
Sharing photos is an important part of Micro.blog. I put a custom photo picker and filters in the original Micro.blog iOS app to encourage everyone to post photos to their blog, so that you end up with a great collection of your best photos at your own domain name. Because photos are square by default, they look great in the Micro.blog timeline, and with cross-posting Micro.blog can attach photos to your tweets or send posts to other social networks.
We also have a companion iOS app just for photos called Sunlit. It has an Instagram-like timeline for browsing photos from your Micro.blog timeline, with the focus around blogs that I wrote about in my preview post as we were relaunching Sunlit 2.0:
To play nicely with microblogs, we introduced a new post type in the app for single photos. For longer posts, you can still collect multiple photos together, add text, and post them as a story directly to your blog.
Some people on Micro.blog focus almost exclusively on posting photos, like Robert Brook. Some people have even created separate blogs just for their photos at their own domain name hosted on Micro.blog, like burk.photos. There’s a special section of Discover that features photos from more Micro.blog users.
A couple of weeks ago, Jonathan LaCour on Micro.blog submitted a feature request for a photos JSON Feed. He used this feed to build Microgram, a snippet of HTML that you can paste into your blog to provide a grid of photo thumbnails. You can see my photos page at manton.org using Microgram in this screenshot:
One of the most common questions we get is how to migrate photos from Instagram to Micro.blog. I think we have 2 really good options for this:
I hope you enjoy posting and browsing photos on Micro.blog! Tomorrow I’ll have the next post in the 12 days of microblogging series.
Some of y’all noticed that Micro.blog was slow or not responding this morning. Sorry! I explain why on today’s episode of Timetable.
Thanks everyone for the congrats and feedback about the last year of Micro.blog! Coming up today, another post in our 12 days of microblogging series. Also a chance that the new iOS version is approved.
One year ago today, after months of feedback from Kickstarter backers, we opened up Micro.blog to the public. In that time, we’ve watched the community grow, seeing more folks than ever writing on their own blogs while sharing in the Micro.blog timeline and participating in conversations. We are proud of maintaining our commitment to a safe community space where harassment is not tolerated while promoting independent blogging.
We’ve also added a lot of functionality to the platform during this first year. To mark the anniversary, we are highlighting 12 features of Micro.blog over the next 12 days. We’re kicking off the 12 days of microblogging with a major hosting feature that rolled out earlier this year: microcasting.
What are microcasts? Just short podcasts. A major idea behind Micro.blog is that if blog posts are shorter and easier to post, more people will stick with writing on their own site every day. Podcasting should be easier too.
As I wrote when announcing microcast hosting and our companion app Wavelength:
Everyone has a story to tell. Whether that’s through short microblog posts, longer essays, photo blogs, conversations with friends, or now through podcasts, I hope that the Micro.blog platform and suite of apps can help.
I’ve been so excited to see new podcasts launch on Micro.blog, including our very own Micro Monday hosted by Jean MacDonald. For today’s episode, Jean interviews long-time blogger and Mac developer Brent Simmons about his podcast The Omni Show and working on the new NetNewsWire feed reader.
You can find recent episodes from a variety of microcasts in the Discover section of Micro.blog. Also check out Microcast.club, a directory of microcasts. Get started with your own microcast with this help article and join our Slack community where the friendly folks in the #microcast channel can help with questions.
Tune in tomorrow for day 2 of our 12 days of microblogging series.
Having fun wrapping up the next iOS version of Micro.blog with @cheesemaker. 3-4 new features that add up to a very nice release. I’d love to ship it Monday for the official 1-year anniversary of the public launch of Micro.blog.
Great to see Apple Music coming to the Echo (noticed via MacStories). This is kind of an “iTunes on Windows” moment. Makes business sense, but still surprising.
With the midterms and now the near-daily Mueller investigation news, I’ve fallen back into reloading The New York Times home page throughout the day for no reason. Gotta stop this. I already see everything in my RSS reader or Micro.blog timeline.
Sunlit 2.3.1 is now available in the App Store. If you’re interested in posting more photos to your own blog, check it out. It’s a free app and works well with Micro.blog.
There’s a nice feature on RSS apps (best viewed on iOS) in the App Store today.
Posted a new Timetable with a few updates on Sunlit, the updated help.micro.blog home page, and when to upgrade servers.
Haven’t actively used EC2 in a while, but wanted to check out the pricing after this week’s announcement that Amazon is making their own CPUs. On first glance, the “a1” instances don’t look cheaper. Maybe it’s not right to compare them directly to comparable “t3” instances?
Hi Austin! NSDrinking is tonight, 8pm at Radio. Join us for a chat about Apple development over a coffee or beer. ☕🍻
Sent the latest Sunlit 2.3.1 build to beta testers. Anyone can now join the beta with this link.
There’s a really good follow-up about the App Store monopoly in today’s Stratechery daily update. Focusing on in-app purchase (digital goods) paints a very clear picture of why Apple’s rules need to change.
Good news for Sunlit users: @cheesemaker tracked down that crash that had been eluding us and we have a fix ready to go this week. Waiting for Apple to approve it.
Congrats to Supertop on selling Castro to Tiny. Sounds like a good partnership for them to focus on Castro design and development.
Excellent article today from Ben Thompson. After laying out in detail why Apple has a strong argument in yesterday’s Supreme Court hearing, Ben moves to the larger question of the App Store monopoly:
To put it another way, Apple profits handsomely from having a monopoly on iOS: if you want the Apple software experience, you have no choice but to buy Apple hardware. That is perfectly legitimate. The company, though, is leveraging that monopoly into an adjacent market — the digital content market — and rent-seeking. Apple does nothing to increase the value of Netlix shows or Spotify music or Amazon books or any number of digital services from any number of app providers; they simply skim off 30% because they can.
I’ve been saying for years that the 30% cut is completely out of line with the value that Apple provides to developers. Developers should be calling for a more fair 15% rate across the board for all apps, and more flexibility to sell subscriptions outside the App Store. As I wrote earlier this summer, it shouldn’t sit well with developers when Apple talks about billions in services revenue, at our expense.
This week’s Micro Monday podcast episode features @bitdepth. Films, photos, and early blogging. I just queued this up and I’m enjoying it!
Adjusted how Micro.blog sends replies to Mastodon to skip replies that don’t actually mention an ActivityPub user. Doesn’t quite seem correct, but probably the best choice for a less cluttered timeline.
Great morning getting a Christmas tree while my daughters are in town. This section of the farm in Elgin wasn’t quite ready.
Posted episode 351 of Core Intuition. Make sure to listen through the second half, where @danielpunkass and I talk about the future of MarsEdit and what our software’s role is in a crowded blogging market.
As I mentioned on this week’s episode of Micro Monday, we want to add category support to Micro.blog including a special section for photos. As a first experiment with a page for photos, I added a JSON Feed of your photos to all hosted blogs on Micro.blog yesterday at /photos/index.json. (It will be updated automatically next time you post to your blog.)
Jonathan LaCour wrote a JavaScript include called Microgram to take that feed and display a grid of photos. You can see it in action on my blog here.
We still want to do more on Micro.blog with photos, but this is a great solution that’s available today. And I think it shows off how JSON Feed makes these kind of integrations much easier. Thanks Jonathan!
New update to the Dialog beta is out this morning, a Micro.blog app for Android.
Trying out the beta of Gluon for Android, the first Micro.blog app developed for both iOS and Android.
I often say that Micro.blog is a success if more people blog. One of the most important goals is to encourage people to post at their own domain name. For more about why that matters and what I think Micro.blog’s role is among other social networks, see my post about the way out.
But we hear from a lot of people who want Micro.blog to succeed in more concrete terms as well. They want it to be a larger business that can hire more developers and curators. I want that too! Micro.blog is the most ambitious platform I’ve built and as it grows we will need more help scaling it.
If you believe in what we’re trying to do with Micro.blog, here are a few simple ways to support the platform:
We are approaching 2 important milestones: the 1-year anniversary of the public launch, and nearly 2 years since the Kickstarter. Micro.blog has improved significantly since then and it will continue to get better with your support. Thanks!
Josh Marshall of Talking Points Memo has written some good posts about Facebook this year. Here’s part of today’s post about trust:
Facebook’s core problem is that it was a platform based on trust. I don’t mean it acted in a trustworthy way. But it facilitated things that were at core about trust and relationships. So it was in the trust business, regardless of what its corporate culture may actually have been about. Having failed at that and not convinced people it’s trustworthy it now seems committed to a corporate version of acting out, going to war with its own stakeholders, whether those are users, investors, the governments of the countries in which it operates.
See also my post last week about breaking up Facebook and the eventual pushback against Facebook-owned Instagram.
I’m the guest on this week’s Micro Monday again to answer Micro.blog questions. Thanks everyone!
Over a week since launching support for ActivityPub in Micro.blog and I’m still learning more about how Mastodon tracks things. Fixed a couple issues this morning with usernames and internal URLs.
After a few loses on the road, great Spurs win over the Warriors tonight. The best they’ve played in a while. 🏀
Updated M.b this morning with several bug fixes and improvements, including better support for uploading file types like PNG, SVG, and even PDFs for your hosted blog. Click Posts → Uploads on the web.
It’s going to be a very busy day with errands, so got to the coffee shop before 7am to focus on some work first. ☕
Feel like listening instead of reading? I expanded on today’s blog post in audio form for my Timetable podcast.
We start this week’s Core Intuition by following up on the Mastodon integration in Micro.blog. From the show notes:
Manton reports back to Daniel about the first week after adding Mastodon integration to Micro.blog. They talk about the merit and necessity of spending time marketing after all the coding work we do. Daniel talks about his recent struggle implementing support for Google’s OAuth2, and finally they talk about Apple’s new Hardened Runtime and the associated app notarization service Mac apps that are distributed outside the Mac App Store.
It’s nice to hit episode 350, but I was just listening to ATP’s 300th episode today and realized that they have reached their milestone in about half the number of years that it took me and Daniel. We didn’t record very often in the early years, and even now usually miss a couple weeks here and there, so I expect ATP will eventually pass us up in total episodes. 🙂
Two related articles about Facebook this week. First, from a huge report in The New York Times:
But as Facebook grew, so did the hate speech, bullying and other toxic content on the platform. When researchers and activists in Myanmar, India, Germany and elsewhere warned that Facebook had become an instrument of government propaganda and ethnic cleansing, the company largely ignored them. Facebook had positioned itself as a platform, not a publisher. Taking responsibility for what users posted, or acting to censor it, was expensive and complicated.
The New York Times interviewed over 50 people for the story, and it shows. There are a lot of interesting behind-the-scenes stories, especially Facebook’s relationship with Washington, and more than I can quote here.
Second, an article from The Washington Post about early Instagram employees becoming disillusioned with the platform:
Three of the early Instagram employees, including Richardson, have deleted it — permanently or periodically, comparing it to a drug that produces a diminishing high. One of the people said he felt a little embarrassed to tell people that he worked there. Two of the other early employees said they used it far less than before.
This is why I don’t ever want to sell Micro.blog. I can’t imagine having to sit on the sidelines and watch with disappointment what it might become if it drifted away from its mission.
I think pushback against Instagram is coming, as more people who have already left Facebook also remember that Instagram has the same leadership, and the platform is far enough off track that even the founders have left. It’s a good time to be posting photos to your own blog instead of Instagram.
In a post earlier this year, Ben Thompson recognized that the threat to Facebook is when it becomes accepted fact that using the app isn’t good for you:
It follows that Facebook’s ultimate threat can never come from publishers or advertisers, but rather demand — that is, users. The real danger, though, is not from users also using competing social networks (although Facebook has always been paranoid about exactly that); that is not enough to break the virtuous cycle. Rather, the only thing that could undo Facebook’s power is users actively rejecting the app.
Having your own domain name for blog posts and photos isn’t just about personal independence from the control of massive social networks. Owning our content is key to the way out of the current social network mess.
Some may call for Facebook to be broken up because it has too much power. But we can’t count on antitrust law to do it. Users must do it. We must do it by moving our attention away from companies we don’t believe in.
Getting back into a routine of writing in Day One for a minute each morning. The last couple years have been so busy that there are huge gaps in my journal for significant events that should’ve been written down, and everyday details that don’t make it into my blog.
Last week we launched support for the ActivityPub API in Micro.blog. This is a major feature to add compatibility with Mastodon, including:
Unlike cross-posting (which Micro.blog also supports), enabling ActivityPub in Micro.blog does not use a separate Mastodon account. Everything can be accessed from within Micro.blog using your custom domain name as your web identity. I’ve mostly been testing with Mastodon, but as we continue to test and improve this feature it should also work with non-Mastodon ActivityPub servers.
There are a few steps to get started:
Thanks to everyone who has already tried enabling this on their Micro.blog account! We have learned a lot and fixed several bugs with conversations across both platforms. Looking forward to where this goes.
Recorded 3 podcasts today! Timetable, out now. Core Intuition, out tomorrow. And a special episode of Micro Monday with @macgenie, out on Monday.
Rolled out several fixes today for receiving Webmentions, parsing different kinds of usernames, and notifying Mastodon instances. Hopefully all these cross-site interactions will be a little bit more seamless now.
We’re recording another special Micro Monday this week with your questions. Use this form to post a question, or @-mention me and @macgenie
Earlier this year I migrated 15 years of posts on manton.org to Micro.blog blog hosting. Today I finished moving over 100 episodes of my podcast Timetable to Micro.blog podcast hosting. I had gotten out of the routine of recording Timetable, and I think moving it to Micro.blog will simplify the setup and make me publish the podcast more often.
Timetable had been hosted on WordPress using the Seriously Simple Podcasting plugin. There were at least a few ways I could’ve moved the episodes, but ultimately I decided on the following:
audio tag, preserving the original post content and date.Even if you don’t know Ruby, hopefully you can see in the script how easy is it to work with Micropub, which Micro.blog uses as its native interface to create posts and upload files. I just call out to the curl command-line tool to do the work.
If you’re new to Timetable, each episode is only about 5 minutes. Some of my recent favorites include episode 91 (Lose yourself), episode 92 (Good, better, best), and episode 100 (One year).
Getting password reset requests on my Instagram account reminds me that my old password was really weak. Surprised it hasn’t been hacked. Last photo to Instagram was over a year ago… I only post photos to my own blog now.
Last year we held the first IndieWebCamp in Austin. I blogged about how the event went, including sessions and topics covered, and what I learned from it:
I’m really happy with the way the event came together. I learned a lot in helping plan it, made a few mistakes that we can improve next time, but overall came away as inspired as ever to keep improving Micro.blog so that it’s a standout platform of the IndieWeb movement.
We’re going to do it again early next year: February 23-24 at Capital Factory. If you’ll be in Austin, mark that weekend on your calendar. I’ll make another announcement when registration is open.
Last year there was a lot of work and last-minute stress deciding on a venue, so this year we’re going to keep a bunch of things the same that seemed to work pretty well. By nailing down the details early, we’ll have much more time for promotion. I’d love to see us double attendance from last year. Hope to see you there!
We posted a new Core Intuition today that spans multiple weeks and a couple of recordings: catching up on Daniel’s talk, the new Micro.blog support for ActivityPub, and Apple’s recent announcements.
Micro.blog now has 3 distinct styles of usernames to make the platform more compatible with other services:
I’m @manton on Micro.blog, my blog is manton.org, and because Micro.blog-hosted blogs support the ActivityPub API, you can follow me from Mastodon by using @manton@manton.org.
I just rolled out some ActivityPub-related reply improvements. I’ll continue to improve the Micro.blog timeline so that these usernames can all coexist nicely. We’ll also be updating the native apps to better support these usernames, for highlighting and auto-completion.
Homebrew Website Club tonight! 6:30pm. I’m heading down to Mozart’s Coffee now.
For some time, we have been considering how we could open up compatibility between Micro.blog and Mastodon. Any feature that could be disruptive needs to be approached carefully. In this post I want to talk about how Micro.blog supports Mastodon, why I think it’s useful, and anticipate some questions that we’ll get about this feature.
We’re launching 2 major features today:
These 2 features are separate and either can be enabled if you want. I have tried to be very deliberate in how ActivityPub is implemented. It is off by default, and to keep the focus on blogging and content ownership, it only works with custom domain names.
One of the most important goals for Micro.blog is to encourage more people to blog. I wrote last year that it’s a success if more people blog. Based on the feedback we’ve received from the Micro.blog community, we are making great progress toward that goal.
We have a lot of things we want to help solve with Micro.blog, but blogging is a core part of the foundation. It’s not about being the most popular social network. It’s not about competing with every platform that launches. It’s much better for the mission of Micro.blog for us to embrace other platforms (as we’ve always done with the IndieWeb) rather than put up walls between APIs.
I recently published a post with 4 parts to how we get out of the current mess with today’s big social networks. I mentioned Mastodon in that post because while I don’t think Mastodon tackles all 4 parts of fixing this, I do think it has a role to play.
More compatibility with Mastodon lets us support the good things that Mastodon has accomplished, while still carrying forward what I think are the unique strengths of Micro.blog. It also opens up the Micro.blog community to interact with a much larger user base.
Sometimes in the Mastodon world your identity can get fragmented across multiple instances. You might start on mastodon.social but then move to another instance, effectively breaking the link between your readers and your posts each time you move, with no way to migrate posts between instances. By supporting Mastodon and ActivityPub in Micro.blog, you can consolidate your identity and posts back to your own blog at your own domain name.
As I wrote earlier this year, content ownership on the web is about domain names:
When you write and post photos at your own domain name, your content can outlive any one blogging platform. This month marked the 16th anniversary of blogging at manton.org, and in that time I’ve switched blogging platforms and hosting providers a few times. The posts and URLs can all be preserved through those changes because it’s my own domain name.
If you already have your blog on Micro.blog at yourdomain.com, we can build on that to allow @you@yourdomain.com or @whatever@micro.domain.com. This focus on domain names will continue to guide new features in Micro.blog.
Let me answer some questions:
This is a really big feature. I hope you enjoy it! This is just the baseline. I’ll be working on bug fixes and improvements to make this integration work as smoothly as possible. If you have any feedback, let me know at help@micro.blog.
Launching a pair of major features after lunch. May or may not be what you’re expecting, but I think it will be really exciting for Micro.blog and help focus on our mission. Look forward to your feedback and bug reports so we can keep making this platform better.
Rose City Book Pub from a couple nights ago in Portland with @macgenie and @cheesemaker. More coffee shops and pubs should have a large collection of books. 🍺
No matter what happens tomorrow, the next day there will still be work to do on Micro.blog and the IndieWeb. Join us Wednesday for Homebrew Website Club in Austin. 6:30pm at Mozart’s Coffee!
Thinking of Texas even as I’m a few states away today. Great crowd in Austin for Beto yesterday. Everywhere you go there are Beto signs, like this mural we saw in San Antonio last week. It is going to be close. Do everything you can.
Very quick trip up to Portland, then back to Texas for election day tomorrow. Don’t think I’ve ever visited Oregon this late in the fall. 🍂
I’m not focusing on word count, but inspired by NaNoWriMo, every day this month I’m working a little on my Indie Microblogging book. Determined to finish it by December 1st.
Last day of early voting in Texas today. I just voted. If you can vote today, do it. Tuesday is going to be crowded. 🇺🇸
Good luck to everyone starting NaNoWriMo today! On Micro.blog we’re collecting NaNoWriMo posts on a special Discover page.
Seth Godin on daily blogging:
For years, I’ve been explaining to people that daily blogging is an extraordinarily useful habit. Even if no one reads your blog, the act of writing it is clarifying, motivating and (eventually) fun.
As he says, you’ve gotta get past the first couple hundred posts to see the most value. This is why indie microblogging is so useful. Start with some short posts, a few photos, and eventually it’s a habit. Stick with it and you’ll really have something.
In Micro.blog we have some pins to encourage people to blog more often. You’ll unlock pins after your first photo, 10 posts, setting up a custom domain, and more. Today, if you mention “Halloween” or “pumpkin” in a blog post you’ll unlock the special Halloween pin.
Micro.blog doesn’t have hashtags, trending topics, or retweets because I think the focus on those features in other social networks has led to people being exposed to harassment, hateful posts, and even fake news. For Micro.blog, it’s more difficult to accidentally stumble on a random post unless it’s part of a conversation you’re in or from a section that is actively curated.
This was an important design decision and we’re not walking away from it, but the downside is that it is more difficult to find older posts without a global search. As the first step in improving this, today we’re rolling out a new search screen. You can now search for users and across any post that has been featured in the Discover section.
Click on Discover from the web version of Micro.blog. I’ll continue to improve this throughout the rest of the year, expanding it to more posts, including in the native apps. Looking forward to hearing your feedback!
Nice liveblog of the Apple event from @ismh. I like individual short posts, but this is a great approach too, and easier to read in context later. This format also works really well for collecting tweets together on your own blog later.
Thanks for the kind words @danielpunkass on the latest Micro Monday! If you’re new to Micro.blog, I think the podcast is a great snapshot into the community and what we’re thinking about.
The new iPad Pro looks really nice. No home button, USB-C that can charge a phone, Face ID, easier to connect an Apple Pencil. I’m going to keep my original iPad Pro and older Mini for a while, but this is a great upgrade.
Pre-Halloween Apple event day! We’ve added a new Micro.blog pin: mention “iPad Pro”, “Mac mini”, or “Apple Pencil” in a microblog post today to unlock it. Plus the special Halloween pin is back if you didn’t get it last year. 🎃
While I was asleep, a long thread developed on Hacker News about Micro.blog. Lots of new people joining. Welcome! Looking forward to the feedback.
The Atlantic, quoting Ben Grosser, after news that Jack Dorsey is reevaluating whether Twitter should even have likes:
“Part of what’s happening in spread of disinformation is that people can essentially repeat what someone else said and spread it to the world, the retweet has an effect well beyond the Like in that regard,” he said. Grosser also indicated that removing just the like button would only make the retweet more powerful. “I fear that if they remove the Like button the fact that there are other indicators that include metrics will just compel users to use those other indicators,” Grosser said.
Removing likes and retweets is of course old news to anyone who has been on Micro.blog. I wrote 2 years ago about the potential harm of retweets. It’s a common theme in the talks I’ve given and in other blog posts since.
When I first started rolling out Micro.blog to early supporters, not having public likes, retweets, or follower counts was a kind of controversial, risky decision. Now it’s almost boring. We’re in the middle of 2 complementary transitions: a move away from massive social networks, and smaller platforms providing the flexibility to remove features and algorithms in service to the community.
A few months ago on Timetable, I talked about how Micro.blog needs the equivalent of a college orientation session to get new people used to how the platform works. I took some time this morning to record a quick intro screencast video. It’s a little rushed because I tried to fit it into 2 minutes, but I’m glad to finally have something. I’ll be working to update it soon.
I’m adding a link to the video at the top of the “welcome” email that new users get when they sign up. You can also watch it on the help site here.
We block walked for Beto’s campaign today, reminding potential voters when and where to vote. Early voting broke records but there are so many people who haven’t voted yet. Feeling hopeful.
Can’t believe the Cavs have fired Tyronn Lue already. When LeBron leaves your team, you need more than 6 games to figure everything out. 🏀
I didn’t want to let these new features slip until Friday, which seems like a bad day to announce anything new, but it happened anyway. Considering holding a couple things for more testing over the weekend. (Might need to release @coreint anyway.)
In the middle of rolling out a few big features on Micro.blog that I’ll announce today and tomorrow. Recorded a @coreint with Daniel this week to talk about some of the new stuff, so that’ll be out tomorrow.
Beto has been doing quick stops near polling locations this week for early voting. I picked up a coffee nearby and walked over to hear him, with a nice crowd not deterred by the rain. Inspiring.
Project Gutenberg is the code name for a redesign of the WordPress post editor. It’s an ambitious change set to ship next month in WordPress 5.0. Taking inspiration from Medium and appealing to web authors who use WordPress more like a CMS than a blog, Gutenberg features a block-based design for visually laying out the text and elements of a web page.
As I test Gutenberg, I keep coming back to one question: is it good for blogging? The goal with Micro.blog is to make blogging easier so that more people will have their own site instead of delegating their web identity to a social network. Gutenberg is more flexible than today’s WordPress, but it’s also more complex for someone who just wants to type in a few sentences and hit publish.
I’ve been talking about this with Daniel on our podcast Core Intuition. Many WordPress users will love Gutenberg, but there will be a significant number who just want a simple posting interface for blogging. This is where a traditional native blogging app like MarsEdit or the focused UI around microblogging seem like much better fits.
Put another way, as WordPress matures I think it moves further away from the ideal blogging interface for someone who wants to write every day. Even as we add features to Micro.blog — domain names, themes, full-length posts, photos, podcasting — the core platform will always be rooted in the simple idea of a text box and a timeline.
This week’s Micro Monday features @aleen! She talks to Jean about the state of social media across Micro.blog, Twitter, and Mastodon.
All of Austin needs to boil their water today. Not gonna let the extra stress of that distract us from how exciting it is that early voting starts today. 🇺🇸
New version of Sunlit is out today with a couple improvements and especially a focus on stability.
Lunch at Lucy’s Fried Chicken, looking out at a very full Lake Travis. So much rain in Texas in the last week, surprised it’s not raining today.
Yesterday we posted Core Intuition 348, checking on Daniel’s talk for Swift by Northwest and a longer discussion on finding time and the consequences for mistakes.
After hitting my head against the wall for weeks trying to solve a coding problem, finally asked for help. 30 minutes later it was solved.
Spurs fans can breathe a sigh of relief right now. Kawhi gone, 3 players injured in the preseason, but a good win tonight for the first game. It’s gonna be fine. 🏀
Have a lot of posts on your Micro.blog-hosted blog? You can now search on the web to find one of your old blog posts. Click “Posts” and look for the search box in the upper-right corner.
Busy morning with meetings on another rainy day in Austin. Too much going on, but looking forward to the start of the NBA tonight! 🏀
Sometimes I hear from people who decide Micro.blog isn’t for them because it’s “just for bloggers”. On the one hand, they aren’t wrong; it is partly a blog hosting platform. But I think that feedback reveals less that there’s a fundamental mismatch and more about how much we still need to improve the user experience. One of the key points of Micro.blog is to encourage more people to post content at their own site, even if traditional blogging tools were too much trouble for them.
There’s evidence that this part of the mission for Micro.blog is working. There are many people who could never get blogging to stick until they tried Micro.blog. Some of them are featured on the Micro Monday podcast.
Whether it’s Twitter-like posting, photo blogging, microcasting, or using Micro.blog as a full web site at a custom domain name, there are millions of people who would post more often if it was easier. If you tried Micro.blog a year ago, consider trying it again! It is significantly better now than it was at launch, and as it continues to improve I hope that many more people who “aren’t bloggers” will find a home at Micro.blog.
On this week’s Micro Monday, Jean talks to @abouthalf about art, what he blogs about, and how he’s customized his microblog.
New episode of Core Intuition on blogging, @danielpunkass’s series on Dark Mode, and preparing for conference talks.
As some folks noticed late last night, I updated the Discover section on Micro.blog to have a better popup menu for choosing topics. It’s not the full list yet, but includes a bunch of the common ones.
Thanks to @danielpunkass for reminding me recently that sending replies should be faster on Micro.blog. I just deployed a change to fix this. Should be very fast now!
Earlier this week I wrote about some behind-the-scenes Webmention changes that improve how replies are handled for external blogs, and yesterday we increased the storage for hosted podcasts. Today I’m rolling out some more visible new stuff on Micro.blog:
After a very busy summer, I feel like I’m able to get back to deploying improvements to Micro.blog on a regular schedule. Still have a couple big features in the queue that I hope will be ready soon. Thanks for the support!
Made a bunch of progress today wrapping up some Micro.blog work that will roll out tomorrow and next week. Also finished a basic help page for Wavelength.
I love seeing what people are using the Micro.blog podcast hosting for. It was first designed for 5-minute shows, but can now host well over an hour per episode. Updated the example bitrates on this help page.
Today is the last day to register to vote in several states. Start at vote.org if you aren’t sure. Easy to check your status, register, find where to vote, or request an absentee ballot. 🇺🇸
I rolled out a few Webmention improvements to Micro.blog today:
There may still be some quirks to work out with these changes, but I’m happy to finish more of the plumbing around replies on Micro.blog. Getting closer to the IndieWeb vision for how cross-site replies on the web can work.
I learned a lot helping organize IndieWebCamp Austin last year. We’re doing it again in early 2019. Planning is underway now with possible dates on the wiki.
It’s Micro Monday! This week’s guest on the podcast is Joyce Garcia, @garciabuxton on Micro.blog. She talks with Jean about newspapers, old floppy disks, typewriters, getting back into blogging, and more. Enjoy!
Disappointed and frustrated beyond words every time I look at the news. What I wrote last week still applies. Please remember that early voting in Texas starts in just 2 weeks. We need new senators.
Someone stole our Beto yard sign around midnight last night. Getting a new one today and I’ll replace it as many times as necessary until election day.
I’ve been using HazeOver for Mac the last few days and quite like it. It dims your background windows to provide better contrast with what you’re trying to focus on.
Posted this week’s Core Intuition. Reflecting on what competes for my attention on Micro.blog, taking criticism, and then differing approaches to a privacy policy.
Daniel Jalkut has started a blog series on supporting Dark Mode. The intro and first post are up now, with more to follow. I definitely need to read these as I work on Dark Mode in Micro.blog.
There has been a lot of distressing news lately, so it’s refreshing to read a story about developers who are just quietly making the web better. The team at the Internet Archive has fixed 9 million broken links on Wikipedia by scanning pages for broken links and updating them to point to the Wayback Machine’s copy:
And for the past 3 years, we have been running a software robot called IABot on 22 Wikipedia language editions looking for broken links (URLs that return a ‘404’, or ‘Page Not Found’). When broken links are discovered, IABot searches for archives in the Wayback Machine and other web archives to replace them with.
I wrote a blog post in 2012 about how fragile web pages are. This is always on my mind. It has informed a couple Micro.blog features such as our automatic mirroring of your blog to a GitHub repository. I hope that as the web evolves that this issue of broken links can be more directly tackled, so that the full responsibility for fixing this isn’t only on the Internet Archive.
It has been over a year since JSON Feed was announced. There have been a bunch of discussions about expanding the specification, but we are very happy with how well the initial version has worked. It powers all Micro.blog-hosted blogs by default and is also used on many WordPress blogs, home-grown sites, and other platforms, with great support in feed readers like Feedbin.
I haven’t had as much time to maintain the WordPress plugin for JSON Feed, though. David Shanske noticed this and offered to take the lead on merging pull requests and making other improvements to the plugin. Thank you, David! He’s now rolled all these changes into a new version.
You can grab version 1.2 of the WordPress plugin from GitHub or by searching for it in the WordPress plugin directory. Enjoy! And thanks again to David for moving the plugin forward.
“In the air was that slightly delirious energy you feel when a political campaign becomes a movement.” — Michelle Goldberg in the New York Times on Beto’s rally + concert in Austin
I updated Micro.blog with several improvements today:
before_id parameter in more places in the API.Plus some other tweaks. These changes focus mostly on the web version of Micro.blog. We have updates to the native apps that will follow.
Jean published episode 30 of our Micro Monday podcast today. There have actually been over 30 episodes if you count the bonus episodes, but I wanted to officially mark the 30th episode as a milestone as I reflect on what the podcast has meant for Micro.blog.
This week Jean welcomes @amit:
Our guest this week is Amit Gawande, who codes for a living but lives for reading and writing. He is the creator of Microthreads, a tool for finding users and conversations to follow on Micro.blog. We talk about the many blog platforms he’s used over the years, and why the simplicity of Micro.blog makes it easier to just write.
I love that Micro Monday is so consistent with our values. Everyone has a story to tell and should be able to have their own space on the web to tell it. The podcast makes Micro.blog better at the same time as it gives members of the community another opportunity to talk about what they care about. Thanks to everyone who has been on the podcast so far!
Homebrew Website Club is this Wednesday, 6:30pm at Mozart’s Coffee. If the weather’s nice we’ll meet outside. I’m catching up on videos from IndieWebCamp NYC so I can summarize that event for the Austin group.
I’ve been thinking about using NaNoWriMo to finally finish my Indie Microblogging book, even though it’s not a novel. I wonder if we can do something special on Micro.blog for anyone writing in November. 📚
We posted the latest Core Intuition this weekend. It’s a 45-minute episode without sponsor breaks dedicated to the Mojave release and Mac App Store. More from the show notes:
macOS Mojave is out! Daniel and Manton talk about the ephemeral nature of App Store features, and the wisdom of not investing too much stock in being featured, or any other external recognition. They catch up on the state of the Mac App Store and wonder about the expected App Store versions of BBEdit and Transmit. Finally, they talk about their own continuing plans for supporting Mojave, particular with respect to Dark Mode.
As part of hopefully consolidating a couple of my servers, I’ve moved the MP3 hosting to Libsyn. We have 10 GB of previous episodes, so I’m still not entirely sure what the best long-term hosting solution is. We’ve changed our mind a few times over the podcast’s 10-year history.
I watched the entire hearing yesterday, working with my laptop in the living room with the TV on. At several points I tried to type a quick post about what was unfolding, but I couldn’t do it justice in 280 characters. Since shortly after the 2016 election, I’ve kept most politics off my blog, trying to focus as much of my attention as possible on Micro.blog and related topics.
I have thoughts on Judge Kavanaugh’s tone and answers, of course. I have thoughts on how partisan the second half of the day was, so divisive and seemingly irreparable. But ultimately that doesn’t matter. What I’ll remember for the rest of my life is the first half of the day.
If Republicans on the committee thought Dr. Blasey would contradict herself or seem inauthentic, they must have realized within minutes that they had miscalculated. I wrote in my notes while watching it live: I can’t imagine anyone who could be more believable than she is.
It was very brave of her to go through this. I couldn’t stop thinking of all the women who must be watching, who have been sexually assaulted and lived with the memory for years, telling only a few people or no one. I hope when we look back on Dr. Blasey’s testimony that it will be an inspiration for many, even as it was so heartbreaking.
The guest for this week’s Micro Monday is @cygnoir. If you’re new to Micro.blog, our podcast is hosted by @macgenie and now has over 30 episodes (including bonus episodes) featuring members of the community.
On the latest Core Intuition, we follow up on the Apple Watch’s new ECG feature, hype from last week’s event, and our plans for iOS 12 and Mojave.
Google search, Gmail, Google Docs, Android… Those are all fine. But today’s Google Doodle of Mister Rogers may be the best thing Google has ever done. Beautiful.
There’s an update to Sunlit now available. Bug fixes and support for scrolling further back in the timeline.
With Path shutting down, I downloaded my archive. I only had a handful of posts and photos, but I like that it’s a simple HTML archive. Reminds me of my proposal for a blog archive format.
Rolled out some additional improvements to today’s Micro.blog page navigation feature, including editing the page URL. Look for the small “Edit” button when editing an existing page.
New feature for hosted microblogs: you can now hide a page from the main navigation. There’s a checkbox for it when adding or editing a page. Useful if you need some standalone pages (not blog posts) that you can link to as-needed but don’t want to crowd the navigation. Enjoy!
If Jack Dorsey and I ever sat down for a chat over a coffee or beer we would find much to agree on, but the disagreements would be so significant, so fundamental to everything else, there would be no way to reconcile them. Those differences are why Twitter is so difficult to fix.
“One of the descriptions and labels that we had in the past that I always despised was microblogging.” — Jack Dorsey interview on Recode Media (fascinating and revealing discussion that I’m still listening to)
Great write-up (via @blankbaby) on walking from various airports to each city’s downtown, often 5-10 miles. Seems like a unique way to see a new city.
Since I was a fan of the iPhone 5C, no surprise that I really like the colors on the new XR. This video on YouTube from Marques does a great job of showing them off. No new phone for me this year, though. Last year’s X is still really great.
On the latest Core Intuition, Daniel and I react to this week’s Apple announcements — new iPhones and the Apple Watch Series 4 — then wrap-up with our goals for the upcoming OS releases.
I don’t need to see any more AR demos, but the basketball app + Steve Nash appearance was one of my favorite parts of today’s event. Really impressive. 🏀
Really admire Apple’s focus on health with the Apple Watch. Don’t think I need a Series 4 right now, so will probably opt for a battery upgrade or cheaper Series 3 later this year.
More leaks ahead of the Apple announcements. iPhone XS Max, hmm? I don’t need a new phone, but curious to see the size of this one in the real world.
Looking forward to the Apple event tomorrow. No predictions, but @danielpunkass and I will record a new Core Intuition right after the event. Mention “iPhone X” (or XS or XC!) in a blog post tomorrow to unlock the Micro.blog special event pin.
Surprisingly cool, rainy day in Austin. I’ve got my office window open. Love the sound of the rain while I work. 🌧️
If you missed it late last week, I wrote about the 4 parts to solving the problems with social networks.
For today’s Micro Monday, @vasta joins @macgenie to talk about why M.b first interested him, the impact of words, and the challenge in maintaining inclusive communities. It’s an important discussion with a lot for us to think about and improve.
For September each year, @ismh dedicates the month to raising awareness and money for St. Jude Children’s Research Hospital. Check out the blog post for his story and how you can help.
We rebooted the Homebrew Website Club meetup in Austin this summer after a break, and last week we met again at Mozart’s Coffee to talk about the IndieWeb. It was raining when I arrived at the coffee shop. Despite the weather we found some tables on the bottom deck and had a good turnout.
The meeting was informal. After introductions, we talked about the state of social media and silos, with some detours into Mastodon, Micro.blog, and the value of having your own site. The discussion inspired me to finish writing a post about the way out of this mess we’ve found ourselves in with massive social networks.
We’re going to keep the meetup at Mozart’s for now. The next meetup will be October 3rd, 6:30pm. I think it will start to become a little more structured: introductions, demos, discussion, and time for writing or working on projects. Thanks to everyone who made it!
Usually our Micro Monday podcast is weekly, but so much is going on that @macgenie published 4 episodes in the last week! Subscribe to listen to recent interviews with Belle Cooper and Jeff Mueller, plus Doug Beal and Aaron Parecki from XOXO.
There have been many articles written in the last month about the role of social networks. Some even reach the obvious conclusion: that the top social networks are too big. This interview on Slate was fairly representative, covering monopolies and centralized power.
But these articles always stop short before hitting on a solution. They always wrap up saying “it’s tough to solve this”.
I think there are 4 parts to finding our way out of this mess with massive social networks:
Better features: We should be careful before copying everything from Twitter. I don’t want to take features that failed us and recreate them in a new environment. Micro.blog leaves out features on purpose that we think undermine a healthy community.
Open standards: When I first stopped tweeting 6 years ago, it was largely because of the developer-hostile attitude from Twitter. Proprietary APIs reinforce the lock-in with content silos. This is why so much of Micro.blog is based on IndieWeb standards. It’s why Mastodon uses APIs like ActivityPub.
Content ownership: Controlling the writing and photos you post online isn’t about open source or the technical experience to run a server. It’s about using domain names for identity, so that you can move your data in the future without breaking URLs. I’ve written more about this here and it’s a fundamental part of the book I’m writing about microblogging.
Smaller social networks: Many people are looking for “the next Twitter”, but it’s not enough to replace Twitter with a new platform and new leadership. Some problems are inevitable when power is concentrated in only 2-3 huge social networks — ad-based businesses at odds with user needs and an overwhelming curation challenge. This might be Mastodon’s greatest contribution: getting people used to the idea of many smaller, interoperable communities.
There’s not only one solution. I think platforms like Micro.blog and Mastodon each have a role to play and can be complementary. Mastodon helps by encouraging smaller social networks, distributing the task of moderation, but doesn’t prioritize content ownership. (An account on an instance like Mastodon.social has no more ownership of its content than an account on Twitter. Both let you export your data but both live at someone else’s domain name.)
If you are frustrated with the state of social networks, I recommend blogging more. I love seeing new blogs and photo blogs just as we’re having a serious debate in the mainstream about social networks. The way out isn’t easy, but there’s a clear path waiting for us to take it.
Congrats @ccgus on the Retrobatch 1.1 update. Cool to see this app keep getting more powerful.
We just posted the first Core Intuition episode in a while. @danielpunkass and I talk about the Sunlit 2.2 release, the App Store, Android development, and iPhone XS leaks.
Two meetups to check out today if you’re in Portland! IndieWeb (10-noon at Cup & Bar) and our Micro Meetup (5-7pm at Von Ebert Brewing — @macgenie and @cheesemaker will be there at 3:30pm). Everyone’s welcome!
Today we added a new screen to the web interface for hosted blogs on Micro.blog. Click “Posts” and then choose the “Uploads” tab to view your uploaded photos and microcast episodes. You can also upload new photos here to later include in a blog post.
Expect this part of Micro.blog to continue to improve. If you have any feedback, let us know. Thanks for your support!
Homebrew Website Club this evening in Austin. Join us at Mozart’s Coffee (6:30pm - 7:30pm) to chat about the IndieWeb. Also a good time to work on your own web site or ask questions about Micro.blog.
Of everything you put into social networks, photos are one of the easiest and most rewarding parts to reclaim for your own site. Because we shipped Sunlit 2.2 this week, I want to share a guide for starting a new photo blog that you will actually consistently post to.
The first step isn’t technical. It’s a commitment to posting regularly on your own blog instead of first reaching for Instagram or Snapchat. A commitment to posting to a place you control, to a place you can look back to years from now as an archive of your best photos at your own domain name, regardless of what social networks come and go over the years.
If you already have a hosted blog on Micro.blog or WordPress, you can use that. If you want to start with a new space just for photos, use Micro.blog and click Plans → New Microblog. In the Micro.blog settings, you can map a custom domain to your new photo blog such as photos.yourdomain.com.
Instagram will let you download an archive of all your Instagram photos. If you use macOS, install Micro.blog for Mac. Choose File → “Import from Instagram”. Select the media.json file in the archive you received from Instagram, and Micro.blog will let you select some or all of your photos to import, preserving the dates and captions on your new photo blog. See this help page for more details on importing from Instagram.
To post a new photo, use the official Micro.blog iOS app or our new companion app Sunlit. There are also great third-party apps such as Icro for iPhone and MarsEdit for macOS.
When you post a photo with some text but no title, that photo will show up directly in the Micro.blog timeline.
Another option is to connect OwnYourGram with Micro.blog. OwnYourGram can watch your Instagram account for new photos, then copy them automatically to Micro.blog. Before setting up OwnYouGram, make sure to add your Instagram username in Micro.blog under Account → “Edit Apps”.
For an overview video of the new version of Sunlit, see my post from yesterday. Happy photo blogging!
Sunlit 2.2.2 was approved and should be showing up in the App Store shortly. I like this version number so much that this will be the last release of Sunlit. (Kidding! We have a bunch of improvements we want to make.)
This week we shipped the new version of Sunlit, featuring an Instagram-like timeline of photos from people you’re following on Micro.blog. You can post photos to a microblog on Micro.blog, or to WordPress and other compatible blogs.
The best way to understand Sunlit is to see it. I’ve prepared a short video below, talking through a few of the main screens, but the app has a lot more depth for editing photos and organizing photos into stories:
Sunlit is a free download in the App Store. There’s no in-app purchase. If you like it, I hope you’ll support Micro.blog with a subscription to a hosted microblog or new photo blog. You can learn more at sunlit.io.
Today’s episode of Micro Monday features Belle Cooper, co-founder of Hello Code and developer of a new Micro.blog app for Android, Pico.
Austin folks interested in the IndieWeb, blogging, Micro.blog, or building your own web site… The next Homebrew Website Club meetup is this Wendesday, 6:30pm at Mozart’s Coffee. Hope to see you there!
Of course I read all my @-mentions, but I’ve missed replying to a few posts recently. Sorry! Expecting a busy week but hope to catch up on a bunch of things.
I know I complain about the App Store a lot, but the release process is really limiting and unpredictable. We’re juggling Sunlit 2.2 and a 2.2.1 update. Hope everything will be live on Tuesday. (Also shipping some M.b updates at the same time.)
Om Malik has a post on leaving Facebook for good:
Why? Because I don’t need it and don’t miss it. I left, not because of the company’s dodgy approach to privacy, data accumulation or its continued denial of its impact on shaping modern society. I left because it was making me someone I am not — someone who lives life through the eyes of others.
He also mentions Instagram and focusing more on his own photo blog:
I have started a photo blog — where I cross post all photos I share on Instagram. I think it is a matter of time, before it becomes my primary spot for sharing photos.
As I read this, Jon and I are wrapping up Sunlit 2.2, which will ship on Tuesday. It’s a Micro.blog companion app just for photos. I recorded a short preview video here.
NetNewsWire is returning home. Brent Simmons first shipped NetNewsWire Lite way back in 2002 and it played a significant role in the early popularity of RSS on the Mac. I’ve written a few things about it over the years, including this post in 2002 when I switched to using it.
It has been fun to watch Brent start over with Evergreen, document the progress in public on his blog and GitHub, and now it’s fitting to see that work evolve into the next official version of NetNewsWire. NetNewsWire 5 will also have great support for JSON Feed and Micro.blog. Congrats Brent!
Recorded another quick video preview of the upcoming version of Sunlit, set to ship on Tuesday. I talk about the different parts of the app and how it works with Micro.blog.
Seth Godin’s new podcast is so good. Love the latest episode about sunk costs. (He’s even got a bit in there about sticking with blogging.)
Plenty of serious work to do this week, so it’s nice to take a break and work on something fun. New emoji! Micro.blog is now starting to collect hockey, cats, dogs, and movies. See the help for the list. 🏒🐈 🐱🐕 🐶📽 🍿 🎥
We’ll miss watching Manu play, but what a career. And his effort in the last playoff series to prevent a Warriors sweep in game 4, shooting 5-10, 60% from 3, mostly in the 4th quarter. One of my favorite games of the season and not a bad way to go out. 🏀
Sunlit 2.2 was approved by Apple over the weekend. Don’t have a ship date yet, but I’m very excited for this. Hope y’all like it. You can see a preview video in this blog post.
I’m the guest on today’s Micro Monday! Answering questions from the community about new features, what can be improved, what it’s like as new people join, and more.
Making a few last-minute changes to Sunlit 2.2 with @cheesemaker to hopefully minimize the chance of rejection. Really love this update, but concerned about app review becoming more strict when in-app purchase isn’t used.
Now that Icro is open source, I filed an issue to discuss how to add push notifications. I think the investment here will pay off for other third-party apps too.
I keep meaning to dust off my Android test phone and do some more testing. Deployed a Micro.blog fix today for typing on Android when drafting a new post or pasting text. (For a native app to browse the timeline or reply, check out Dialog in Google Play.)
Icro is now open source. It’ll be great to see other developers improve it or learn from it for their own Micro.blog projects.
Time to retire my first-generation Apple Watch. The battery life has dropped off suddenly and can no longer make it through the day. 3 years is good for a computer, but hoping the next watch lasts a little longer.
Listening to the new Micro Monday episode with Collin Donnell.
The latest Core Intuition is out now, with @danielpunkass and I talking about the App Store, tracking sales, payment links for podcasts, and a wrap-up about Twitter.
We rolled out a few improvements to Micro.blog this week. There’s a new page on the web for managing muted users — click Account and scroll down to the “Edit Muted Users” button — and a new macOS release with a photo upload bug fix and an options menu to mute or report users.
You can download Micro.blog for Mac here, or choose “Check for Updates” inside the app. If you missed it when it was first announced, the app now supports uploading your Instagram archive as microblog posts.
About a month ago we added experimental support for Indiepaper to Micro.blog. It’s in the spirit of Instapaper or Pocket, but built on IndieWeb standards. You can read more about Indiepaper in our help.
I wasn’t sure where this would lead, but people are using it, so we’ve improved Micro.blog to include a page on the web for viewing or managing saved articles. After you’ve added an article to read using Indiepaper, a new link to access it will appear under Account → “Edit Feeds & Cross-posting”.
Thanks for your support of Micro.blog. As expected, we’ve had a bunch of new people join Micro.blog, which always translates to great feedback for making the platform better.
Took the train downtown this afternoon. Nice to take it on an off-day when not much is going on in Austin, so it’s easy to get a table to work.
Late but hopefully worth the wait, this week’s episode of Core Intuition starts with a discussion of sandboxing in Mojave, then we take the rest of the show to discuss Twitter, blogging, and the role of social networks.
Lots of new people joined Micro.blog this week. Welcome! iPhone folks who were Tweetbot fans, I recommend checking out Icro too. @hartlco has done great work on the app.
If you’re in the Minneapolis area, there’s a Micro.blog lunch meetup at Common Roots Cafe today, noon - 1:30pm. @macgenie and @patrickrhone will be there!
Expecting a lot of new Micro.blog users over the next few weeks. This week: Twitter mismanages how to deal with Alex Jones and Infowars. Next week: Twitter streaming API gets shut down for third-party developers.
On the new Timetable: an update on microcast improvements, plans for Sunlit, and more thoughts on recent articles about curation on the big social networks.
This week we rolled out a few improvements to podcast hosting on Micro.blog. I talked about some of it on yesterday’s episode of Timetable. Here are the changes:
Speaking of podcasts, check out the latest episode the Supertop podcast. In addition to updates about their podcast client Castro, they cover my blog post about Anchor and other thoughts on what impact Anchor might have on the podcast industry.
Two quick follow-ups on my post yesterday about Apple removing Infowars from their podcast directory, and related actions by Facebook and YouTube. First, Alan Jacobs summed it up really well on his microblog:
What Alex Jones is being deprived of is amplification. Not the right and freedom to speak, but multiple megaphones.
And I love this quote from the Onion:
What we see here really could be the beginning of a slippery slope towards a horrific ordeal in which any citizen who violates hate speech policies or blatantly spreads lies that cause other individuals to receive death threats will immediately be discredited and, perhaps, even asked to host their demonstrably false content on a website that they actually own.
The best satire is often true. We’re seeing a major shift in how mainstream users view the role of these huge social networks.
BuzzFeed has an article about Apple removing Infowars from the Apple podcast directory:
Apple’s decision to remove all episodes of Jones' popular show — rather than just specific offending episodes — is one of the largest enforcement actions intended to curb conspiratorial news content by a technology company to date. Apple did not host Jones' shows, but it offered an index that allowed anyone with an iPhone to find and subscribe to them.
This is the way the web is supposed to work. Alex Jones can continue to host his podcast and his fans can subscribe manually. But Apple has no obligation to index it in their podcast directory and make it easy for people to find it.
More from the New York Times today:
Some tech companies, including Facebook and Google, which owns YouTube, had appeared reluctant to remove Mr. Jones’s pages entirely and were instead taking action against specific videos.
Google has now decided to terminate his YouTube channel. And:
Tech companies have long been wary of censoring speech, but an increasing amount of hate speech and misinformation — and louder protests from critics — have forced them to take action. Moves by the tech companies against Infowars and its peers have spurred a debate over free speech.
Facebook and YouTube are conflicted about how to handle this because their model is wrong. Unlike podcasts and blogs, which can live at a custom domain and move between hosting companies, videos on Facebook and YouTube are served directly on those platforms. If the videos are blocked, especially by YouTube which controls nearly all video on the web, there’s no obvious migration path away.
We’ve also seen this hesitation to curate with Twitter. My post about pulling the weeds covers the same issue.
Over the last dozen years we have let massive centralized social networks gain far too much power. We started paying the price with the 2016 election and the fallout continues today. The solution is clear: post to your own site, encourage other people to get their own domain name, and support smaller social networks like Micro.blog that are empowered by design to curate.
Posted a new episode of Timetable about podcasting improvements and follow-up discussion from the Supertop podcast.
When I started using Twitter again for cross-posting, I made a few rules for myself so that I wouldn’t get pulled back into the platform. One is that I let Micro.blog post everything for me automatically, and I only favorite or reply to people when I get asked a specific question. I don’t follow anyone.
But every once in a while I feel compelled to jump in to a discussion. In reply to Joe Cieplinski’s blog post today about Apple having all the leverage, I posted this tweet:
The sad part of this is that developers actually do have leverage, but we’re just not organized and can’t agree on what is fair. It would take the whole community coming together. Most developers think that Apple’s tight control over app distribution is fine. (Spoiler: I don’t.)
Long-time readers of my blog will notice that I complain about Apple as often as I praise them. I hold Apple to a very high standard because they’ve earned it through great design and products.
I know Micro.blog isn’t perfect yet. There are many things we’d like to improve. But I’m proud that the values for the platform are consistent with everything I’ve been blogging about for 15+ years. Complaints I have against the power of big companies like Apple, Facebook, Google, and Twitter… The entire design of Micro.blog’s architecture is to do the opposite of what those companies do.
Catching up on the Distributed Web Summit. Great lightning talk from @t introducing the IndieWeb. Here’s a link directly to the start of his talk in the YouTube stream.
We just posted Core Intuition 339: Apple services revenue, the App Store’s 30% cut, @danielpunkass getting back into iOS development, blogging features, and more.
Posted a new Timetable with a quick follow-up on the Facebook API and recapping last night’s Homebrew Website Club.
Jason Snell posted about Apple’s record services revenue:
As someone who’s interested in products, I find the focus on Services revenue to be a bit dispiriting. I get excited at the prospect of new products and seeing how consumers are accepting or rejecting products in the market. But the discussion of Services, especially in a financial context, is essentially a conversation about how Apple can grind more money out of every single person who uses an iPhone, iPad, and Mac.
Back in 2011 I explored the App Store’s 30% cut from the perspective of supporting free app downloads:
I’ve argued that Apple’s 30% tax is about growing that to significant profit at the expense of developers, but in the back of my head I’ve also been concerned that maybe it’s just to keep the App Store from falling into the red. Maybe they are really struggling under the weight of what they created, and long app review times and lack of focus around the Mac App Store launch are just symptoms of that.
In hindsight, 7 years later with $9.5 billion in services revenue per quarter, my attempt in that post to reconcile Apple’s cut seems like a stretch. To echo what Jason says above, I still believe that services should complement Apple’s core products.
iCloud storage is there to make the experience of saving files or backing up your iPhone better, not to nickel-and-dime users who need more storage for a backup. The App Store is there to make discovering apps easier, not to turn developers into a profit center. The more these parts of Apple’s business dominate their revenue, the more divorced their product planning becomes from what users and developers need.
$9.5 billion. As I’m posting this their stock price just pushed the company to $1 trillion in market cap. Many developers can’t make enough to support even a 1-person indie business full time.
As an exclamation point on the discussion around services revenue, Apple has also cancelled their affiliate program. Stephen Hackett sums up what I think many people in the community are thinking:
Payments made to people linking to apps with affiliate links comes out of Apple’s share of revenue generated by app sales and in-app purchases. How much money it costs them is unknown, but the idea that the reasons behind this move could be financial in nature feels pretty gross. Apple is a for-profit company, and it has no bottom-line reason to keep this program open, but sometimes doing the right thing comes with a cost.
And John Voorhees on Apple’s statement that the App Store no longer needs affiliate links:
If that’s the case, it’s short-sighted, but it’s certainly Apple prerogative to run its programs as it sees fit. Still, it’s not the right way to address the publications, developers, and others that have generated millions of dollars of referrals over the years in exchange for a modest 7% cut.
I’ve argued since the first days of the App Store that Apple’s 30% cut is too high. This tax on developers is completely out of line with the value that Apple provides. The fact that Apple is bringing in so much money from services — nearly as much as the Mac and iPad combined — shouldn’t sit well with developers who are still struggling. It’s even worse now without the affiliate program, which developers could use to recoup some of that 30%.
Note what I’m not saying. I’m not saying that Apple should lower the rate to match Stripe’s 3%, or that Apple should operate the App Store at a loss. It costs real money to maintain the App Store infrastructure and commit to featuring apps every day. But there should be a middle-ground that gives developers the best shot at a sustainable business.
Introducing a 15% tier for in-app purchase subscriptions (after the first year) was a good start. Most developers thought we’d never see that. We should be calling for an across-the-board 15% rate for all App Store transactions. It’s the right thing for Apple to do. As Apple’s services revenue continues to grow — and the TV streaming service will only add to that — the time to make this change is now.
Good afternoon, Austin! Reminder that Homebrew Website Club is at Mozart’s Coffee, 6:30pm - 7:30pm. I’ll be wearing my new IndieWeb t-shirt.
Nick Heer has a comprehensive post on how web pages have become so slow despite huge improvements in our internet speeds. He covers JavaScript tracking, Google’s AMP, and a CNN web page that takes 30 seconds to load:
The vast majority of these resources are not directly related to the information on the page, and I’m including advertising. Many of the scripts that were loaded are purely for surveillance purposes: self-hosted analytics, of which there are several examples; various third-party analytics firms like Salesforce, Chartbeat, and Optimizely; and social network sharing widgets. They churn through CPU cycles and cause my six-year-old computer to cry out in pain and fury. I’m not asking much of it; I have opened a text-based document on the web.
As a contrast, consider my blog post from yesterday. All requests for the page (1 for HTML, 3 for CSS files, and an image) total only 34 K. The page loads completely in 1/3 of a second.
This is how most web pages should be. Lightweight, fast. It’s how all Micro.blog-hosted sites are designed. If you’ve let your blog become too bloated with JavaScript includes or images, it’s worth some time to trim out extra resources that don’t really matter.
Homebrew Website Club tomorrow! 6:30pm at Mozart’s Coffee. We’ll keep it informal as we get back into holding this meetup. Time to review recent IndieWeb events, Micro.blog progress, or talk about updates to our sites.
Last week I added a new archive page to Micro.blog-hosted sites. It includes dates and the first part of each post, marked up with Microformats. Jonathan LaCour used this to write a script that parses the HTML looking for posts on today’s date in previous years, then pulls the full content for each post it finds and assembles them together.
But it gets better. After Jonathan mentioned that it took quite a while to parse the large HTML file, I added a JSON Feed version of the archive page. If you’ve posted to Micro.blog since yesterday, this has been created for you at your-domain.com/archive/index.json. Jonathan updated the script to use the JSON Feed and it can now return the “on this day” posts very quickly, with no configuration needed because it’s all driven from a JavaScript include on your blog.
You can see this in action on my own blog’s on this day page. It works for any Micro.blog-hosted blog by pasting in a few lines of HTML from the Micro Memories project on GitHub.
This is the potential for indie blogging and simple formats. Adding a feature to Micro.blog-hosted blogs enabled a new tool I hadn’t even thought of. There was some discussion in the IndieWeb chat, but it took very little coordination because all of this is built with web stuff, not proprietary APIs.
You can add any Micro.blog timeline to Feedbin and it looks really good, with profile icons next to each post and inline photos. Check out this screenshot over on Feedbin’s blog.
On my almost-daily podcast, Timetable, today I talk about rebuilding the Facebook integration in Micro.blog and getting organized.
It’s a little late this week, but we published Core Intuition 338 today. Thanks for listening!
Loved the new episode of Internet Friends. Covers a lot: @drewcoffman coming to terms with using Twitter too much, how the user base has changed, what we need from a community, staying creative, blogging, and how @ablaze is using Micro.blog.
In other Slack news this week, they moved their blog from Medium to their own domain name, powered by WordPress VIP. Because they had medium.com URLs before, none of their old posts redirect. At least they’ve got things future-proof now.
You usually can’t control or predict what other companies do. On the latest Timetable, I talk about going ahead with an idea despite some competition. Plus basketball. 🏀
Much faster home page updating for Micro.blog-hosted sites rolling out now. Also, moving to a separate “Archive” page in the navigation and away from pagination. Feedback welcome. (This is a first step. Better year/month organization will come later.)
Today’s Timetable covers microcasts, Facebook changes for Micro.blog, and Twitter’s API announcement this week. Just 7 minutes. Enjoy!
Upcoming meetups: NSDrinking tomorrow night at Radio Coffee & Beer. 8pm. Also, Homebrew Website Club returning first Wednesdays: August 1st at Mozart’s Coffee. 6:30pm. Hope to see some of y’all there!
Dirk is back for a 21st season with the Mavs. Looks like he will pass Wilt Chamberlain on the all-time points list. But not before LeBron passes them both. 🏀
On today’s episode of Timetable, I go into more detail about the recent performance improvements, related glitches, and thoughts on podcast hosting business models.
Nir Zicherman has a post on Medium about how podcast hosting should be free. Nir is the co-founder of Anchor, a company with $14 million in venture-capital funding. Nir writes:
Back in the day, you would have had to pay to store your photos online. But that outdated business model has virtually disappeared thanks to platforms like Google Photos, Instagram, Imgur, and others. At Anchor, we believe the notion of charging creators to host their content online is antiquated and unfair. And above all else, it serves as a barrier that prevents the podcasting ecosystem from growing and becoming more diverse, because it limits it to only those voices who can afford to pay.
I think Nir misses something important in his post. Many podcasts do not need to be directly monetized with ads, network memberships, or even listener donations. I never want ads on my short-form podcast Timetable, for example. I record Timetable because I enjoy it and because it helps people understand what we’re trying to do with Micro.blog, which in turn indirect benefits the platform. I want my own podcast at my own domain name so that I’m not dependent on a company that may or may not be around in a few years.
(Also, it’s misleading to say that it only costs Anchor $1/year to host a podcast. That might cover hosting, but it skips over all the other business costs including engineering, marketing, and support.)
Anchor seems to be going for the YouTube model. They want a huge number of people to use their platform. But the concentration of so much media in one place is one of the problems with today’s web. Massive social networks like Facebook, Instagram, and YouTube have too much power over writers, photographers, and video creators. We do not want that for podcasts.
Micro.blog podcast hosting isn’t free. It’s $10/month. But for that price you get not just a podcast feed but also a full hosted blog with support for microblog posts or longer essays, photo blogging, custom themes and CSS, posting from a bunch of third-party apps and our iOS microcasting app Wavelength, and most importantly everything at your own domain name so you own the content. The competition for Micro.blog isn’t Anchor; it’s Squarespace and WordPress.
Some things are worth paying for. I share Nir’s goal that podcasting should be more accessible and more affordable to more people, but it’s dangerous to give one company too much control over podcasting. Anchor’s business model demands scale. It’s still unclear how that will play out.
Last week I parked myself at a coffee shop one morning and re-architected how blog publishing in Micro.blog works. As some of you know, hosted blogs on Micro.blog are based on Jekyll. While this has some advantages that I wrote about in 2016, it brings some performance drawbacks as well. I’ve incrementally improved it with tweaks over the last year, but last week I finally blocked out enough time to solve more of the performance trade-offs with using Jekyll.
When you post to Micro.blog now, it will publish your new blog post on the web right away. It will also update the JSON Feed and bring the new post into the timeline. Then in the background, it will update the site index and other related pages.
This should have a dramatic impact to posting and seeing the new post show up in the Micro.blog timeline, especially for blogs with thousands of posts. Moving my own site (and it’s 2700+ blog posts) from WordPress to Micro.blog has been a great way to test these changes.
Happy Monday, everyone! There’s a new episode of Micro Monday up. Great to hear from new voices who haven’t been on a podcast before.
Microcast.club is a new directory of short-form podcasts. What a perfect domain name for this. I’ve added Timetable.
Can’t wait to hear the new A Star Is Born soundtrack. I’ve watched the trailer a few times now and think it could really be something.
Realized after a couple days this weekend of off-and-on debugging of a time zone issue that it was the same bug I ran into a year ago and fixed, now recreated in new code a year later. Some lessons take a while to really stick.
Over the last couple of days you may have noticed some time and ordering problems in the Micro.blog timeline. I think I have these resolved now. (Time zones are my least favorite thing to debug.)
Standup paddling near Longhorn Dam earlier today, just a little before it was too hot outside to do anything.
This week’s Core Intuition covers rumors of the 1Password site-license to Apple, the business of scooter and bike sharing, and marketing ideas for the new version of Sunlit.
There’s a great introduction to Webmention over at A List Apart today.
Did not expect that Danny Green would be part of this Kawhi trade. Bummer to lose both of them. But time to look to next season. Welcome to the Spurs, DeMar DeRozan. 🏀
Testing Feedbin today, I was reminded just how good microblog posts look in it. Here’s a screenshot of my Micro.blog-hosted blog. Notice the different heights on the rows and clean design on the detail pane.
After IndieWebCamp Austin last year, we let the Homebrew Website Club meetups kind of fade away. Time to reboot it. August 1st, 6:30pm at Mozart’s Coffee.
I love travel blogs. Great post and photos from Jason Kottke on a road trip across the western United States.
Today was a strange day. Lots of errands. 97° out didn’t help either. One good thing: taking a break at the new-ish Cenote over on Cameron for a cold-brew coffee. ☀️
Sounds like good news to spin out Instapaper to a small team again. I still use it, although I’m experimenting with Indiepaper now that Micro.blog supports it.
On Timetable this morning, I talk about a bug for new users on Micro.blog, and how I tried to work around it with an extra email.
Sent a new beta out for Sunlit 2.2, collecting a bunch of recent fixes. Still more to do before the final version. (We’re not adding any new beta folks right now, but the release will be soon.)
I wanted Micro.blog to be so strictly reverse-chronological and anti-algorithmic timeline, that I waited a long time to make this change: just flipped conversations to be oldest at top. The clicked post on the web is also lightly highlighted.
We’re looking for a few testimonials to add to the Micro.blog home page. If you have a short 1-2 sentence quote you’d like to share about Micro.blog, send it to help@micro.blog. Links to blog posts are also good. Thanks!
One reason that IndieWeb Summit was such a success was the range of projects to come out of the second day as attendees worked on their own projects. There were new tools and features of existing platforms, but also personal site updates and just fun stuff. And web rings are fun!
I know, I know… Is it 2018 or 1998? I’ve added a help page on Micro.blog for how to add a web ring to your blog using 🕸️💍. One of the great things about microblogging at your own domain name is you can experiment with features like this.
Daniel and I talk a little more about this on the new episode of Core Intuition out today. Enjoy.
I don’t read Medium often, but I do let the service send me weekly emails with posts I might be interested in. For some reason, this week’s email included a Jason Calacanis post from April about funding a Facebook replacement:
LAUNCH is going to fund seven, purpose-driven teams that want to build a billion-user social network to replace Facebook.
This is the wrong idea. We do not need another social network with 1 billion users. Part of the problem is having so many users and so much power concentrated in one place. And setting out to achieve 1 billion users means it’s an ad-based platform that will inherently revisit many existing problems. (The rest of the goals in Jason’s post I can get behind, though.)
Micro.blog will never be that big. What we need instead of another huge social network is a bunch of smaller platforms that are built on blogs and the open web.
I posted a new Timetable this morning about learning from college’s 2-day freshman orientation events.
Fixing a couple issues with the LinkedIn cross-posting in Micro.blog today. Everyone wants something different out of cross-posting (and some people nothing at all). But I think improving it is still a good bridge back to the big networks for folks who need it.
At the beginning of the week I announced several new features in Micro.blog, including a change to show who someone is following on the web version of Micro.blog. While working on this feature, I inadvertently changed the behavior to remove you (while browsing a user’s profile) from the list of who someone was following. If you looked at a user’s profile, you were never in their following list even if they did follow you.
While this was a bug, there was a long thread on Micro.blog with some good arguments for why this change was actually a feature. We shouldn’t have to worry about checking whether someone follows us. After all, an important part of Micro.blog is to never show follower counts, and to never let a feature grow into a popularity contest and source of judgement. The content someone posts should speak for itself.
This created a lot of confusion, though, because it didn’t work like anyone expected. I think even the people who liked it could tell something needed to change.
I was out of town this week and away from my computer most of the day. This left me some time to try to see both sides of this feature, and I kept coming back to this: the whole point of showing who someone is following is to discover new users. It’s not about how many people they are following. It’s not about whether they are following you.
(As an aside, with a platform based entirely on blogs, no one should read too much into followers anyway, because it doesn’t count all the people who might read your blog in an RSS reader or find it from a Google search.)
I’ve now tried to reduce this feature to its simplest form that solves the problem of finding new users. So in the latest version of Micro.blog on the web and native macOS app, I’ve reverted the change from earlier this week and replaced it with a list of who someone is following that you aren’t following already. We’ll be updating the iOS app as well and submitting it to Apple.
From an API standpoint, the previous behavior is still available. Third-party apps can make the best choice for the user experience they’d like to see, although if people like this change I’d encourage third-party apps to also adopt it.
Thanks to everyone who offered feedback on Micro.blog or in email. It means a lot to us that y’all care that we get this stuff right.
I think my post this morning got lost in the noise a little. If you missed it, Micro.blog now supports LinkedIn cross-posting and a few new features for hosted blogs.
There’s a new Micro Monday podcast episode out! “Eli Mellen, an art historian and printmaker turned web developer, talks to Jean about…” LiveJournal, the IndieWeb, 🕸️💍, Micro.wiki, and more.
I rolled out several new features to Micro.blog today:
It’s really nice to finally have manton.org hosted on Micro.blog. I’ve learned a lot going through this that I can use to help others migrating away from Wordpress.
I also cleaned up the text on a few pages and made other small bug fixes. Thanks for using Micro.blog! Your support means we can keep making it better.
Tonight I imported all my WordPress posts from manton.org and moved them into Micro.blog hosting. I learned a lot keeping my blog on WordPress even after launching Micro.blog, but as Micro.blog-hosted blogs improved, it just made sense for me to migrate my 2700 posts over to the new platform.
Micro.blog automatically redirects old URLs it finds in the WordPress import, but I’m still sorting out other changes that might be necessary after blogging for 16 years. (I started on Radio Userland, then Movable Type, and then WordPress.) The best thing about this move is that I’ll be able to better understand the needs of users who are also maintaining large sites on Micro.blog.
When I was on WordPress, I had 2 separate RSS feeds: one for short posts, one for long essay-like posts. Micro.blog doesn’t have separate feeds like that, so you’ll likely notice this change in your RSS reader right away. New posts will appear and older posts will likely be marked as unread. Those blips should be temporary and then everything will be back to normal.
I love how fast my site is now. Micro.blog-hosted sites are mostly static and much faster to load in your browser than my old WordPress site.
Watching the Spurs/Wizards summer league game while wrapping up some new features for Micro.blog that will ship tomorrow. 🏀
Thanks to Tony Parker for an incredible career in San Antonio. Would’ve been nice to finish his last few years on the Spurs, but this isn’t even the most surprising twist this off-season. 🏀
If you’re familiar with OAuth, this introduction to IndieAuth walks through the process of how auth for the open web works. Really happy that Micro.blog supports this now.
Great article by Felix Salmon on Wired last month about Twitter, found via Buzz Andersen’s blog:
When Micro.blog launched, not showing follower counts at all seemed like a big risk. Now I think it’s recognized as a great feature. If we want an inclusive, welcoming community, the UI should encourage that by presenting everyone as equals.
We posted a new episode of Core Intuition this week with a summary of my time at IndieWeb Summit and more.
Updated the Discover list with 2 new emoji: 🍕 and 🗺️. Still a few more I’d like to add soon. Happy microblogging!
Lots of little road trips over the last couple months and coming up this month. Feel like we’ve covered more miles around Texas than usual. 🗺️
Anticipating some new in-progress features, I took some time this week to tweak the registration page and Account → Edit Feeds. Need to keep iterating on these to minimize confusion for new people joining Micro.blog.
Here’s a set of actions and workflows from @craigmcclellan for posting images and audio files to Micro.blog via Drafts and Workflow. Great for anyone who wants to host a photo blog or podcast on Micro.blog.
Iconfactory has had to make some difficult choices for the latest update to Twitterrific. From the release history:
More from their blog post:
I post tweet-like short posts to my own blog first and then let Micro.blog send a copy to Twitter, so I don’t use Twitter very often except to check replies a few times a day. Looks like Iconfactory is making this as smooth a transition as possible for existing customers. If you were wondering if Twitter’s API changes were ever really going to affect Twitter users, this release of Twitterrific is your answer.
Earlier this week I wrote about making Micro.blog an IndieAuth provider. This allows anyone with a Micro.blog-hosted blog to sign in to IndieWeb-compatible apps. For example, using OwnYourGram to automatically copy Instagram photos to your own blog on Micro.blog.
I’ve now expanded this support to let anyone use Micro.blog to authorize an app even if your blog is hosted outside of Micro.blog. If you host somewhere else, you’ll still be responsible for setting up posting, but having basic IndieAuth support can be useful if you want to connect your blog to tools that don’t need to post, like IndieWeb Ring or the IndieWeb.org wiki.
There are instructions on this Micro.blog help page for adding the appropriate HTML tags to your site.
After taking a month off from Timetable, I posted a new episode this morning with some thoughts from Portland and recent work on Micro.blog.
Since there’s no Micro Monday podcast this week, I’m going to get back into the routine of suggesting new users to follow. For today: @rosemaryorchard, who just started a new podcast about automation with @MacSparky. Looking forward to listening!
In my talk at Peers Conference earlier this year I closed with this quote from Brent Simmons:
I’ve been thinking more about Brent’s post since then, and so for the keynote that Jean and I gave at IndieWeb Summit last week I wanted to start with that quote. Many people have written nice testimonials about Micro.blog, but this one really seems to capture the goal.
It should come as no surprise that I liked Brent’s full post from February about why Micro.blog isn’t like App.net. He made the case even better than I usually do, about how the web is more important than any one platform:
Micro.blog is one of the first platforms to focus on domain names that decouple the timeline from post storage. Anyone can post a Micro.blog-hosted site at their own domain name today and move it all somewhere else tomorrow. It’s a simple, IndieWeb-friendly architecture that we think is essential to the next phase of the web.
I’ve made cold-brew coffee with a French press but I’m lazy so usually just buy the Chameleon concentrate at the store. Discovered they also make these convenient pods for about half the price.
I’ve added 2 new features to Micro.blog-hosted blogs:
Thanks for your support. The $5/month for blog hosting might not seem like much, but it makes a big difference as we grow the Micro.blog platform and add new hosted blog features.
After posting about my time at IndieWeb Summit and the new IndieBookClub support, let me give some more details on what IndieAuth means for Micro.blog. I spent the second day of IndieWeb Summit working on this, and it has now been rolled out to all Micro.blog users. (If you haven’t posted in the last few days, after your next post your microblog will be updated with the new authorization endpoints.)
IndieAuth lets you sign in to other apps using your own domain name. If Micro.blog is hosting a blog for you, you can use that custom domain or your subdomain like yourname.micro.blog to sign in.
While this was possible before with extra configuration to delegate auth to another service, Micro.blog can now be an IndieAuth provider on its own. It’s much easier for IndieWeb apps to work with Micro.blog.
Here are some apps that work great with Micro.blog:
I’m really happy with the progress over the last week because it makes Micro.blog-hosted sites more useful. As I mentioned in my IndieWeb Summit keynote, the business model for Micro.blog is aligned with what users need. If you pay for Micro.blog hosting, we’ll keep making it better without worrying about ads or other user-hostile distractions.
Well, well, well. LeBron to the Lakers. Maybe Kawhi follows to LA on his own next year, but let’s take this one year at a time. 🏀
Even with the uncertainty around Kawhi, there’s some good news for the Spurs: Rudy Gay re-signs for another year. Also love that Belinelli is coming back. 🏀
As I mentioned in my IndieWeb Summit wrap-up, I added support for IndieBookClub while in Portland. IndieBookClub is a little like Goodreads, but built on standards like Microformats and Micropub so that you can post what you’re reading to your own blog.
Now that I’m back in Austin, I’ve tweaked the behavior to be smarter about recognizing the ISBN that IndieBookClub sends to Micro.blog. Posts from IndieBookClub also get the 📚 emoji added automatically so that they show up in the books Discover section on Micro.blog. Here’s a screenshot of what posts look like on your Micro.blog-hosted site:
If the ISBN is specified, Micro.blog will redirect the link to Amazon, although we may change that in the future. And it’s just a regular blog post, so you can always edit it using Markdown in Micro.blog.
Last week I was in Portland for IndieWeb Summit. This was only my second IndieWeb conference (the first was IndieWebCamp in Austin). I had a great time in Portland and got even more than I expected out of IndieWeb Summit.
The first day was short keynotes and sessions led by attendees on a range of topics. Jean and I talked about our experience and goals with Micro.blog in reaching even more mainstream users. I went to sessions on Microformats, timeline algorithms, code libraries for common IndieWeb building blocks, and Microsub. Some of this carried over to the beginning of the next day, including Aaron Parecki leading a discussion about IndieAuth.
We held a Micro.blog meetup at Von Ebert Brewing after the first day wrapped up. Thanks everyone for joining us!
Most of the second day was a hack day to work on our own projects, and at the end of the day everyone could present what they had worked on. I was so impressed with what people had come up with, whether that was improvements to their own site or prototypes for new tools.
It turned out that having this dedicated time was exactly what I needed to turn Micro.blog into an IndieAuth provider. This means that Micro.blog no longer needs to delegate to Twitter or GitHub for authorization when someone is using an IndieWeb posting tool like OwnYourGram or Quill. Users can instead authorize directly with their Micro.blog account. I also added support for the summary fallback parameter in Micropub, which makes Micro.blog compatible with IndieBookClub.
In the morning before I left Portland, I interviewed Tantek and Aaron for my upcoming book Indie Microblogging. We had a great conversation on the founding of IndieWebCamp, the accomplishments and changes in the community, and where everything is going from here.
Portland was great. For this trip I opted for an Airbnb close to the IndieWeb Summit venue. It was also just a block from Coava Coffee, where I spent a couple mornings catching up on work. I hope to be back in Portland for IndieWeb Summit next year.
Posted this week’s Core Intuition about macOS dark mode, UIs that presume too much, and booting up a 2008 Mac Pro.
Slow start for me this morning. Luckily my Airbnb left a Stumptown cold brew coffee in the fridge. Catching up on support email before heading over to IndieWeb Summit day 2.
Great morning at IndieWeb Summit! We’re going to have a Micro.blog meetup in Portland tonight too. See this post from Jean for details.
Great post by CJ Chilvers about blogging regularly, via Micro.blog user @kaa, with a quote from Seth Godin’s podcast. Seth says to blog every day…
CJ adds:
For more people to blog more often, blogging has to be easier. That is a key premise of Micro.blog — why blogging UIs should take inspiration from Twitter and Instagram, and why we have little incentives like unlocking the 30-day pin on Micro.blog for blogging every day.
Had a really nice Father’s Day. Incredibles 2 was great. Ended up watching the original twice over the last few days. Nice to see the sequel rewarded at the box office: $180 million for the weekend.
Watched the Incredibles (1) last night. It’s still so good. Found my blog post from 14 years ago about first seeing it, needing a break from the news just days after Bush was re-elected. Could’ve been written today.
Posted Core Intuition 332. If you’re wondering why no one is talking about how post-WWDC Siri still can’t set multiple timers, this episode is for you.
Back online after taking some time off to camp at Colorado Bend State Park last night. Great hike down to the waterfall this morning.
There are a few more Micro.blog apps currently in development that I’m really excited about. Here’s the latest dev build video from Kiwi for macOS. Looks great.
I usually queue up Micro Monday when it goes live, but today has been a blur, and I just finished listening to the latest episode in the car while running an errand. This week, Jean talks to Jim Withington about early blogging, XOXO, and more. Enjoy!
Finally tracked down and fixed a couple issues with photo upload in Micro.blog after recent server improvements. Everything should be working much better now.
Server upgrade went pretty smoothly. Photo uploads were disabled for about 10 minutes, but everything else stayed up. Improved profile photos to be a little more resilient as well.
Starting to convince myself that LeBron might have another great game in him. Sweeps in the finals are rare. Only twice in the last 20 years: Lakers/Nets and Spurs/Cavs, where LeBron’s team lost game 4 by 1 point. 🏀
Going to take photo upload offline for a quick update tonight, midnight CST. The rest of Micro.blog will stay up including all hosted blogs.
Of course I’m going to watch game 4 tonight, but I’m not really looking forward to it. The series could easily have been 2-1 tonight. Kind of ready for next season already. 🏀
Just posted this week’s episode of Core Intuition with our initial thoughts on WWDC 2018: UIKit on the Mac, Siri’s automation-based strategy, App Store trials, and more.
The past can be a bit of a blur, but I think this was my 20th time out to San Jose and San Francisco for WWDC. 1996, 1997, 2001-2018. Feel lucky to have seen the platforms change and the community grow. Still exciting.
Updated my WWDC expenses page after going through some more receipts. Surprisingly close to what I had estimated.
Trying to catch up on work now that I’m back in Austin. Recorded a new Core Int that’ll be out later. Tempted to install iOS 12 but probably should wait until everything else is done.
Quick layover in Los Angeles on the way home. Had a great time in San Jose. Thanks again to everyone who made it to the Micro.blog meetup yesterday or said hi during the week. Enjoy the rest of WWDC!
Thanks so much to everyone who joined us at the Micro.blog meetup! We had a great turnout. Really enjoyed talking with everyone.
Good news that they’ve improved the Mac App Store enough to convince Panic and Bare Bones to bring Transmit and BBEdit back to the store. I also like the pre-announcement of UIKit on the Mac, since it was clear they’ve been using this thing anyway. But now we have to wait.
Don’t forget, if you mention WWDC in a microblog post today it unlocks a secret pin on Micro.blog. Happy keynote blogging!
I haven’t really processed the GitHub news yet. I wrote a few years ago that I thought Automattic and GitHub were companies that could last for 100 years, following the spirit of the open web and safe to use for hosting or mirroring our content. Maybe I was wrong.
Rolled out a series of performance improvements tonight for posting on Micro.blog-hosted sites. Had to work through a few unexpected glitches. If you noticed any posts that were slow to update, they should be live now.
I was re-reading Om Malik’s essay about algorithmic timelines today. There is a lot that is relevant to our approach with Micro.blog.
Got new lenses for my scratched-up glasses. Store employee thought I was nuts not to get new frames too (covered by insurance) but I’m the worst at picking out the perfect frames among hundreds. My buying strategy for anything is just gimme a new version of what I already have.
We just posted our pre-WWDC podcast episode:
If you’ll be in San Jose, hope to see you at the Micro.blog lunch meetup on Tuesday. I’d love to talk to listeners about Micro.blog or Core Intuition, and we have a major update to Sunlit in beta that I’ll be showing off.
Tough loss for the Cavs, letting that one slip away. Even with a bad call late in regulation, Cavs could’ve had that one. Hope game 2 is as competitive. 🏀
Need to get back into adding new Micro.blog pins, so added a “25 posts” pin and a new secret pin for WWDC that will unlock if you mention the conference on Monday.
We’ve been working on a major update to Sunlit. Not sure if the beta will be out before WWDC, but if you’re at the Micro.blog meetup on Tuesday, I’d love to show off the app there. It’s for anyone who loves Instagram but is tired of ad-supported silos.
Gonna miss NSDrinking after all tonight… But in related WWDC news, new Core Int will be out tomorrow with our predictions, and then in just a few days I’ll be in San Jose. Starting to get excited about the trip.
Going to Radio Coffee & Beer tonight at 8pm for NSDrinking. Stop by for a coffee or beer and last-minute WWDC predictions.
10 years ago today, @danielpunkass and I released the first episode of Core Intuition. It was right before WWDC when Apple introduced the App Store.
Rockets took 44 3-pointers but made just 7. 16% wasn’t going to cut it. Amazing that they only lost by 9 points. 🏀
We made a small tweak to the Discover screen yesterday to randomly show a few of the common emoji, instead of always the same 3. Still want to improve this with more emoji.
No Kyrie, and yet the Celtics nearly made it all the way. It was an impressive run. But LeBron, even without home-court advantage for round 2 or 3… Incredible. 🏀
Rolled out a new setting to hide @-mentions to people you aren’t following on Micro.blog. You can toggle it globally across all apps under Account → Timeline on the web.
Posted a new Core Intuition about the Twitter API changes, Micro.blog, more on Ghost’s API, a technical diversion into Photos.app drag-and-drop, and some thoughts on the Developer’s Union.
At this point I think I’d rather never send an email to customers again than bother them with a GDPR update email today.
I’m starting to jot down notes of things to do in San Jose. I try not to over-plan for WWDC, but there are a couple things I don’t want to miss. You can also now sign up for more info about our Micro.blog meetup.
In addition to the post this morning with Icro developer Martin Hartl, there’s a new episode of Micro Monday where @macgenie also interviews Mike Haynes about his app Dialog. Love that it worked out to feature 2 third-party developers today.
The Developers Union is a good idea. I’d love to see Apple incorporate some kind of discussion at WWDC each year specifically about what the union is advocating for. Kind of like the old WWDC feedback sessions, but with a very narrow focus.
Posted a new episode of @coreint with talk about GDPR, the podcasting world, NPR and non-profits, Ghost’s 5-year review, and more.
The writing has been on the wall for years. Now that Twitter plans to move ahead with deprecating APIs that apps like Twitterrific and Tweetbot use, it’s even more clear that there’s no overlap between Twitter’s priorities for the API and what traditional clients need.
When I wrote about Icro, the first third-party app for Micro.blog, I said that I always want to encourage other developers building for Micro.blog. It’s worth exploring how these Twitter API changes compare to Micro.blog and how we can improve.
The streaming API is a big part of this. Twitter apps currently use the streaming API to deliver tweets in real-time without polling, or to notice when someone is @-mentioned so that a push notification can be delivered. Losing this API is especially frustrating because it means developers need to rewrite a bunch of code only to make their apps a little worse instead of better.
Micro.blog doesn’t actually have a streaming API yet. Micro.blog supports multiple APIs, but no persistent connection. The new app Icro doesn’t have push notifications, although the official Micro.blog app does. For a brand new app like Icro, it would be a lot for the developer to also run a server just to do push notifications.
As I think about how we solve this, I remember a discussion in the Twitter developer community when the iPhone first got push notifications. It was an open question: should Twitter third-party developers run their own servers for push notifications, or should Twitter itself deliver push notifications on behalf of third-party apps? Obviously third-party developers have had to run their own servers.
I think a goal for us with Micro.blog should be that third-party developers get access to the same basic tools that we use to build our own apps. Rate-limits should be the same for an app like Icro as they are for the official Micro.blog app, for example.
With that in mind, I’ve mentioned before that I’d like to offer a push notification service for developers. iOS and Android developers could upload their push notification credentials from Apple and Google. Micro.blog would store them and deliver push notifications directly to third-party apps.
This has a few pretty big advantages:
This is a little bit of extra work for Micro.blog, but Micro.blog is already doing similar processing when a reply comes through. For every reply to a blog post, Micro.blog checks if there is a Webmention endpoint so that it can forward that reply to an external site, such as one hosted on WordPress. Opening up push notifications feels like a natural extension to that.
Some developers might not be comfortable outsourcing this to Micro.blog. That’s fine. In particular I’d like to hear any concerns over security or features where this approach would be too limited. (To be clear, we’d offer this for free. Our business is blog hosting.)
Back to the Twitter news. John Gruber summed it up this way:
That’s a great analogy. Micro.blog is barely a year old, so there is plenty still to do, and there are parts of the API that aren’t as mature yet as they will be. But I think we’re transparent about what we’re trying to do and how we can support developers. We’re not going to be jerks about it.
I’m really excited by what I’m seeing from the community. Icro is in the App Store. Slate is another iPhone app currently in beta. Dialog for Android is in the Google Play Store as a public beta. And then there are all the apps following IndieWeb standards that are compatible with Micro.blog.
WWDC is only a couple weeks away. We’ll have a Micro.blog meetup on Tuesday (June 5th) at lunch. I’d love to talk to developers at the meetup or anytime that week in San Jose to get feedback on how we should handle streaming and notifications.
I’ll have more to say tomorrow specifically about the technical side of Twitter’s streaming API, but for now I want to highlight where this all started. In August 2012, Twitter posted to their blog about upcoming changes to their API. This was the post with the infamous 4-quadrant chart showing which third-party apps Twitter wanted to encourage, and which apps (in the upper-right quadrant) they didn’t want third-party developers to work on anymore.
From the post:
Although it wasn’t clear in the blog post, Twitter later clarified that Storify and Favstar were fine. Nevertheless, Storify announced last year that the service would be shutting down… tomorrow, actually. Favstar is shutting down next month.
The post from Twitter continues:
It has taken nearly 6 years, but it feels like today’s API changes finally wrap up the work that started in 2012. The apps that are possible with the new Account Activity API are exactly the apps that were encouraged in those other quadrants. The pricing makes no sense because it wasn’t designed for traditional Twitter apps like Twitterrific and Tweetbot.
Two months after that post from Twitter, I quit the platform and stopped posting to @manton in protest. I only wish I had started working on Micro.blog immediately in 2012.
Today the first third-party Android app for Micro.blog is out in beta. This is a really big deal. Now to find where that old Android test phone is buried in my messy office.
Trying out the Cappuccino feed reader. Looks like it has partial compatibility with JSON Feed too. (Works in some feeds, but not the Micro.blog timeline feed.)
My Mondays have been a bit of a blur lately, trying to finish a bunch of things at once. Looking forward to queueing up the latest episode of Micro Monday.
Since the day I introduced Tweet Marker, people wondered if Twitter would add an official timeline sync API. They never did and clearly never will. It’s been about 7 years.
Thinking about Favstar shutting down. No doubt the first of several new casualties from Twitter’s latest rule changes. The end of the third-party Twitter era has a kind a “let the past die” feel to it.
I’ll be attending IndieWeb Summit next month. If you’re interested in indie blogging or what we’re doing with Micro.blog, consider joining us for the 2-day conference in Portland. I like how gRegor Morrill highlighted that the group should be more than just programmers:
There’s a lot of overlap between the Micro.blog and IndieWeb communities. As we’re now in Micro.blog’s 2nd year, I expect the platform to become more mature, and I’ll be wrapping up a few loose ends with IndieWeb technologies. IndieWeb Summit will be a great time to reflect on what we’ve been able to do and look to what’s next.
Downtown today for a meeting and while I like getting out, there are so many little ways to get derailed and lose all productivity. It’s after lunch and just feel like I’m starting to get some stuff done. Now at Alta’s for coffee and work, overlooking the lake.
There’s an interview with me in the latest Club MacStories email newsletter. I talk a bit about the goals of Micro.blog and how people are using the platform. Also a link to Icro!
Trying to get the costs down for WWDC and other trips this year, I’ve decided to document my estimated budget and final expenses. We’ll see how close I get.
Just posted a new Core Intuition with a discussion about Google Duplex, App Store pricing, and Daniel’s rewrite of MarsEdit’s image handling code.
People often write about Micro.blog, but I don’t usually do a good job of pointing to all the reviews. A new blog post this week from Lance Somoza stood out to me:
Thanks everyone for taking a chance on the platform. I’m really happy with how the platform has grown, from new photo blogs and microcasts to third-party apps like Icro. We don’t have ads and we don’t have venture capital funding. The support from the community drives everything.
Did you register a brand new .app domain this week but not sure where to point it? Micro.blog-hosted blogs make nice product sites. 🙂 Easy setup, custom pages, and a microblog for app news.
One of the best things about not having an ad-supported business is it doesn’t bother us if you use an app like Icro instead of the official Micro.blog app. No need to control the timeline experience. Use whatever you like best.
Last month I gave a talk about microblogging at Peers Conference in Austin. In it I covered Twitter’s changing attitude toward developers, from the early days when everyone wanted to build a Twitter app — as John Gruber wrote in 2009, Twitter apps were a playground for new UIs — to when Twitter started actively discouraging traditional third-party Twitter clients.
For Micro.blog, I always want to encourage third-party apps. We support existing blogging apps like MarsEdit, and we have an API for more Micro.blog-focused apps to be built. I’m excited to say that a big one just shipped in the App Store: Icro.
Icro is well-designed, fast, and takes a different approach to some features compared to the official Micro.blog app. In a few ways, it’s better than the app I built. This is exactly what I hoped for. We wanted an official app so that there’s a default to get started, but there should be other great options for Micro.blog users to choose from.
Here are a few screenshots from Icro:
Thanks to developer Martin Hartl for building Icro and being part of the Micro.blog community. You can download it for free from the App Store here.
Added a help page with a download link and HTML examples for using the Micro.blog logo (in SVG) for anyone who wants to link from their blog.
Maintenance tonight on Micro.blog that I thought would just be a couple minutes ended up being 15+ minutes. Apologies for the downtime. (Hosted blogs remained up.)
Doing some long-overdue maintenance on the Tweet Marker database, clearing out old sync data that is no longer needed. Fun to watch the Redis memory usage go down. (This will free up more room to scale Micro.blog on existing servers.)
On the latest episode of Timetable, I talk about the upcoming Icro app for Micro.blog and what to do while waiting for the App Store.
Reflecting on the 20-year anniversary of the iMac, I’m actually struck by how Mac sales haven’t increased as much as I thought they had. 4-5x, but in my head it seems like the Mac is 10x as popular.
App Store propagation delays of 24+ hours might even be worse when you’re waiting for someone else’s app to go live. Still really confused by these delays.
There’s a new Micro Monday up! Favorite line from this episode: how early blogging was like “a window into another part of the world”. (We’ve got 9 episodes now. Great way to see what the Micro.blog community is up to.)
Took some time this morning to update several of the help pages: how Micro.blog uses emoji, Mac release history, and iOS questions in the FAQ.
One month until WWDC, realized tonight that I had never booked my flights. Fixed now and lucked out with a good price.
Updated the Mac app for Micro.blog to 1.3.1, working around an issue with imported Instagram photo @-mentions. If you missed the big release, I have a blog post and video here with details.
On the latest episode of Core Int, @danielpunkass and I talk about my experience at Peers Conf, Apple frameworks, and more. Thanks for listening!
For the 100th episode of Timetable, I record a podcast while a thunderstorm rolls through Austin. The new Mac app, photo blogging, and some thoughts on a year of Micro.blog.
Shipping a new Mac-only feature today. I know this is disappointing for Android and Windows users, but I think this year we’ll have a more complete cross-platform story. Thanks for your patience as we try to do a lot with a tiny team.
For anyone who downloaded their Instagram archive, how big was the .zip file? Mine was 30 MB, but I stopped posting last year and only had a few videos. Wondering if the average size is too big for anything except as a backup.
I’ve never sent an email to all Micro.blog users until today. As indie developers, sometimes I think we worry so much about accidentally spamming a customer that we err too much on the side of sending essentially no email. As we’re at about the 1-year mark for Micro.blog, it seemed like a good opportunity to send an update. Here’s the text of the email that went out.
A little over a year ago we started rolling out Micro.blog to Kickstarter backers. So much has happened since then — from new Micro.blog platform features to companion apps like Sunlit and Wavelength — that I wanted to highlight a few milestones.
First, thank you for your support. We wouldn’t be able to continue to improve Micro.blog without the feedback from the community. Special thanks to everyone who has supported Micro.blog directly with a paid plan for a hosted microblog.
If you haven’t checked out Micro.blog lately, here are some things that happened just in the last few months:
You can always add a new hosted microblog or upgrade a trial by clicking “Plans” from Micro.blog on the web.
Any questions or feedback? Don’t hesitate to let us know: help@micro.blog.
— Manton
Great sketchnotes by @bsndesign from last week’s Peers Conference, including one for the talk I gave about microblogging.
Updated the microcast hosting on Micro.blog to support customizing the iTunes “author” tag. It’ll default to your account name, but sometimes that’s a podcast name and you want a real person’s name for the author.
Fixed an issue this morning that should make a dramatic improvement to how fast a post shows up in the timeline from a Micro.blog-hosted blog.
I’ve bumped up the MP3 hosting in Micro.blog to 25 MB per episode, and updated the help page with some audio length examples. Happy podcasting!
Still reflecting on my time at Peers last week. Met some great people. Gave a talk about microblogging. Micro.blog meetup. ☕ Great conference and a fun week. Hope everyone enjoyed their time in Austin!
Posted episode 325 of Core Intuition. Daniel and I talk about the anticipation of Peers Conf, SmugMug buying Flickr, thoughts on Tumblr, and more.
Having a great time at Peers. Reminder: we’re having Micro.blog meetup at Juan Pelota Cafe on Friday morning, 8:30am. If you’re in Austin, hope you can join us!
Took the train downtown today and walked by the lake before breakfast. Micro.blog planning with @macgenie.
There’s a new episode of Micro Monday up! Thanks @RosemaryOrchard for being on the show. (For past episodes, see the Episodes or Subscribe links on the web too.)
Looking forward to Peers Conference this week! We are also going to have a little Micro.blog coffee/breakfast meetup on Friday morning. 8:30am at Juan Pelota.
Just a quiet, rainy Saturday afternoon new feature. Added 📷 emoji to Discover on Micro.blog. This matches the photos in the Discover tab in Sunlit.
Missed a bug with photo posting in version 1.3.4, so Micro.blog for iOS 1.3.5 is now out. Thanks everyone.
Linked the 🎙️ emoji in Discover to a list of recent podcasts. Still tweaking the filters, so it doesn’t include everything yet, but already a good way to find some microcasts.
We shipped version 1.3.4 of the Micro.blog iOS app. It includes a bunch of photo-related improvements and bug fixes, including better support for non-square photos.
We’re on a bit of a roll with Micro.blog, shipping microcast hosting, our brand new app Wavelength, a new blog theme, and this iOS update all in the last week. Great time to join or come back to the platform.
Love seeing new photo blogs like this one at burk.photos, hosted on Micro.blog. Great way to own your photos, whether you cross-post to Instagram or don’t.
Just updated the Micro Monday site with transcripts for the last 2 episodes. Also now using the new theme we rolled out last week.
It’s possible to be too pragmatic. I’d rather hope for something better and fail than be stuck accepting the way things are.
Trying to dig out from a 130+ support ticket queue. Thanks for your patience. I’m not perfect, but I promise when I reply it will be more than a one-word answer.
We just wrapped up a bunch of improvements to the initial Wavelength for Micro.blog app. Here are the changes:
I recorded and edited the last 2 episodes of Timetable exclusively with Wavelength on my iPhone X. It’s really great to see some new microcasts pop up over the last few days. Thanks for trying it out!
Posted a new Timetable last night. New Core Int this morning. Wavelength 1.0.2 waiting for review today.
Changed the default Micro.blog profile photo from the Gravatar image to a simple gray. Best to upload a custom profile photo. If you’ve uploaded one recently, it also saves a higher resolution version for podcast cover art.
Fixed an issue with upgrading hosted sites from trials that I missed when we added the new microcast plan to Micro.blog.
Added a new Micro.blog theme today for hosted sites: Marfa, based on a theme by @mmarfil, inspired by the Cactus theme. Enjoy!
Fixed an issue with feed refresh today that was slowing things down for certain sites. Think we’re closer to an optimal balance between the server polling thousands of sites constantly and being smart about it.
Core Intuition 323 is out. Daniel and I talk about the Black Ink beta and Wavelength for Micro.blog.
Thanks for the feedback about Wavelength and microcast hosting, everyone! We are excited about the potential for this.
Added a help page for how microcasting on Micro.blog works. I’ll be adding more tips to this, including a Wavelength walk-through later.
We have something really big to announce today. Micro.blog now supports hosting short-form podcasts, also known as microcasts, with a companion iPhone app called Wavelength for recording, editing, and publishing episodes.
Before the Kickstarter campaign last year, I started my Timetable microcast to talk about the things I was working on, with a focus on planning what would become Micro.blog. Creating a short podcast is really fun. It’s much easier to record and edit than the longer podcasts we’re all used to. But it’s still not easy enough, and even after nearly 100 episodes of Timetable my workflow was cobbled together with too many apps: Ferrite, Logic, Auphonic, WordPress, a shell script, and sometimes Transmit.
Micro.blog is about making short-form content you own as simple to post as a tweet because we believe blogging should be easier. Podcasting should be easier too.
We’re rolling out a new hosted plan on Micro.blog to accommodate microcasts. When you upload an audio file to your site — either from the web, Wavelength, or a third-party app — Micro.blog will automatically create a podcast feed for your microblog. Listeners can subscribe directly, or you can add the feed to the Apple Podcast Directory and it will show up in popular apps like Overcast and Castro. Everything can be served from your own domain name, just like a normal microblog. We’ve been using this infrastructure for all the episodes of our weekly Micro Monday microcast.
New hosted microblogs with microcasting support will be $10/month. Microcast audio files will be limited to 20 MB. Existing microblogs hosted on Micro.blog can be upgraded to support microcasting for an additional $5/month.
Everyone has a story to tell. Whether that’s through short microblog posts, longer essays, photo blogs, conversations with friends, or now through podcasts, I hope that the Micro.blog platform and suite of apps can help. If you haven’t checked out Micro.blog lately or are learning about it for the first time, now is a great time to join the community. Thanks!
When adding a brand new feature, I expect a few people ask: “Why not make the boring old features better first?” That’s fair. But I think we need to do both at once.
Still too early to say, but looking like the Spurs may end up finishing 7th to face the Warriors in the first round. Fitting. 🏀
I’m going to take one of the Micro.blog servers down tonight for a quick upgrade. Midnight CST. Photo upload will be down or delayed for a few minutes, but no downtime expected for anything else.
Made what I thought was a small performance improvement in Micro.blog earlier today. Turns out to have a pretty big impact. Reminder that these little things add up.
Do you kind of love and hate Twitter, and wonder what Micro.blog is about? This guide by @macgenie is for you.
I posted a link to this last week, but it’s worth some additional comments. Apps of a Feather is a new site to spread awareness about upcoming Twitter API changes:
I have a long history with Twitter. I was user #897. I built multiple apps for the platform. I invested so much of my time and code into the Twitter ecosystem.
Then Twitter leadership showed us the future, and it was clear that third-party developers had little or no place in it. It was just a matter of time. And now, maybe time has run out.
If you still love Twitter, absolutely tell them to reverse course and rebuild their relationship with third-party developers. These are great apps and great developers, and I don’t want to see their business cut down because of a developer-hostile platform outside their control.
Meanwhile, we’re working to make Micro.blog better every day. It’s the most ambitious thing I’ve ever worked on. Building for the open web needs to be done in parallel to hoping the other social networks improve, whether you’re still waiting for those sites to do the right thing, or already know it’s time to move on. I only wish we had started sooner.
Just published episode 97 of my Timetable microcast. Wrapping up some recent improvements and anticipating what’s next.
“We could continue to flock to Twitter and Facebook — we could keep paying those who have and will rip off democracy for a stock price — or we could turn our backs and help the open web instead.” — Brent Simmons
This is going to be a huge week for Micro.blog. Really excited about some of the things we’ve been working on.
Lots of new folks joining Micro.blog today. Thanks for being here! Don’t forget to check out the Discover section to find people to follow or new posts to read today. iOS and Mac users, try the native apps, or our companion iOS app Sunlit for photos.
The writing has been on the wall for third-party Twitter apps for years. It’s why I stopped posting from @manton in 2012, and ultimately built Micro.blog. Now apps have an even more uncertain future if Twitter doesn’t change course.
Instagram has always had the most-limited API of any modern web service. Sounds like it’s getting even worse.
We just posted Core Intuition 322. From the show notes:
Stephen Hackett also commented today on Matthew Panzarino’s visit to Apple Park to get a status update on the Mac Pro:
I think Stephen is right, but on Core Intuition today we explored the opposite: what if the 2019 Mac Pro is the first ARM-powered Mac? What it was like to be at WWDC when Apple announced the Intel transition, the value of third-party pro apps, and much more on this episode. Enjoy!
Just posted Micro Monday episode 4 with @patrickrhone. Really love Patrick’s thoughts on Micro.blog and having a philosophy.txt file.
Great post by Joe about WWDC on a budget. It’s about compromises. I feel like I get 90% of the value at about half the cost I used to pay.
We start this week’s Core Intuition talking about the Apple education event in Chicago. More in the show notes:
Thanks for listening and subscribing to the show.
A couple weeks ago the Spurs were 10th place in the west. Now, they’re 4th. Only 6 games left and anyone’s guess what the standings will look like. 🏀
Tonight I deployed what I think will be a big performance improvement to posting on Micro.blog-hosted sites. Will be keeping an eye on things over the next day.
Coffee and work at Apanas this morning, then checked out the new Amazon Books store. Bigger than I expected and very nice.
Posted the transcript for episode 3 of Micro Monday. Love having these transcripts. Still a goal to have transcripts for Core Intuition one day.
Posted episode 96 of Timetable with quick thoughts on Apple’s event and how difficult it is to name new apps.
Really happy to see the Apple Pencil supported on the $329 iPad. I also like Tim Cook’s shout-out to kids marching. Skimmed most of the event video, though.
Decided to skip following the Apple event live coverage today. Look forward to the blog post summaries after everything wraps up.
We released an update to Micro.blog for Mac today with support for multiple accounts. I created a quick screencast video to show off what it looks like:
There’s also a new help page with some more information about why you might want separate accounts or blogs.
Version 1.2 of Micro.blog for Mac is now available, with support for multiple accounts and posting to different microblogs in the same account.
Aldridge with 45 points in an intense game to beat Utah in OT. Feels like the playoffs started already for half the western conference. 🏀
We posted this week’s Core Intuition. Some of my favorite episodes are when Daniel and I talk through an issue unplanned and reach some insight, which happened on this one. Hope you enjoy it!
Reviewing the Micro.blog timeline algorithm this morning. Doesn’t look like it needs any changes: ORDER BY posted_at DESC.
Naturally because of the goals of Micro.blog, I see a lot of discussion about “owning your content”. It’s an important part of the mission for Micro.blog to take control back from closed, ad-supported social networks and instead embrace posting on our own blogs again.
But what does it mean to own our content? Do we have to install WordPress or some home-grown blogging system for it to be considered true content ownership, where we have the source code and direct SFTP access to the server? No. If that’s our definition, then content ownership will be permanently reserved for programmers and technical folks who have hours to spend on server configuration.
IndieWebCamp has a generations chart to illustrate the path from early adopters to mainstream users. Eli Mellen highlighted it in a recent post about the need to bridge the gap between the technical aspects of IndieWeb tools and more approachable platforms. With Micro.blog specifically, the goal is “generation 4”, and I think we’re on track to get there.
I want blogging to be as easy as tweeting. Anything short of that isn’t good enough for Micro.blog. You’ll notice when you use Twitter that they never ask you to SFTP into twitter.com to configure your account. They don’t ask you to install anything.
More powerful software that you can endlessly customize will always have its place. It’s good to have a range of options, including open source to tinker with. That’s often where some of the best ideas start. But too often I see people get lost in the weeds of plugins and themes, lured in by the myth that you have to self-host with WordPress to be part of the IndieWeb.
Owning your content isn’t about portable software. It’s about portable URLs and data. It’s about domain names.
When you write and post photos at your own domain name, your content can outlive any one blogging platform. This month marked the 16th anniversary of blogging at manton.org, and in that time I’ve switched blogging platforms and hosting providers a few times. The posts and URLs can all be preserved through those changes because it’s my own domain name.
I was disappointed when Medium announced they were discontinuing support for custom domain names. I’m linking to the Internet Archive copy because Medium’s help page about this is no longer available. If “no custom domains” is still their policy, it’s a setback for the open web, and dooms Medium to the same dead-end as twitter.com/username URLs.
If you can’t use your own domain name, you can’t own it. Your content will be forever stuck at those silo URLs, beholden to the whims of the algorithmic timeline and shifting priorities of the executive team.
For hosted blogs on Micro.blog, we encourage everyone to map a custom domain to their content, and we throw in free SSL and preserve redirects for old posts on imported WordPress content. There’s more we can do.
I’m working on the next version of the macOS app for Micro.blog now, which features multiple accounts and even multiple blogs under the same account. Here’s a screenshot of the settings screen:
The goal with Micro.blog is not to be a stop-gap hosting provider, with truly “serious” users eventually moving on to something else (although we make that easy). We want Micro.blog hosting to be the best platform for owning your content and participating in the Micro.blog and IndieWeb communities.
Sent a Kickstarter update to backers. I don’t usually ask for anything, but decided to close the email suggesting you invite a few friends to Micro.blog. I know a lot of people are deleting Facebook this week, so maybe they’re looking for a new community too.
Watching more basketball as I work on some iOS stuff. Some great games today. Thought that UT would win a few, though. Now tuned into Kings/Warriors, tied in the 4th. 🏀
Noticed more people wanting a second microblog lately, so rolled out support for custom blog titles today. Each blog can have its own title, custom domain, design, etc. shared under a single username. (Or create a new account if you want it completely separate.)
Latest home screen. Not many changes recently… Sunlit is new and replaces Instagram. Micro.blog and Ulysses in the dock and used often. Top and bottom rows blank.
David Smith has shared the stats he’s been collecting on Apple Watch usage from his apps, hoping that Apple will drop support for the original Apple Watch (Series 0) sooner rather than later:
Federico Viticci adds this in his link from MacStories:
The big difference between the Apple Watch and the original iPhone or iPad is that many people (perhaps most) do not run third-party apps on the watch. Those people are not even counted in David Smith’s numbers. Unlike the iPhone and iPad, which are significantly improved with new apps, the Apple Watch is pretty good with only the built-in Apple features.
After a few years, I still wear my Series 0 every day. Here’s what I use it for:
For these tasks, performance and API support just don’t matter as much. The way I use my Apple Watch is the equivalent of someone who only tells a HomePod to play Apple Music and asks no other questions. A little sad, but it works fine and I expect to keep the Series 0 for another year or so before upgrading.
I feel for developers who want the Apple Watch to be a much more mature platform. I want that too. But I don’t think it’s as simple as copying what has worked for native apps on Apple’s other platforms.
The future of the Apple Watch isn’t just better widgets; it’s voice. Both WatchKit and Siri need a major shakeup. Apple should make Siri more consistent across Apple Watch, iPhone, and HomePod, with a more flexible server-based API like Alexa. If they can do that while also rethinking WatchKit at the same time, even better.
The latest Core Intuition is out. Daniel and I talk about WWDC and related topics for the full episode:
Thanks for subscribing! Looking forward to seeing some Core Intuition listeners out in San Jose.
WWDC 2018 dates are set. I’ll be out in San Jose for a few days, and we’ll probably do a Micro.blog meetup again. Best of luck to everyone trying to get a ticket!
Nice time at Open Coffee this morning. Just enough SXSW for me. Working outside at Halcyon for a little while.
We’ve started a new podcast! Jean MacDonald will be hosting a weekly show talking with members of the Micro.blog community. I join her on the first episode to talk about our blogs and goals for the podcast.
You can listen to Micro Monday on the web, subscribe in Overcast, or follow @monday on Micro.blog. Thanks for listening! Update: Check out our subscribe page for more links.
We released an update to Sunlit today. Lots of little bug fixes and improvements. (The App Store has been slow this week, but it should show up in your Updates tab soon if it’s not already there.)
I also updated the Micro.blog timeline to add tiny photo thumbnails for Sunlit stories that have a title. Here’s a screenshot:
Because Micro.blog is focused on microblogging, short posts without a title still show directly in the timeline, but longer posts with many photos and a title just link back to your web site. Adding this little preview gives a hint for what is behind those links.
Lots of things happening at once. Today is the 16th anniversary of my blog. Worked on something brand new today that we’ll release on Monday.
We just published this week’s episode of Core Intuition, talking about the new Sunlit release and other topics. From the show notes:
Thanks for listening!
If you like what we’re doing with Sunlit, consider leaving a quick review in the App Store. We don’t link or prompt anywhere in the app for reviews.
Updated the Micro.blog timeline to show tiny preview thumbnails for the first few photos in Sunlit stories that have a title. Gives a hint as to what is behind the link before you click it.
We rebuilt Sunlit for 2.0 so that it’s focused around blogs. You can collect photos together in stories and publish them directly to a Micro.blog-hosted site or compatible blogs such as WordPress. It’s a free download. (If you need a great place to host your photoblog, consider signing up for a paid microblog on Micro.blog.)
To show off Sunlit in the App Store, I created a few app preview videos. Here’s one of them:
Thanks for your support. Sunlit 2.0 is just the beginning for what we want to do with photos and microblogging. Hope you enjoy it.
Rolled out some performance improvements to feed downloading last night, which should make several things a little faster.
Postponing the Sunlit release until tomorrow. App Store caching seems completely unreliable today. Not thrilled by this delay because we’ve had additional fixes for 2.0.1 we could’ve submitted if we knew we had an extra day of doing nothing.
Tired of waiting for the App Store to update, so instead I worked on something I can control: deployed some Micro.blog server improvements to add a Conversation link on the web for any post that has replies.
Pretty annoyed with the App Store this morning. Waiting 3+ hours for Sunlit to show up. Can never tell if I should wait a little longer or if it’s just broken.
Micro Monday: @mikehaynes, who posts about comics, shares photos, and writes about technology. Mike is designing a third-party Micro.blog app for Android.
Still haven’t seen The Shape of Water, but can’t argue with any of the Oscar wins. Best actor/actress/supporting were all my favorites. Especially happy for Glen Keane.
Spent hours creating preview videos for Sunlit 2.0 only to realize I should have created them on a 5.5-inch iPhone instead of the iPhone X. Whoops. Screenshots will probably be sparse on non-X devices for launch unless I have time to redo everything.
We watched Three Billboards today in anticipation of the Oscars tonight. Really great. Still missed out on a few films I was hoping to catch, including the best animated nominees The Breadwinner and Loving Vincent.
Looks like this third-party Android app for Micro.blog is really coming along. They just posted some updated screenshots.
Micro Monday: @kitt, a long-time blogger who posts photos to her microblog, writes about books and more, and has participated in many great conversations on Micro.blog. She also completely customized the look of her microblog with CSS.
We went to see Darkest Hour yesterday, and today rented Dunkirk. Both excellent. Seeing them together gave each film even more meaning.
We’re winding down the beta of Sunlit 2.0 and getting ready to put it in the App Store. Here’s a quick demo video of the drag and drop support.
Over a week ago @danielpunkass and I recorded a show about the HomePod. So busy, finally published it today. All about Daniel’s first impressions and in-depth on Siri vs. Alexa and the future of voice assistants.
Great write-up at MacStories about podcast creation app Anchor. I like what they’re doing (I’ve had similar ideas for Micro.blog audio hosting) but unless podcasters can use their own domain name, concerned it’s another silo dead-end.
This week has been going by way too quick. Month is almost over, and so much work left to do. At least the NBA starts up again tomorrow. 🏀
Micro Monday: @brentsimmons, a champion for the open web. Brent has been blogging for over 18 years, works at @omni, and as a side project built the new RSS reader Evergreen.
Enjoyed the all-star game more than I expected. Didn’t catch the whole thing… Most of the first half and the great final few minutes. But now we’ve gotta wait 4 more days until the next NBA game. 🏀
Abandoned tracks downtown near the new library, as we walked back from Juan Pelota earlier this afternoon. ☕️
Rewatched the original Blade Runner recently, and finally saw the sequel last night. As with all great films, still thinking about it the next day. The parts that were good, were really good.
There was a conversation on Micro.blog about the length. It would have been an even more powerful movie with a couple scenes cut short. Maybe it could have squeezed into a PG-13 rating too.
Nevertheless, it holds its own with the original. I say this as a compliment: a rare sequel that is no better or worse. Feels unique but consistent — in pacing, visuals, and music — as if 35 years haven’t passed since the first one. Loved it.
Lately we’ve had a few cold days, with just enough mist and rain to notice, but not enough to really feel wet. This was from last night before a softball game.
@joec Great essay on good vs. better. But it highlights a problem for Apple: when audio is “good enough”, there’s no room for growth. Alexa as a platform is much more than 2x. I’d say more like 50x, not because it’s good, but because of what it can do.
Started rolling out favicons for all Micro.blog-hosted sites. They’ll automatically use your profile photo, which you can upload on the web under Account. Custom per-site settings to follow later.
Experimenting with a special Discover view that just shows Micro Monday posts. Good way to find recommendations.
Micro Monday: @becky, who recently shipped her iOS app Snapthread 1.5 for combining live photos together. Becky writes about the development process and more on her blog.
In the Apple community we too quickly accept that the HomePod can’t run Alexa. Why shouldn’t it? Voice assistants should be more extensible and universal, not locked to specific platforms.
Posting to Micro.blog from iOS and macOS was broken this morning. It’s fixed now. If you posted something and it disappeared… Unfortunately you’ll need to send it again.
Playing in Oakland tonight, the Spurs are without Kawhi, Dejounte, Tony, and Rudy. And yet if they can hold on to 3rd in the west until the playoffs, who knows. Always optimistic here. 🏀
Moved our old Echo into my office for music, but the kitchen Echo nearby keeps waking up if I speak too loud. They use different Amazon accounts, so I don’t think they can coordinate. Tried changing the wake word, but calling an Echo anything except Alexa doesn’t seem right.
There have been some great discussions on Micro.blog recently about diversity. @macgenie has a post today with more thoughts on where we are and how important this is. Thanks everyone for the feedback!
Just posted Core Intuition 315, talking to @danielpunkass about microblogging, bug fixes, support email, and more.
Not often you see a basketball game with a score of 100-50 just into the 4th quarter. Spurs over the Suns, making up for a couple poor offensive games. 🏀
Love this video from The Verge and how it captures the excitement on the ground during yesterday’s rocket launch. 🚀
Neat to see all the emoji we’re currently tracking for the Discover section in one place. Thanks to @burk for putting this list together!
The new update to Micro.blog for iOS is now available in the App Store. As I wrote about yesterday, it includes an improved conversations gesture. Here’s the full list of changes:
Enjoy!
Still some lingering server issues from the security updates 2 weeks ago. Sorry for the downtime early this morning. Blogs hosted on Micro.blog remained up.
Absolutely incredible what SpaceX has done. Successful launch of Falcon Heavy and then seeing those side boosters land perfectly… Breathtaking. 🚀
I just submitted a new update to the Micro.blog iOS app. It adds a couple new features, including better support for quickly toggling off cross-posting, but what I’m most excited about is swiping to view conversations. Here’s a 45-second screencast demo:
It should be out in a couple of days after Apple approves the release. Thanks for supporting Micro.blog.
Where did the day go? It’s still Micro Monday here in Austin, just before midnight… For this week: @vasta. Thoughtful essays, microblog posts, and contributions to many discussions on Micro.blog. Glad to have him part of the community.
After struggling with a new iOS feature last night, threw out all the code this morning and started over. Starting to see the light at the end of the tunnel now.
Wrapping up the next Micro.blog iOS update, which has more control over cross-posting. Decided to focus on Micro.blog’s own cross-posting for this release, and consider Micropub syndication later. (They are very different models. Just need to focus on the immediate need first.)
Watched California Typewriter today and enjoyed it. On our road trip last summer, we stayed in Berkeley and stopped in front of the store to look in. Regret being rushed and not spending time inside.
You can scroll further back in the timeline from the iOS and Mac apps now. Also, the Discover section is ready for the Super Bowl. 🏈
Spurs have a challenge tonight with the Rockets in San Antonio. Harden and Chris Paul are in. Kawhi and Rudy Gay are out. 🏀
One year ago I linked to Lindy West’s article about leaving Twitter. Today she has an op-ed in the New York Times with the follow-up. It’s excellent, but with a wistful twist at the end that I didn’t expect. Tragic. Important. I can’t stop thinking about it.
A couple years ago on a trip, I finally tried Instagram Stories. Because I don’t like posting things that disappear, I planned to keep copies of all the short videos from my story, and then stitch them together in Final Cut, add some music, and publish them to my blog once a week. It didn’t take long to give up on this. Instagram and Snapchat make it easy to share on their network, but difficult everywhere else.
I much prefer Snapthread’s approach. Becky Hansmeyer has created an app that does exactly what I was trying to do, but instead of fumbling around with Instagram and Final Cut, it’s effortless. And it works with live photos. Highly recommend checking this out in the App Store.
I’ve been catching up on @omni’s podcast: The Omni Show. The latest episode is with Ken Case looking back on 2017 and to product updates for the next year.
Austin folks: NSDrinking is switching to last Wednesday of the month. That’s tonight! 8pm at Radio. Have a coffee or beer and chat about iOS/Mac development. I’ll be there.
DHH writes about how Basecamp is experimenting with removing their “applause” feature — the clap icon that Medium has also recently adopted:
The problem with these “just click a button instead of sending an actual reply” features is that they fool us into thinking we’ve done something meaningful by clicking. Anyone can click a Twitter heart button to show that they’ve noticed a tweet or enjoyed it. It takes very little effort and doesn’t mean much.
On Micro.blog, favorites are private. They are just for your own use, like bookmarks. We’ve found that the lack of public likes encourages people to reply to posts instead, even if it’s just a quick “Thanks!” or “That’s great!” or other comment. It’s a little more meaningful because it requires a bit of effort.
In an interview with Piers Morgan, Trump said something revealing when pressed on his retweets of a racist group:
What Trump is trying to say is that retweets aren’t as important as a tweet you type yourself. Retweets encourage a sort of thoughtless approach to sharing.
We don’t like retweet counts or follower counts in the UI of Micro.blog, because it’s another place for judgement — “this person must not be very interesting if they have so few followers” — instead of letting someone’s content speak for itself. Likes, claps, and retweets aren’t a substitute for a real conversation. We’ll eventually have some form of public reactions on Micro.blog, but we aren’t in any hurry to get there.
For Core Int members, check your secret podcast feed for Extra Intuition 5. @danielpunkass and I talk about replacing cars with bicycles.
Micro Monday: @blankbaby. Scott hosts the podcast Random Trek and reads a lot of books, sharing them on his microblog. He started the year wanting to write more. 🖖
Over the last couple of days we’ve shipped a few improvements to Micro.blog. There’s an update to the Mac version with some bug fixes and better support for showing the title field when you’re writing a longer blog post. The default themes have been updated too.
It’s also much easier to preview themes for your microblog. Under your account there’s now a “Preview Themes” button that lets you click through and test out the themes. Here’s a 10-second screencast recording to show how it works:
Minor update to the Mac app out with a few fixes, including a better Markdown-aware character count. “Check for Updates” to get the latest.
Rolled out some theme changes today, including blog post titles on your microblog home page, and a new “Preview Themes” screen to click through what the themes look like.
On the latest Core Int, @danielpunkass and I talk about how Sunlit fits with Micro.blog, and managing support email and software releases.
Every day we roll out a half dozen little improvements to Micro.blog, with big stuff thrown in when it’s ready. This week my favorite tiny change was making block quotes look better in the iOS/Mac timeline. Doesn’t seem like much, but 100s of these changes add up.
Yesterday we sent Sunlit 2.0 to beta testers. The feedback has been great so far. We just pushed a new version with several important fixes, especially to publishing existing stories.
It’s a little overwhelming to ship a brand new app in the middle of everything going on with Micro.blog — opening the platform to new users, trying to stay on top of bugs and feature requests, and planning for the future. But it just feels right that Sunlit should be part of the Micro.blog suite.
We love photos and we love blogs. Sunlit combines those things in a way that accommodates more advanced features than can fit in the main Micro.blog app.
Micro.blog makes it as easy to write a quick short post as it is to send a tweet. The timeline and simple posting interface are part of that. Sunlit supports microblog posts while taking a different approach in the UI, focused around stories and longer blog posts, whether they’re hosted on Micro.blog or elsewhere on the web. And we can do it without much fanfare on the Micro.blog server side because the technical scope of the platform already supports it.
Just sent Sunlit to the beta group. Looking forward to hearing what people think. (Make sure to read the TestFlight release notes for a few gotchas with the beta.)
Thanks to @lyle and @BrianCordanYoung for having me on the GeekSpeak podcast! We talked about the problems with today’s social networks and what we’re trying to do with Micro.blog.
Here’s a short screencast demo of the upcoming version of Sunlit. We’ve rebuilt it for blogging and Micro.blog. You can create stories with photos and text to publish to your blog, with editing and filters, plus a new Discover section for browsing photos.
If you’d like to try the TestFlight beta, email help@micro.blog. You don’t need a Micro.blog account to use it — it also supports publishing to WordPress — but we think it makes a great companion to Micro.blog. Enjoy!
Waiting for the HomePod excitement to settle down a little this morning before posting about something new.
Micro Monday: @Aleen. On her microblog she posts about everything from books and journals, to podcasting and technology, to her work with App Camp for Girls. Thanks for being part of the community, Aleen!
Rolled out a change to show replies on the web version of user profile pages. Should be more consistent across the web and apps now.
Apologies for the unexpected downtime early this morning. Still looking into what happened, but plan to add some more servers soon to minimize this. (Hosted blogs remained up.)
Played HQ for the first time tonight. I was juggling something else when it started and my tap didn’t register on question 1, so I was eliminated immediately. Maybe this isn’t for me. 🙂
We posted Core Intuition episode 313:
And just for subscribers, Extra Intuition episode 4, with Daniel and I talking about cryptocurrency and my experience trying to cash out.
Posted a new version of Micro.blog for Mac with a few recent fixes. “Check for Updates” to get the latest.
Bummed to have to return my Nissan Leaf today, which I’ve been leasing for the last few years. Great little car. Going to go without an extra car for a little while, but the next one’s gotta be electric.
Colin Devroe interviewed me about Micro.blog:
I’m happy with how the interview turned out. It’s one of the best summaries of what we’re trying to do with Micro.blog, all in one place. Hope you like it.
Not a good week for Micro.blog uptime. Most of the maintenance went smoothly (just a few minutes) but an unrelated problem had parts of the service down early this morning. Hosted blogs were not effected. We’ll do better in the future.
Good write-up by @burk on the pros and cons of moving from WordPress to Micro.blog. Also love the design changes via CSS.
Responding to a post by Chris Adamson about iOS conferences, Marco Arment notes that podcasts and YouTube have partially replaced the need to sit in a room and listen to someone give a talk:
It can’t be overstated how important it is to meet people face to face in our community. I forgot to mention this: I’ll be attending Peersconf in Austin this April. This’ll be a new conference experience for me and I’m looking forward to it.
I got an ink stamp made for my return address when sending out Micro.blog stickers. Just think it looks cool.
I wrote a short guide on microblogging with WordPress over a year before Micro.blog was opened to Kickstarter backers. A few things have changed since then, so it’s time for an update.
There’s now a long introduction to WordPress and Micro.blog over at help.micro.blog. Parts of it are taken from my upcoming book, Indie Microblogging. I’m wrapping up the book for the first part of 2018 and will likely sell it online for anyone who missed the Kickstarter.
Two great feed readers added support for Micro.blog this week: Evergreen and Feedbin. Evergreen is still in beta but improving quickly. Feedbin is a mature, well-designed RSS reader and sync service.
Here’s Brent Simmons announcing the Micro.blog support in Evergreen:
And Ben Ubois on the Feedbin blog writing about the new Feedbin sharing, including some thoughtful words for what we’re trying to do with Micro.blog:
Support from Evergreen and Feedbin represent the start of a new wave of third-party support for Micro.blog. There are other third-party iOS apps and even an Android app in development, including Micron for iOS in public beta now. There’s also a command-line tool for the Micro.blog API called speck.
Thanks for the support, everyone. If you haven’t tried Micro.blog yet, there’s a lot of activity in the community and in new apps. Now is a good time to join.
Cooollld morning in Austin. I woke up at 4am and fixed the servers, then back to bed. Coffee and email catch-up now, wondering if we’ll get any snow today. ❄️
Apologies for the downtime. I had added another server to smooth over the outage… but it also failed. (If your Mac app crashed, no need to report it. Should be fixed in the next update.)
Need to take a couple of the Micro.blog servers down for Meltdown security updates at 1am CST. I’m sorry for the downtime, and hope to learn from this to minimize it in the future. Hosted blogs will remain up.
Micro Monday: @bitdepth. I love seeing the beautiful photos that people post to Micro.blog, and Chris has had some great ones over the last few months: snow, nature, landscapes, food, and more.
Nice write-up by @brentsimmons on sending a post from Evergreen to Micro.blog, and why feed readers should hook back into writing tools.
Dave Winer is starting a project to collect feeds for journalists. Feels like there may be an opportunity for Micro.blog to help with this, but I’m not sure how it fits together yet.
Spent more time offline than usual today as a few things pulled me away from the computer. Catching up a bit now, and enjoying reading through all the posts I missed on Micro.blog.
New episode of Core Intuition is out. We talk about what’s new with Micro.blog, cryptocurrency, and more:
Thanks for listening!
Pushed some updates to help.micro.blog to better feature articles on the home page, with a separate Archive section for all help topics. Also new articles about WordPress and timeline display.
“As software developers and designers, we have a responsibility to the world to think these things through carefully and design software that makes the world better, or, at least, no worse than it started out.” — Joel Spolsky on Twitter and Facebook problems
Cancelled PlayStation Vue and switched to Hulu Live. Saves us about $15/month. Main drawback so far: no NBA TV channel, although they don’t have many exclusive games.
Wish I had stayed up for the second half of the Clippers/Warriors game last night. After 12 years in the league, Lou Williams gets a chance to show what he can do. 50 points and career highs all season. 🏀
Deployed some more performance improvements, and (finally!) fixed showing a conversation starting with the original post in the iOS and Mac apps.
I love how the Micro.blog community is using the new emoji topics that I wrote about yesterday. We started with books because many people were already sharing what they were reading or wanted to read in 2018. This is working out so well that I definitely want to improve and expand upon it.
Some people have asked for more topics, and several already work: music, basketball, football, and tv. I’m thinking that some of these will pop up in the Discover section when they are actively being used, or when there’s a special event. For example, during the Super Bowl you’d see 🏈 to click on.
On Micro.blog there were some good discussions around this feature. Chris Aldrich said he was already using different book-related emoji, and Ben Norris wondered about supporting those too:
I decided to add the open book and bookmark to the books topic, so they all map to the same place, but stopped short of adding all the other single-book emoji because I thought they might be confused with notebooks. After a few more days it may be more obvious how we should treat this.
Belle Cooper also had a good question about whether this is really much better than hashtags:
My answer is that they can be gamed, but the limited number of emoji means we can have a better sense of what people are writing about. It’s just simpler. Also, the backend implementation is not a search; it’s a live collection of posts that is updated whenever Micro.blog sees something new, and there’s a mechanism to easily exclude any inappropriate posts that show up without needing to block users or delete posts.
The Micro.blog community has grown a lot in the last couple of weeks. Every new feature has the potential to change how people interact with the platform, and I think this experiment with books has been almost completely for the better. I don’t think every post needs emoji — most microblogs will continue to be mostly text and some photos — but sprinkling in an emoji every once in a while will start to add value to the Discover section, and it also keeps Micro.blog fun.
Thanks for the feedback everyone! Just fixed the books collection to also work with the little PNGs that WordPress sometimes uses, in addition to “real” emoji. This is fun.
One of my goals for 2018 is to read more novels. As soon as I finish Ink & Paint I’m going to start on the 2-3 novels already in my queue. 📚
Micro.blog doesn’t have special support for hashtags. It doesn’t automatically link them. There’s no global search yet. While Micro.blog users can include hashtags anyway, especially if they are cross-posting to Twitter, I’ve found that the timeline is much cleaner and readable without hashtags.
I’m not saying we’ll never have hashtags. But I’m not in a particular hurry to introduce native support for them. (Once a feature is added, it can’t easily be taken back. So we try to be deliberate in everything we do.)
Hashtags and Twitter trends go together. They can be a powerful way to organize people and topics together across followers. But they can also be gamed, with troublemakers using popular hashtags to hijack your search results for their own promotion or unrelated ranting.
It’s the organizational and discovery aspect of hashtags that I most want to bring to Micro.blog. There have been several recent discussions on Micro.blog about book clubs and reading, and this seems like a perfect topic to experiment with. I’ve also noticed that people love to include an emoji in their microblog post as a kind of theme indicator — everything from 📚 to 🏀.
Today we’re introducing a search collection using emoji, starting with books. Just include 📚 with your microblog text about a book you’re reading or related topic, and your post will automatically be collected on /discover/books. There’s also an emoji link at the top of the Discover section in the iOS and Mac apps. (Make sure you’re on the latest version of the apps released yesterday.)
If people like this, we’ll generalize it and start surfacing other topics. Enjoy, and happy reading!
I’ve been tuning out football lately and wasn’t really rooting for anyone, but glad to have stayed up for that crazy game. 🏈
Micro Monday! This week I’m thinking about books, journals, and related discussions on Micro.blog. @belle is a developer from Australia who posts photos, writes about development, and has been in several great conversations about pens and writing apps.
Micro.blog for Mac 1.1.2 is out with a couple fixes, including support for a new feature we’ll roll out tomorrow. (iOS version hopefully approved later today by Apple.)
Improved how @-mentions work today, and added documentation for it to the help site. Should work more consistently now.
Woke up way too early with the dogs barking. Been hacking away on some new features for a couple hours while the house is quiet, listening to the Blade Runner soundtrack.
Box of beautiful USPS stamps have arrived here for getting the Kickstarter stickers sent out. Ordered 9 different sets to add some variety, and some sheets like National Parks have 16 different stamps. They look great.
Busy week. Finally got this week’s episode of Core Intuition out earlier today, with a discussion on the CPU security bug (before much was known), new people discovering Micro.blog, and more.
Fixed a handful of issues in the Micro.blog for Mac app. Choose “Check for Updates” to get version 1.1.1 or download it here.
Rather than New Year’s resolutions, Aleen Simms has a list of liberations for 2018: things to let go of and not worry about. In particular I like this one about not looking at numbers:
Twitter followers, podcast download stats, blog post views, the scale, whatever. Life isn’t a video game. Happiness doesn’t have a numerical value attached to it.
It mirrors a philosophy we have with Micro.blog to launch without follower counts or public likes. Follower counts are not very useful for a new platform. They add anxiety and unavoidably lead to value judgements when considering whether to follow someone, instead of letting the quality of someone’s writing and photos speak for itself.
Andy Flisher posted to his microblog about how Facebook takes the opposite approach, encouraging the numbers game:
Facebook has genuinely ‘encouraged’ me to get more likes for my birthday than I did last year! 🤯 No wonder the youngsters are growing up so needy for likes and follows, not healthy 🙁
A social network doesn’t have to be like this. Micro.blog is a way to post to a web site that you control, and a place to discover and talk with other members of the community. Micro.blog is not a popularity contest.
One year ago today I launched the Kickstarter campaign for Indie Microblogging. I’ll write more about that soon, but wanted to at least mark the date. Great to see all the people committing to blogging and putting photos on their own site for the new year.
Hello 2018! Cold 24°F morning in Austin. Got some writing done on the book. A new year is a great time to reflect on what our focus should be… Lots of goals for this year.
You may remember I posted about Sunlit 2.0 earlier this year. It’s taking a little longer than we hoped, but @cheesemaker and I are nearly done. Ships early 2018.
Love how much Evergreen has been improving lately. This latest post from Brent has a screenshot of multi-author feeds, like a microblog timeline.
More research today on postage, envelopes, and related supplies for sending stickers. Think I’ll go with real stamps. Just more fun to pick out a nice set.
Micro.blog for iOS version 1.3.1 is now in the App Store. Fixes sharing photos from other apps and a few other changes.
Added a “Posts” link to the navbar for Micro.blog-hosted sites to help unify some of the editing features. Much easier to click around in the web UI now.
Still a lot of season to go, but I like the way the western conference is shaping up. Expect the Spurs to retake the #2 spot in January. 🏀
I’m happy with Apple’s new letter about battery life and performance. $29 to replace an old battery is a bargain.
I like Avenir, but I’ve never been very consistent about using the original font or Avenir Next. Experimenting with Avenir Next on iOS, but on the desktop I’m not sure… Seems too wide? Maybe just need to get used to it.
I’ve been doing a lot of writing on the iPhone X. Decided to sell a couple of our older phones, including the SE. Still love that little phone, but as expected, can’t go back.
Finally updated to the Ulysses subscription. Nice to have the latest version with notch-aware full-screen layout on the iPhone X.
Updated post editing and deleting in Micro.blog to work more consistently. New help page here describes it. Also improved a few of the built-in themes with better title support.
Good basketball yesterday. Spurs got Christmas off this year, play tonight, and seem to have a pretty favorable schedule the next few weeks. 🏀
Thanks everyone for your support of Micro.blog this year! We’ve come a long way since I launched the Kickstarter campaign for Indie Microblogging back on January 2nd. We really appreciate all the feedback and new users who are embracing Micro.blog.
Yesterday we added another “secret pin” to Micro.blog for the holidays. You can unlock it by posting to your own blog and mentioning Christmas, Hanukkah, or one of a bunch of different winter themes and celebrations for this time of year. (It also works for posts from last week, so you may already have unlocked the pin.)
We love adding pins because it encourages people to blog more, and we hope to do more in 2018. This is also a great time of year to earn the Daily Blogger, Photo Challenge, or Night Owl pins!
Wishing you and your family and friends the best this week. Thanks again for being part of the Micro.blog community.
Great to see all the interest in Micro.blog today! I’ve bumped up the daily limit on user registrations to let more people in.
Mike Monteiro wrote on Medium this week about the daunting, insurmountable problems facing Twitter’s leadership team. He talked about meeting in person with Jack Dorsey:
I love the metaphor of a garden. In fact, I wrote a whole chapter of my upcoming book Indie Microblogging about gardens. The chapter is a longer version of what Mike says above, but with a twist.
The issue isn’t that Twitter doesn’t care. It’s instead a fundamental design flaw in the platform. Because tweets don’t exist outside of Twitter, when you’re banned, you’re done. For this reason, and because their business depends on a large user base, Twitter is hesitant to throw anyone off their service. They’re unwilling to tend the garden for fear of pulling too many weeds.
Imagine instead a service based on blogs, where the internal posts on the platform were the same format as the external posts. The curators of the platform would have more freedom to block harassing posts and ban nazis because those problematic users could always retreat to their own web site and leave everyone else in the community alone.
That’s how the web is supposed to work. It’s a core principle of Micro.blog.
Twitter will continue to improve. I believe they’re trying. But the root issue can’t be fixed without starting over.
Another week, another set of new podcasts. Daniel and I talked on Core Intuition about opening up Micro.blog and speculated on UIKit for the Mac:
I also posted episode 91 of Timetable. It’s about 3 minutes on Eminem lyrics and getting your one shot.
Here’s a behind-the-scenes look at designing the new Micro.blog icon. Thanks @bradellis! Love how it turned out.
The daily 100-user limit for new Micro.blog registrations is working well. We hit it fairly early yesterday, but I like the slow growth. Only possible because the business is simple and we’ll never have ads.
If you’re looking for a lightweight microblog server written in PHP, this is an interesting new project from @oelna.
Like most Apple controversies, the iPhone performance/battery issue seems overblown. I like Ben Thompson’s take from today’s daily update:
Apple usually tries to do the right thing. But they are absolutely crippled in how they communicate with users and developers. At this point, 6 years after Steve Jobs died, clinging to the Steve-inspired obsession with secrecy just looks clumsy. It’s the right lesson for the narrow window of product announcements, now applied universally to the wrong parts of their business.
Thanks for the feedback, everyone! Also, missed a photo upload bug in the web version, which I just rolled out a fix for.
Micro.blog is now available to anyone. There’s a limit of 100 new sign-ups each day, so that we can better respond to feedback as the community grows. Thanks so much to the thousands of Kickstarter backers and new users who have helped us improve the platform this year.
We’re also rolling out the following improvements across the web, iOS, and Mac versions of Micro.blog:
Plus a bunch of minor improvements and bug fixes. You can download the latest versions of Micro.blog from the iOS App Store or directly for your Mac.
As a Glen Keane fan and basketball fan, I was really looking forward to Dear Basketball. Didn’t even connect that they’d play it at Kobe’s jersey retirement. Of course! Glad it got a big viewing.
This week on Core Intuition, Daniel and I talk about how the MarsEdit 4 release is going:
I’ve been working on several new features for Micro.blog this week. Consistent with Daniel’s advice on the show, I think we’re going to roll out new stuff for Micro.blog next week and start ramping up promotion. Really excited about the way things are coming together.
iMac Pro-related confession: I only have 8 GB in my MacBook Pro. On this computer I’ve built Micro.blog, developed iOS apps, edited hundreds of podcasts, and produced a Kickstarter video. Good value.
I’m slowing down this week. Working on several improvements that I’ll hold to release all at once next week: web, iOS, and Mac.
At Halcyon for Homebrew Website Club. Deployed a minor update to the Micro.blog navigation bar, to make the web version a little more consistent with the native apps.
Nice blog post from David Smith about Workouts++ 2.0. (If you’re reading this on Twitter, a “blog post” is where you write about things you care about. Kind of like a Twitter thread, but with more room for editing, styled text, and links.)
Since Tantek is still in Austin, we’re having a last-minute Homebrew Website Club meetup tonight! 6:30pm at Halcyon on 4th street. Join us to chat about the IndieWeb or work on your own site.
Need a break from watching CNN. Switched over to basketball until there are more results from Alabama in.
Twitter announced today they will make it easier to chain tweets together in the official app. John Gruber summarizes the pro-tweetstorm argument on Daring Fireball:
The problem is that Twitter threads take the place of blog posts. Most people won’t think to switch to their blog instead of firing off a series of tweets, but some will. Promoting Twitter threads to such a prominent place in the UI will encourage more people to create Twitter threads. It will lead to more content in Twitter and less on the open web.
Micro.blog takes a different approach. When you type over 280 characters, instead of offering to split it into multiple posts in a thread, it reveals a title field and lets you turn it into a full blog post. I feel really good about this solution because the UI actively tries to make the web a little better instead of worse.
Really impressed with the work so far on this new third-party Micro.blog client for Android. It’s called Dialog.
Over the weekend we hosted the first IndieWebCamp in Austin. I’m really happy with the way the event came together. I learned a lot in helping plan it, made a few mistakes that we can improve next time, but overall came away as inspired as ever to keep improving Micro.blog so that it’s a standout platform of the IndieWeb movement.
There’s nothing like meeting in person with other members of the community. I know this from attending Apple developer conferences, but the weekend in Austin only underscored that I should be more active in the larger web community as well.
The first day of IndieWebCamp started with introductions, a chance for attendees to demo their web sites, an overview of IndieWeb building blocks by Aaron Parecki, and then brainstorming what topics the afternoon sessions should cover. After lunch, we held sessions on WordPress, static sites, Micropub posts, Webmentions, payment APIs, audio, decentralized aggregation, and post kinds.
The second day was a hack day, with a chance to work on our own web sites. This was a very valuable day for me — being able to bounce ideas or questions off other attendees. I chose to make an improvement to Micro.blog’s Micropub API endpoint to accept “bookmark-of” POSTs, mapping them to favorites. This evolved into opening up Micro.blog to allow favoriting any URL, even if the post doesn’t exist in any feed that Micro.blog knows about yet.
At the end of the day I was happy enough with the feature that I deployed my code and database changes. I demoed it using Indigenous for iPhone and Micro.blog for Mac, favoriting an indiewebcat.com post on the web and watching it show up in the app under the post’s domain name. Micro.blog got better support for Microformats with this change, pulling the author info, post text, and photo when you favorite a post via Micropub.
For the last few years I’ve attended WWDC and Release Notes each year, and I’d usually give a talk at CocoaConf. This year I added WordCamp and IndieWebCamp, and gave a talk about indie microblogging at Refresh Austin. I hope that it works out to attend another IndieWebCamp or IndieWebSummit in 2018.
Special thanks again to Tom Brown for helping out with planning IndieWebCamp Austin, EFF-Austin for hosting their holiday party after our event, and our sponsors DreamHost, Polycot Associates, and SuperBorrowNet. We should do this again next year.
The iMac Pro looks great. I’m still laptop-only, though, so not tempted at all. It’s gonna be popular for video folks and developers.
Kawhi may be back for tomorrow’s Spurs game in Dallas. He’s been out 27 games, the most he’s missed of any season in his career. Spurs are on track for 55+ wins even without him. 🏀
Worked on expanding Micro.blog’s Micropub endpoint with support for bookmark-of today during IndieWebCamp Austin. The weekend really helped clarify how I want to approach replies, favorites/bookmarks, and other reactions.
Aaron Parecki talking about the building blocks of the IndieWeb — your own domain name, types of posts, Microformats, Webmention, and more — at IndieWebCamp.
The day before the event starts, we decided it was probably time to create a Facebook event for IndieWebCamp Austin. Priorities: blogs and wikis first. But feel free to RSVP on Facebook if you can make it!
Two new podcast episodes today: Core Intuition 308 is a full hour about the MarsEdit 4 release. Timetable 90 is a full… 6 minutes about IndieWebCamp and my week.
Instagram is experimenting with a repost feature. From The Next Web:
I wrote last year about how I thought the lack of Instagram reposts was deliberate. Early versions of Instagram were built carefully, and it seemed designed to encourage posting your own photos:
If Instagram ships this, it will likely increase memes and other non-photos in your timeline. Along with ads, it will make the timeline feel even more cluttered.
Meanwhile, Ben Thompson covers Facebook’s curation efforts and how the lack of friction on social networks is both a good and bad thing. If it’s difficult to post, fewer people will do it. But if it’s too easy — with few limits on what is appropriate to share with your followers — you’ll get the dumpster fire that we currently have.
I believe in a middle-ground solution. Make it easier to post to your blog. That’s what indie microblogging is all about, why I’m writing a book on it, and why I built Micro.blog. But don’t make thoughtless re-sharing completely frictionless. That’s what leads to fake news spreading, why hateful tweets are exposed in algorithmic trends, and why safe communities must have some amount of curation.
Facebook is right to hire 10,000 curators. But what they’re missing is the balance between curation and an open platform, with the freedom to post to your own site. That’s why Facebook is a dead-end for the web.
IndieWebCamp Austin is this weekend! We’ll have IndieWeb co-founders @t and @aaronpk in town for the event. Join us for a day of IndieWeb topics, plus a hack day to work on your own web site or new projects.
Cold, rainy day in Austin. Must’ve rushed out the door, because only realize after my meeting downtown that I have been wearing my jacket inside out all morning.
Today I posted another episode of my daily podcast Timetable. It’s a short episode about the MarsEdit 4 release and why even competing apps should be compatible and embrace the open web. Here’s a transcript.
Today, MarsEdit 4 shipped. I posted to my blog with a link to the new version, and I included some comments in the blog post about using MarsEdit with Micro.blog.
Congrats to Daniel. This has been years in the making. It’s great to see it come out, and we’ll be talking more about this on my other podcast Core Intuition later this week.
Even if Daniel wasn’t my friend and co-host of Core Intuition, I’d still be excited about MarsEdit, because more blogging software is a good thing. The Mac version of Micro.blog kind of competes with MarsEdit, since you can use Micro.blog to post to WordPress, just like you can with MarsEdit. But it’s also a nice complement, because you can use MarsEdit to post to blogs that are hosted on Micro.blog. And MarsEdit is full-featured and has more features that you might want to upgrade to, even if you’re using Micro.blog.
And this is how I think software should work, and why the open web and open APIs are important. You should be able to switch between apps without changing everything.
You should be able to use MarsEdit to post to your blog. You should be able to use Micro.blog — the Mac app or the iOS app — to post to that same blog.
Imagine if you could use the official Twitter app to post to Facebook. You open Twitter, you click new tweet, and then you click in the destination (somewhere in the UI), and you select Facebook instead. And instead of going to Twitter, it goes to Facebook.
Sounds crazy. How could that possibly work? Why would Twitter or Facebook ever allow something like that?
But that’s how it should work. We are so used to these silos and these apps that are not compatible with anything, that we just accept it. But that’s how it should work.
You should be able to use multiple apps to post to different services. And that’s what’s happening with apps that are built with some compatibility in mind, especially on IndieWeb standards. That’s what’s happening with MarsEdit and Micro.blog, although on a much smaller scale.
I’ve been thinking about how much work we have to do to reach the audience of potential indie microbloggers. Last night, I attended AustinRB, a local meetup here in Austin for Ruby programmers. There was a great talk on metaprogramming — really enjoyed it. And as I mentioned yesterday, Tom Brown, who is also helping me out with IndieWebCamp planning… He gave a talk on the IndieWeb.
And listening to questions from the audience, it was just so obvious how far we have to go. Everyone is so used to Twitter and Facebook and Instagram, that in a way we have to outline the IndieWeb and services like Micro.blog in a way that mainstream users of other social networks can relate to.
It’s a big jump to go from only thinking about Twitter, to all of a sudden thinking about your own domain name, sending replies between independent web sites perhaps, to thinking about a timeline that is based on feeds from all over the web. It’s a big jump.
And in a way, it’s kind of discouraging when I think about making that case for how the web should work. It’s a massive task to explain the value of the open web and the danger of relying on 100% centralized networks.
But on the other hand, there are a lot of people in the world, a lot of people who want to write on the internet, who care about what they say and how they say it. WordPress powers 29% of the web.
The market is there. It’s just a matter of reaching everyone. And so that’s encouraging.
And it starts in communities like the IndieWeb. And hopefully in the community we’re trying to build on Micro.blog.
It’s not too late to register for IndieWebCamp. It’s this weekend in Austin. Go to IndieWeb.org. I hope you can join us. There’s a lot of work to do to build the web that we need. Thanks for listening today.
Daniel Jalkut shipped MarsEdit 4 today. This version includes many improvements, from brand new icons to support for WordPress “Post Formats” which are convenient for microblog posts.
Micro.blog-hosted blogs also have full support for posting from MarsEdit 4. You can post short microblog posts, or you can add a title, upload photos, and write longer posts. Blogs on Micro.blog are really fast, have custom domain names, and support importing from WordPress.
Congrats Daniel! I’m sure we’ll be talking about this milestone on Core Intuition.
Secret feature I like in Micro.blog’s WordPress import: if your blog photos are no longer online, it hits the Internet Archive to look for a copy there. Why open APIs are good.
Vincent Ritter has a new post about Micro.blog, and how it’s helped put a focus back on his own blog:
I created Micro.blog to encourage other people to blog more. It’s working. But I’ve realized it goes both ways: seeing all the great posts out there has inspired me too. Thanks Vincent and everyone who is taking the idea of an indie microblog and running with it.
I rarely change my home screen, but I updated it after having more time with the iPhone X. Seeing Shawn Blanc’s home screen reminded me that I should post an updated screenshot of my own screen.
The notable icons are Micro.blog and Ulysses in the dock, where I do most of my writing and blog post drafts. I also stopped using Instagram since there are so many great photos being posted to Micro.blog, so I have Halide there instead. Great app for quickly adjusting the exposure before taking a photo.
New for the X, I’ve added an empty row to the top of the screen using David Smith’s blank icon tip. Much easier to reach all the icons with one hand.
Can’t expect too much with most of the Spurs resting or hurt, but they had an open shot to tie the game against the Thunder with 5 seconds left. Great defense from the bench. Almost stole this one. 🏀
Got some stickers for IndieWebCamp. It’s next weekend! You can learn more about the event or register here.
Absolutely love this video from Max Joseph. I made a kind of vertical zoetrope once for an art show, but couldn’t turn the corner from amateur-looking to great, and backed out. Incredible persistence to pull this off.
Back on track with Timetable. Four episodes this week and looks like I’ll hit 100 episodes before the end of the year. Today’s is about profile photos.
On this week’s Core Int, Daniel and I talk about Apple’s root user security bug, and final plans for shipping MarsEdit 4.0.
Time to move beyond Gravatar, although I still think it’s a nice default. You can now upload a custom profile photo to Micro.blog. There’s a link at the top of the Account page on the web.
Updated Micro.blog’s feed parsing to support Pinboard feeds, which are really RDF. Useful for a linkblog alternative.
Most software has bugs. Apple’s root security bug is bad, but probably easily fixed, and the work-around takes 30 seconds. Actually a little relieved when a huge company makes a mistake… There’s hope for us small developers too.
Today I sent the following email to Kickstarter backers. I’m working through the waiting list of invites to Micro.blog now. I know it’s taken the better part of a year, but we’re almost there.
We are just about ready to open up Micro.blog to the world. Starting later this week, we’ll no longer require an invite code. Up to 100 users will be able to register on Micro.blog each day. This helps us focus our attention on the community and take care of new users as we ramp up to the public launch.
I’m also excited to share 2 more things that are happening next month:
IndieWebCamp: December 9th and 10th in Austin, TX. If you’d like to learn more about indie blogging, work on your own web site, or just chat with me about Micro.blog, consider joining us in Austin. You can register here. More info from the web site:
Stickers: I’ve just ordered a new batch of Micro.blog stickers for IndieWebCamp and Kickstarter backers. Expect to receive an email from Kickstarter to confirm your shipping address.
On this morning’s episode of my short-form podcast Timetable: plans for the week including IndieWebCamp promotion and the Micro.blog launch.
In a little less than 2 weeks we’re holding the first IndieWebCamp in Austin: December 9th and 10th at Capital Factory. You can register here. Doors open at 9am and we’ll have coffee and breakfast tacos while everyone checks in.
Saturday night after IndieWebCamp will be the EFF-Austin Holiday Party. There’s a meetup page to RSVP for the party. Even if you can’t attend IndieWebCamp for the full weekend, you’re welcome to join us anytime Saturday and stick around for the party. (Please register for both so we can better plan for the event.)
Who should attend IndieWebCamp? Anyone who cares about the independent web. Anyone who remembers how the web used to be — the creativity of personal web sites, the freedom of open APIs — and how it could be that way again. From the event web site:
I hope you can make it. If you have any questions, email me at manton@micro.blog.
“I wanted to thank everyone who believed in my return.” — Tony Parker, back to the Spurs for tomorrow’s game 🏀
Made a tweak last night so that Mastodon feeds work better in the Micro.blog timeline. Moving deliberately slowly with this, to make sure it’s right, but more integration seems likely.
As I’ve been improving the import and export functionality in Micro.blog, I’ve done a lot of work with WordPress’s WXR format, which is based on RSS. While there’s nothing particularly wrong with WXR, it’s more complicated than it needs to be for non-WordPress sites, especially when you start to tackle image uploads that exist outside of the post text.
Micro.blog can also push an entire site’s Markdown, HTML, and images to GitHub, which is the most complete mirror and perfect for migrating to another Jekyll server. It introduces so many extra files, though, it’s not reasonable to expect that other blog platforms could support the same level of detail.
I’d be happy to ignore the WordPress-centric nature of WXR and use it as a common blog archive format if WXR provided a mechanism to store image uploads. Helping people migrate from WordPress to Micro.blog-hosted blogs has only emphasized to me that a better format is needed.
In chatting with the IndieWeb community, the idea was proposed that an HTML file using h-feed would provide portability and also an added bonus: it could be opened in any web browser to view your archived site. Images could be stored as files with relative references in the HTML file. (I’d throw in a JSON Feed file, too, so that importers could choose between using a Microformats parser or JSON parser.)
The files would look something like this:
The basics from h-feed would follow this structure:
Only index.html and feed.json would be required. Any other paths in the archive would be determined by the contents of the HTML. (I’m using “uploads” in this example, but it could just as easily be “archive”, “audio”, or any other set of folders.)
For large sites, the HTML could be split into multiple files with appropriate tags in the header to page through the additional files. While it could contain CSS and your full blog’s design, I’m imagining that the HTML would be extremely lightweight: just enough to capture the posts, not a way to transfer templates and themes between blogs.
The whole folder is zipped and renamed with a .bar extension. Easy to move around and upload all at once. I’ve created an example file here (rename it .zip to open it).
I’d love to hear what you think. I talked about this on a recent episode of Timetable as well. Might be a nice topic to follow up on at IndieWebCamp Austin in 2 weeks.
Doug Lane is writing a series of blog posts about what real-world use cases for Micro.blog could help attract more mainstream users to the platform. It starts with this:
He then follows up with a few ideas. I think this approach is exactly right: carve out several niches that are perfect for Micro.blog and focus on those in marketing, providing as much value as possible for those users, then expand to more mainstream users from there.
Squarespace actually does a great job at this. The first thing you see when you click sign up — before being prompted to create an account — is to choose a template for your web site. At the very top of the list: a wedding blog and a product catalog.
Photoblogging and linkblogging are still some of the most common ways people use Micro.blog. From a business perspective, I also like it for product news. Earlier this year I posted some ideas for how to use a microblog.
Tinkered with WordPress last night so I could ping the new RSVP page for IndieWebCamp Austin. Also rolled out WordPress export for Micro.blog.
Core Intuition 305 is out. We talk about potential MarsEdit and Micro.blog release dates, other commitments, App Camp, and more.
Made some API tweaks today, and updated the documentation to add the /posts/discover JSON call for third-party apps.
Final day of the photo challenge: shadow. This has been a great week for photos on Micro.blog. Thanks everyone!
Increasingly frustrated when people complain about Twitter but wait for it to improve or for something better to come along. It doesn’t work like that. There’s no switch to flip. There is only the steady growth of indie microblogs, improving the web over years.
I sent an update to Kickstarter backers today. I wanted to point people to the new Mac app for Micro.blog, and also show off some of the great photos that Micro.blog users have been uploading this week as part of the photo challenge. Here’s the email.
Hello Kickstarter backers! Today we’re wrapping up the 7-day photo challenge on Micro.blog. The challenge was a suggestion from the community: @douglane posted to his microblog with themes to inspire more people to take and post photos.
I’ve loved seeing all the new photos. Here are just a handful of the many photos that have been posted over the last week.
We also recently released version 1.0 of the Micro.blog app for macOS Sierra and High Sierra. This is the best Micro.blog user experience yet, with a timeline, posting to your blog, photo upload, and a new Discover section for finding posts and users to follow.
You can download the Mac app here.
I’m also continuing work on the Indie Microblogging book. I’ll be sharing more about the book as soon as I can. Thanks for your support!
Really wish you could send a test email for Kickstarter backer updates. No clue what it’s going to look like in email clients until it goes out to everyone.
Can a salad bag from the grocery store be considered “seasonal”? Not sure, but it’s gonna have to do for today’s Micro.blog photo challenge. Day 6!
Posted a quick Timetable episode about how the Micro.blog photo challenge is going, and on finalizing the venue and plans for IndieWebCamp Austin.
Since it would conflict with Thanksgiving next week, NSDrinking is tonight instead. Have a beer and chat about iOS and Mac development. 8pm tonight at Ginger Man.
I’ve made a few improvements to Micro.blog’s XML-RPC support recently. Working pretty well to use MarsEdit to publish to your microblog (with title support, editing, and photo upload).
We’re holding an IndieWebCamp in Austin next month! This is a 2-day event — Saturday and Sunday, December 9th and 10th — for anyone who wants to learn more about the IndieWeb, discuss web standards and tools, or just hack on your own web site. We’re lucky to have IndieWeb co-founders Tantek Çelik and Aaron Parecki in town for the event.
There was another IndieWebCamp in Berlin last week. Neil Mather had a great blog post about his experience there:
IndieWebCamp Austin registration is open now. Tickets are just $5. Looking forward to planning some next steps for Micro.blog over that weekend. Hope to see you there!
Minor update to Micro.blog for iOS is now available in the App Store. Fixes posting via the Micropub API, plus a couple more iPhone X tweaks.
Had a great time at Refresh Austin tonight. Good to hear what other people are up to, and share a little about what’s going on with Micro.blog and the upcoming IndieWebCamp Austin.
Marco’s post about the 2012-2015 MacBook Pro rings true to me. I still use the 2014 version of this laptop… Don’t want to “upgrade” to anything else.
Day 3 of the photo challenge: on the move. From south Austin today after getting some coffee and work in at Caffe Medici.
Sending another 1000 invites to Micro.blog this week from the announce list. A bunch going out right now. Looking forward to everyone’s feedback!
Great to see new apps for posting to Micro.blog and IndieWeb-enabled sites. Here’s some info for the Indigenous iOS app beta.
“People will want to go to it because you’re passionate about it, and people love what other people are passionate about. You remind people of what they’ve forgotten.” — Mia in La La Land
Business without direction is hollow. Your company can be full of users or money but if it’s empty of purpose, no one will truly care about what you’re building.
This is one of several problems with Twitter today. It’s not just that the leadership team is overwhelmed and paralyzed. They can no longer articulate to users what Twitter the company is passionate about.
Impressed with the Celtics ability to close out games, even without Kyrie. Their streak extends to 12. 🏀
For day 2 of the photo challenge, my go-to for coffee at home: Chameleon cold-brew, ice, water, and a splash of milk.
It’s late this week, but Core Intuition 304 is out. We talk about the iPhone X, updating servers, and fear leading up to a software launch.
Bunch of cool photos are showing up in the Discover pane of Micro.blog iOS and Mac apps today, for day 1 of the photo challenge. Enjoy!
I’ve updated Micro.blog’s Twitter cross-posting to support 280 characters. The apps still color the character counter blue until 140, and red after 280, just in case you want to stick to shorter posts.
The 7-day “Photo Challenge” pin is now live on Micro.blog. Thanks again to Doug Lane for kicking things off with prompts to inspire everyone to take more photos.
Josh Marshall of Talking Points Memo on last night’s victory for Democrats:
November 2018 feels like a long time from now, but it will get here.
I should’ve added an “I voted” pin to Micro.blog for posting voting sticker photos. We’ll do that for 2018.
Redesigned the Micro.blog splash page (when you’re not signed in). The most concise expression of the mission statement so far.
Coming up on a year since I wrote about how today’s social networks are broken. Still what I believe.
Election day in the United States. There’s probably something on the ballot where you live. Doesn’t have to be big to still matter. Vote!
Lots of good feedback on the WordPress import. Made a couple improvements this morning. Overall, pretty good.
I’ve decided to shelve the in-progress new features in the Mac app until version 1.1. Calling 1.0 done.
Over the weekend I opened up a WordPress importer for Micro.blog-hosted sites. Now that Micro.blog can serve as your primary web site — with personal domain name, short and long posts, themes, and pages — some users may want to consolidate their older WordPress blogs to Micro.blog. I’ve just finished a round of testing and bug fixes with a couple sites, including the 2000+ posts on my 15-year-old WordPress blog.
Micro.blog has always had great support for WordPress. If you host on WordPress and want to bring your posts into the Micro.blog timeline, all you have to do is add the WordPress RSS feed. This new importer is for people who want to migrate their whole site to be hosted by Micro.blog, not just mirror posts to the timeline with RSS and continue to use WordPress for hosting.
To access the importer on the web, click on Account → Edit Domains & Design → Import. It will prompt for a WXR file, which you can export from your WordPress site under WP Admin → Tools → Export. WXR stands for “WordPress eXtended RSS”, which is an RSS file with some extra WordPress metadata.
It’s important to note that the WXR contains post text, but not file uploads. To solve this, Micro.blog parses the HTML for all your posts, looking for img tags. It then downloads those referenced photos and adds them to your Micro.blog-hosted site. For this reason, it’s important that you keep your old WordPress site online until the import has finished. (The importer does not currently support WordPress photo galleries.)
If you try the importer, I’d love to hear what you think. And of course you can add a new Micro.blog-hosted site for just $5/month under the “New…” menu.
Quietly rolled out WordPress import for Micro.blog-hosted sites this weekend. Early testing looks good. Longer post tomorrow.
I’m going to miss the iPhone SE size. But the X screen is incredible. So crisp and close to the surface it looks fake.
We just published this week’s Core Intuition, talking about the latest iPhone X news:
When you’re done listening to that, also check out Timetable 77. Still waiting for my iPhone X to arrive.
Of course I missed a few iPhone X-related bugs in Simulator testing. Probably need to submit an update to Apple before my iPhone arrives.
Pushed a new Mac beta with some under-the-hood changes. Hopefully will resolve some preference and keychain issues.
Still have a Hillary sticker on my car and not gonna remove it over some DNC infighting. No regrets voting for the most qualified candidate.
Nice to see the expected arrival date wasn’t a fluke. iPhone X has shipped. Think it’s been years since I’ve had the launch-day experience.
While writing about the limited SiriKit support in the upcoming HomePod, Stephen Hackett points out one of the biggest problems with Siri:
I agree. See my previous blog posts on wanting a more open voice platform and Siri’s slow pace of change.
We all know that Apple’s strengths are in design and having incredibly high standards. We love Apple’s attention to detail. When Apple competes directly with other products, these strengths always produce better products. Apple wins.
The problem for Siri is that Apple’s competition with Amazon and Google isn’t on a level playing field. Siri won’t “catch up” to Alexa because the architectures are fundamentally different, with SiriKit locked to the device while Alexa expands quickly to new products and thousands of extensible skills in the cloud.
Every week, Alexa gets better. Apple’s usual strengths won’t help them stay competitive because Siri isn’t even in the same game.
While recording Core Int, new Micro.blog for iOS was approved: version 1.2.1. Also new Mac beta today: 1.0b17. Enjoy!
Instead of a formal Homebrew Website Club this week, we’re meeting at Radio Coffee, 6:30pm tomorrow. IndieWebCamp planning. Welcome to join!
For the initial rollout of Micro.blog, we had a bunch of pins you can unlock, to encourage people to blog more. For example, pins that get unlocked after a certain number of blog posts, or when you upload a photo. We also added a couple of new time-based pins for special events, like mentioning “iPhone X” during the Apple event last month.
Today I added a Halloween pin. You can see some of the pins for my account in this screenshot:
I also talked about this on today’s Timetable. Happy blogging! 🎃
Micro.blog for iOS version 1.2 is rolling out to the App Store right now. This update features a new sharing extension, to make it easier to send photos and links from other apps to Micro.blog. It also has better support for the iPhone X screen.
We ended up rushing this update out a little to make sure it was approved in time for the iPhone X release, so there are a couple glitches we missed in testing when sharing photos. Working on a 1.2.1 update now to make the sharing extension more robust.
Thanks as always for using Micro.blog. In addition to the iOS app, the Mac beta is also getting regular updates. (This blog post was written and posted with it.)
Read the New York Times and skimmed Talking Points Memo, but need to force myself to ignore most of the big news today. Code to write!
Spurs are a respectable 4-2 without Kawhi, but a tough loss today in a game that they should’ve had.
Laughing again as I think about Kevin Nealon’s stand-up show last night. Really fun to see him live. Still hilarious.
Don Lusk turned 104 this weekend. Worked at Disney in the 30s and had an incredible 60-year career in animation.
This video from Studio Neat during production is so great. Got my Panobook and even more impressed now.
Jason Snell mentioned on this week’s Upgrade that he had found a way to frame his iPhone 8 review, and today he posted it. Where most iPhone 8 reviews last month seemed overshadowed by the upcoming iPhone X, I think Jason’s review may have benefited from a little distance from the September Apple event.
It also reminded me about the missing headphone jack, which in the excitement of the pre-orders I had forgotten about. Sigh. From the review:
And on wireless charging, which I’m equally skeptical about:
As Daniel and I have discussed at several points on Core Intuition, I think Apple really gambled on splitting the product line between the 8 and X, and the pronunciation fumbles only add to the confusion and perception that the 8 isn’t a cutting-edge product. It’s at once the best phone in the world and old news.
It remains to be seen whether this split will impact sales. I’ll be watching for the quarterly results and Ben Thompson’s take.
Meanwhile, I’ve stuck to my first impression that it’s time for me to have a phone with the best cameras again. That means the iPhone X. I’ll miss the size of the iPhone SE, but now that my iPhone X pre-order is wrapped up, I’m looking forward to trying something new, and hoping that it captures a little of that first-generation iPhone feeling, when we knew we were holding a bit of the future.
Looks like I’ll get November 3rd delivery after all. Got the email to finish confirming my “reserved” iPhone X order. All good.
On the latest Timetable, I talk about waking up at 2am and the redesigned Discover section in the Mac beta.
Wish I had slept through this. Store wouldn’t load, then errors. Ended up with the “holding your reservation” email so who knows. Yawn.
Has everyone already submitted their iPhone X-compatible apps to the App Store? Thinking I’ll do that in the next few days.
We posted episode 302 of Core Intuition today. From the show notes:
Good luck to everyone trying to pre-order an iPhone X tonight!
I’ve been doing some more iPhone X simulator testing this afternoon. Should be in pretty good shape before the X ships.
Pushed a new Mac beta. I think it’s mostly feature-complete for 1.0. Going to set it aside for a bit so we can wrap up iOS 1.2.
Just posted episode 2 of our members-only podcast Extra Intuition, with special guest Gus Mueller! From the show notes:
Gus announces a brand new Mac app he’s working on. Really exciting to see this when it ships. You can listen by becoming a member.
If you’re an NBA fan, don’t wait for the playoffs to tune in. Already some fantastic games in the last week. Prediction: the year of upsets.
If you’re using the Mac app for Micro.blog, check out the Discover section today. Liking this way to surface posts and users.
Trying something new in the Discover pane in Micro.blog for Mac (and iOS) to highlight posts in addition to users.
Not obvious how to install 10.12 on a new drive after moving to 10.13 High Sierra. Finally found the installer, but it’s “too old” to run.
WordCamp in Austin this weekend, although I’m going to end up missing it. Look forward to checking out the video later if it’s recorded.
I love this Friday Favorites post by Doug Lane with observations from Micro.blog this week. Great idea!
Going over the talks at Release Notes in my head, thinking about what’s next for Micro.blog. Flying back to Austin today. Great to see everyone in Chicago!
Great to see the support at Release Notes for App Camp. Learn more about the current campaign and donate here: ac4g.releasenotes.tv
“You must actively seek out the most audacious things you are capable of doing.” — Anne Halsall at Release Notes on entrepreneurship
More people than I expected haven’t updated to High Sierra yet. Sticking with it as a requirement, though. Hopefully pays off.
I’ll be writing more about it later today, but I’ve posted an initial Mac beta in the Slack channel. Looking forward to hearing what y’all think!
Good morning, Chicago! Early flight, took the train from the airport and hopped off for coffee and a little work at Intelligentsia.
Good thing about a super-early flight is I can’t procrastinate until the morning. Gotta pack now. Bad thing: need to wake up at 4am.
Starting to have doubts about the iPhone X. I still want the best camera, but I’ve gone from 100% sure about the pre-order to now on the fence.
Putting the finishing touches on the first Micro.blog for Mac beta. Still some rough edges, but this was posted with it.
I’m glad to see #WomenBoycottTwitter getting some traction. Complaints come and go, but a real break sends a stronger message and gives us perspective. I would never have started Micro.blog unless I had spent enough time away from Twitter to see a better way. It’s not enough to just complain.
Very little has changed since I wrote my 10-year Twitter post last year. If you wait for Twitter to solve all the platform’s problems, you’ll be waiting a long time.
New Timetable last night. Guaranteed the only 6-minute podcast that covers 1950s Disney and a quote from LaVar Ball.
Daniel and I wanted to do something special for our 300th episode, so we’ve launched a membership program for Core Intuition listeners. Included in the membership is access to a brand new podcast we call Extra Intuition, plus a private Slack channel for members to discuss the show and suggest future topics.
It’s been a fun journey over the last 9 years of recording Core Intuition, and the main podcast will stay as it has been, with new episodes for free every week. Extra Intuition is our chance to deviate a little from the formula and try something new.
Daniel has also posted about the membership and first episode:
We’d love your support. Thanks for listening!
Planning something new for Core Intuition today, I remembered this old podcasting photo of me taken by @willie 11 years ago. Still one of my favorites.
If you’re on Micro.blog, I’m now posting Timetable notifications. Took 5 seconds to set up because RSS.
Despite my bet with Daniel, missed the 5-year mark of the last post from @manton. Posted to my blog first ever since.
I posted a new Timetable today after listening to the Release Notes podcast where Charles and Joe discuss requiring in-app purchase subscriptions. As I talk about on Timetable, I’ve been working on the Mac version of Micro.blog, so it was a good opportunity to make a final decision on Mac App Store support.
Speaking of Release Notes, I’ll be out in Chicago for the conference next week. If you’re attending, hope to see you there. Ask me for a Micro.blog sticker.
Checked out Denton after the tour at University of North Texas yesterday. Nice coffee shop and used bookstore in the square too.
Late posting Timetable today, but I did post it. Because: “You’ve gotta show up to work every single day.” — Casey Neistat
Re-watched Blade Runner last night in prep for 2049. Might be the first time I’ve seen “the final cut”, too.
Included an audio clip from Ginobili in today’s episode of Timetable. NBA season must be getting close.
One more week until our 300th episode! From the show notes for today’s episode:
We’re announcing something new next week. Hope you can tune in for it.
Daniel and I have been plotting something to announce for our 300th episode next week. But first, editing episode 299 today.
Didn’t realize what a game-changer the Mac version of Micro.blog would be. Rediscovering how fun Mac software is.
Small but productive Homebrew Website Club meetup. Brainstormed venue ideas for IndieWebCamp Austin and have some great places to follow up on over the next couple weeks.
Might demo the new Mac app for Micro.blog tonight at Homebrew Website Club. Also IndieWebCamp Austin planning.
Micro.blog for iOS 1.1.3 is now available. Fixes a few things, including a crash while editing a new post.
If you missed it, I’m now releasing a new short podcast every day, Monday through Friday. Enjoying the process.
Whenever I worry that I’ve said something slightly controversial, it often turns out I didn’t go far enough. We’re all our own worst censor.
Last week I said that Mac unlock via the watch is great, even with Series 0. Gotta retract that. It’s nice, but not always fast or reliable.
Micro.blog launched with 6 unique themes, and advanced CSS support to customize many aspects of the design. I love seeing users take one of the existing themes and make it their own, such as what Dan Counsell has done with colors and fonts on his site.
The publishing engine for Micro.blog is based on Jekyll, so of course the themes are Jekyll themes as well. I wrote last year about why I chose Jekyll. I’ve forked several themes to improve their support for microblogs, JSON Feed, and IndieWeb standards.
A few of these changes are now up on GitHub. You can find these themes in the @microdotblog repository:
I’ll be updating the other themes on GitHub soon. While you can’t upload an entirely new theme to your Micro.blog account yet, many people have asked for that, and hopefully these themes will provide a starting point.
For anyone who has hit that crash in the Micro.blog iOS app when composing a post, through a bunch of Markdown trial and error I can now finally reproduce it 100%. Definitely will be fixed in the next update.
I love Nintendo. Always will. But if they can’t manufacture a 25-year-old system in sufficient numbers to meet demand, something is wrong.
Nick Heer writes at Pixel Envy about Twitter’s half-hearted attempt at transparency on fake news and the election:
It’s time for a reckoning. I don’t know if it’s government regulation. But we are on the edge of pushback against ad-supported, ginormous platforms. Once it flips, as it did against Uber, there will be an opening for real change.
We’re meeting at Monkey Nest again next Wednesday for Homebrew Website Club. 6:30pm. Planning is underway for an IndieWebCamp in Austin!
Going to be in San Antonio this weekend for WordCamp. Never attended before, but I need to be more clued into the WordPress community.
If you’re not convinced about 280 characters yet, listen to Core Int 298. We cover it extensively, both sides.
Even for user accounts that get 280 characters, posting over 140 is blocked from the Twitter API. Hope this is laziness and not malice.
For this week’s Core Intuition, Daniel and I spend the whole show talking about Twitter’s 280-character change and related fallout. It makes a good complement to my initial blog post, as well as yesterday’s episode of Timetable.
And of course I liked this part of Colin Walker’s blog post:
Dave Winer wrote about the need for Twitter to take risks:
My daughter’s Twitter account has access to the new 280-character limit, so I’ve had a chance to see the new UI. Instead of counting down, it uses a circular progress bar until you get near the end of the limit. The UI is further proof that Twitter didn’t make this change on a whim. They plan to ship it.
I really like what Amazon is trying with the Echo Spot. This is probably what the Show should’ve been.
Posted a new Timetable on Twitter’s 280 change, a preview of the Core Intuition episode that will hit later today.
For some reason I never enabled the “allow Apple Watch to unlock your Mac” feature until this week. Love it.
I had first suggested a 280-character guideline for microblog posts back in 2014. As I’ve said many times since then, and through launching Micro.blog, I believe expanding the limit will make for better conversations, less mangled punctation, yet still remain short enough that it encourages quick posting.
Twitter announced today that they are also experimenting with a 280-character limit! From their blog post:
They focus most of the announcement on explaining how the current constraints are different for some languages, like Japanese, which can fit far more words into 140 characters. That’s true, but it glosses over the most important point.
Longer text allows for more thoughtful posts, fewer misinterpreted shouting matches, and Twitter desperately needs to improve the tone of conversations on their platform. I’m a fan of this change.
I installed 10.13 High Sierra today. It takes a long time, presumably because of the file system conversion. Make sure to block out a couple of hours.
Stephen Hackett has a full review. One of the most interesting features to me is Safari’s new ability to automatically enable Reader Mode when viewing certain web sites you configure:
Speaking of Stephen, his kids are running the Kids Marathon to raise money for St. Jude Children’s Research Hospital. You can read about it and make a donation here.
I don’t think Star Trek can prop up CBS’s streaming service by itself, but we did sign up for the trial to watch episode 2. I love where they’re going with it. Likely will cancel and catch up on the season at some later point.
New version of Micro.blog for iOS is out, with drag and drop to attach photos to a blog post in iOS 11.
Nice 15th anniversary sale going on at Rogue Amoeba. I use Fission and Audio Hijack often. Great apps.
Happy to hear that Tony Parker’s recovery is going well and even ahead of schedule. Spurs have a scrimmage Saturday. Preseason next week.
Wow, that WNBA finals game 1. Minnesota down 26 points, came back to take the lead but lost it in the final seconds. Game 2 on Tuesday.
Manuel Riess has been writing about why he didn’t stick with previous blogs. On the topic of paying too much attention to stats:
I highlighted Manuel’s microblog in an email to Kickstarter backers recently, as an example of using custom domain names. You can follow him on Micro.blog.
I still haven’t looked at stats for Timetable. And I’ve resisted adding follower counts and page view stats to Micro.blog for the same reason. If all that drives you is the number of likes on a tweet, or subscribers to your podcast, it’s easy to get discouraged when the numbers don’t pan out. Or worse, overthink your writing when you know a bunch of people are paying attention.
Everyone has something to say. Write because you love it, or to become a better writer, or to develop an idea. The stats should be an afterthought.
“I cannot in good conscience vote for the Graham-Cassidy proposal. I believe we could do better working together, Republicans and Democrats, and have not yet really tried.” — John McCain
Micro.blog users have wanted the ability to edit microblog posts for a while. We planned to add it, but first I thought we needed an edit history and probably a window of time during which edits are allowed, to prevent people from abusing edits by changing the meaning of a post in an earlier conversation.
While I still want those things, I realized that they were just excuses to put off implementing the feature. And with full pages and longer posts, editing was increasingly a big omission.
This week I rolled out a complete overhaul to the posts interface under your Micro.blog account. The layout is better, it’s more prominently linked in the UI, there’s an easy way to switch between posts and pages, and you can finally edit posts.
There are a couple quirks of the UI still to improve. For example, if you’d like post edits to be reflected in the timeline, you should click the Remove link in the timeline so that Micro.blog pulls the latest version from your microblog. I’ll be working on polishing those areas over the coming weeks. But already it is much better. Enjoy!
I posted a new episode of my Timetable microcast. Here’s a bit from today’s episode about blogging and tweeting:
I’m getting back into the groove of publishing these episodes. This was the third episode of Timetable this week.
Motivation for folks who have only blogged a few times this year: I’ve posted 468 times. The key is a “blog first, tweet second” strategy.
Still hot outside, but working from one of my favorite coffee shops: Mozart’s on Lake Austin. Wrapping up a redesign to M.b’s posts screen.
Listened to a lot of clips of Hillary to find the right one for yesterday’s Timetable. Still can’t bring myself to read the book. Soon.
Published a couple new episodes of Timetable this week. We also recorded a new Core Int, likely out tomorrow.
Now that I’ve got a couple pre-iOS 11 releases out of the way, I’ve been testing the new stuff: drag and drop, and iPhone X design tweaks. My app’s design is standard enough that the changes are minimal. Just hope I can get the X in the first shipment.
Micro.blog for iOS version 1.1.1 is now available in the App Store. Bug fixes and refinements to the new 1.1 features.
Updating my SE to iOS 11. I’ve had the beta on my iPads, but resisted installing on my main phone until release day.
So many great iPhone 8 and iOS 11 reviews out today. My favorite aside has to be the headphone jack mini-rant in Nilay Patel’s The Verge review:
When I was at STAPLE! last week I bought a t-shirt from an artist who had to enter credit cards into the Square app manually because he had lost his Lightning dongle for the Square reader. Minor inconvenience, and fixed with an extra $9 purchase from the Apple Store, but nevertheless a real compatibility issue that will never go away.
We’ll eventually get used to this. Many people already have, thanks to the AirPods. That doesn’t mean it wasn’t the wrong decision, though. (I’m happy to give Apple full credit when they embrace a standard, like Qi charging or USB-C.)
Last week I wrote about Micro.blog for iOS version 1.1, which adds several new features including support for multiple photos and longer posts. Today I want to demo how longer posts work on the web version of Micro.blog. Here’s another quick screencast with audio:
I don’t see the iPhone X notch going anywhere. Even if it does nothing other than give Apple space to improve the front camera, it stays.
Nice blog post from Marco on why Apple embraced the iPhone X notch. The headphone jack’s “courage” continues to age poorly. As I wrote about with Face ID, I like the X’s compromises.
Micro.blog for iOS version 1.1 is now available. This release adds a number of new features:
Here’s a quick screencast showing some of the highlighting and title support:
Hope you like the update. You can download it from the App Store
Two minutes after I typed that last post, the app was approved. Should be showing up in the App Store shortly.
Friday afternoon slipping away. Really wanted to post about version 1.1, but still in review at Apple.
Some people are concerned that replacing Touch ID with Face ID is a design compromise. While I rarely give Apple the benefit of the doubt when they scrap an existing standard, like the headphone jack, this new Face ID skepticism seems premature. John Gruber writes:
With Touch ID, there are some obvious limitations that we just accept. For example, of course Touch ID doesn’t work with gloves on. How could it? But with Face ID, the technology is so advanced that we have no basis for judging when it should or shouldn’t work, so I think we’re going to expect it to work all the time.
For Face ID to be successful it has to be delightful, like a magic trick. The threat to magic is inconsistency. One glitch and the illusion is ruined forever, and you never believe in it again.
I’m not worried about Face ID. I’m not even worried about the notch, which is a compromise. Apple seems very confident in both Face ID and the iPhone X. Not confidence from hubris. Not feigned confidence, justified as courage. They actually believe they’ve got a winner, and so do I.
I’m going to take Micro.blog down tonight in about an hour for some quick maintenance. Hosted blogs will remain up.
As I plan for the iPhone X pre-order, I wanted to write a blog post about all the iPhones I’ve bought, and when. I’ve skipped a few generations, and even made some seemingly oddball choices like getting the iPhone 5C when all my friends got the 5S. In the process of searching old blog posts to confirm whether I even bought the 3G or waited for the 3GS, I found this old blog post about WWDC 2008.
In the post I had collected 95 tweets from myself and others during WWDC. This was 9 years ago, so it’s a bit of a blur. But reading them again brings back memories. These old tweets are gold.
If I hadn’t collected the tweets, I would never find them again. And if anything changes at Twitter, they could just as easily be lost. Remember, it wasn’t that long ago that you couldn’t go back more than 3200 tweets in your timeline. Searching old tweets is still impossible in third-party Twitter clients.
Obviously I’m all-in on indie microblogging. I post to my own blog and let Micro.blog sort out cross-posting a copy to Twitter. But looking at these old tweets, I’m just struck with how foolish it was to ever post content exclusively to Twitter. It was an assumption that today mattered more than tomorrow, when the opposite is often true.
A photo is the most clear expression of this truth. Taking a photo doesn’t improve the moment. It’s for later.
Twitter in 2008 was a mix of microblogging and conversations. It was writing without pretense, with no expectation of likes and follower counts. It felt ephemeral, and maybe it still does to many Twitter users today. But you never know when you want that fleeting comment to actually last, and if you don’t control the post, there are few guarantees that it will.
We posted a new Core Intuition, all about the iPhone X and other products from yesterday’s event. From the show notes:
Approaching 300 episodes over 9 years. If you’re new to the podcast, consider subscribing in your favorite podcast app. Thanks!
Michael Gartenberg writing for Six Colors about the iPhone X:
High praise. Apple had me at the cameras, but I’m relieved that the design of the phone itself is so great. On Core Intuition last week I had worried that if the design fell short (or Apple did something clunky like put a Touch ID sensor on the back) that I’d have second thoughts.
This is the first iPhone in years that many people are going to stand in line for. It might not be priced high enough.
I submitted a new iOS build yesterday morning thinking I might beat the rush of iOS 11 submissions, but now I’m not sure. Still waiting.
Removing the App Store from iTunes is definitely the right move. Haven’t used it on the Mac in years. Even a company as large as Apple needs to focus on the right platforms.
I published a new Timetable episode after the Apple event. My first reaction, and an update on work today.
Love the iPhone X, but showing “animoji” cheapens the rest of the presentation. Serious, high-quality $1k phone… with silly cartoon faces.
New Apple Watch looks great. Going to skip this generation, but definitely have wanted cellular when outside. Super useful.
It’s a great feeling to wake up in the morning with a feature idea and have it deployed before lunch. The advantage of being small.
Added a secret Apple pin to Micro.blog. Mention “iPhone X” in a blog post today only to unlock the pin!
Read the intro to What Happened. Can’t imagine how difficult this was. I’ll sit down with it later in the week, but not today. iPhone day!
David Nield of Gizmodo has a sort of re-introduction to RSS, with an overview on why it’s more useful than ever:
Obviously I’m a fan of RSS. Micro.blog has great support for it throughout the platform. But even though I subscribe to hundreds of feeds, I even caught myself recently loading a few favorite news sites manually instead of using the feeds. Doesn’t hurt to be reminded that there’s a better way.
Sent a new batch of invites to Micro.blog. We’ll be sending more from the announce list over the next few weeks.
Worked on a blog post yesterday arguing that the iOS 11 GM leak reaction is overblown, just more unhealthy fallout from Apple’s obsession with secrecy. This morning, scrapped the draft. I have other work to do. Looking forward to tomorrow’s event!
Really enjoyed last night’s American Masters on Tyrus Wong, most famous for his Bambi concept art and backgrounds. An incredible artist and a sad reminder of how this country treated immigrants. You can watch it for free on the PBS site.
Slightly longer Core Intuition this week as we cover several topics. From the show notes:
I’m excited about the upcoming iPhone event on Tuesday. Seems like it’s set to be a big one.
Tim Duncan is matching donations to relief efforts for the U.S. Virgin Islands, hit this week by Hurricane Irma. He writes at the Players Tribune about living through Hurricane Hugo when he was 13 years old:
The whole story is a must-read. Next week, Tim is chartering a plane to deliver supplies. I’ll repeat what I said last year: thank you. Everyone still in the storm’s path, stay safe.
In announcing plans to move A List Apart away from advertising, Jeffrey Zeldman writes about the decline of independent web sites:
I don’t know what the new A List Apart will look like, but if they can encourage designers and developers to embrace independent blogs again, I’m all for it. I like the way Zeldman has framed the change for A List Apart.
It used to be that A List Apart’s most popular authors were all frequent bloggers. I think the attention on Twitter instead of personal sites has effectively created a gap of lost years for many blogs: long stretches of time with very few if any posts. Perhaps Zeldman’s post is an indication that this trend has already reversed.
Gabe Weatherhead recently made some points on Macdrifter about the decline of indie blogs — that podcasting is a cheap substitute for written posts, and that tweets and link-blogging have killed thoughtful commentary:
It’s a good post, but I see his conclusion differently. The solution isn’t fewer link blogs, but more of them. By taking microblogging back from Twitter, we create a natural place for traditional blogs to grow. Indie microblogging is the gateway drug for long-form content.
To everyone reading Zeldman’s post about A List Apart and nodding your head, retweeting the link, clicking the like button… Dust off your blog and actually post about it. A better web is built one page at a time.
Tom Brown posted about last night’s meetup. Thanks to everyone who joined us! We’re going to meet once a month.
Found extra Micro.blog stickers to bring to Homebrew Website Club tonight. We’ll need to get IndieWeb stickers next time.
On today’s Timetable: the IndieWeb and why we’re having a Homebrew Website Club meetup in Austin tonight.
Tonight we’re starting up a local Austin chapter of the Homebrew Website Club. This is a group from the IndieWeb community which already meets regularly in San Francisco, Portland, other cities, and online.
From the IndieWeb wiki:
For Austin, the first meeting will be 6:30pm at Monkey Nest Coffee, 5353 Burnet Rd. Everyone’s welcome. Bring ideas for your own web site, questions about Micro.blog, or just grab a coffee and hang out. We’ll meet in the extra room at the back of the coffee shop.
I pre-ordered the book Ink & Paint a few months ago to add to my collection of books on animation. I love these untold stories, and the women working at Disney in the early days of the studio were notoriously uncredited.
It arrived today and now I see that it’s a massive achievement. Large format, 380 pages, full of old photos and details about the artists.
Mickey Mouse coffee mug for scale. Really looking forward to reading this.
Posted a new episode of Timetable. If you haven’t listened before, this is my short-form podcast. Usually 5 minutes.
Deployed some Micro.blog improvements this morning: better URLs for posts with titles, and multi-photo uploads via Micropub.
The first Homebrew Website Club in Austin is set for this coming Wednesday, 6:30pm at Monkey Nest Coffee.
Driving past lines at gas stations (and a couple sold out) just underscores how inflexible gas is. The future of cars is clearly electric.
Love this integration between Alexa and Cortana. Tech companies get too obsessed with owning the market. It’s better for users if apps work together.
The iPhone SE was an incredible value when it first shipped — a perfect balance of size, great camera, and nearly-flawless design. I still love mine. It’s arguably the best overall phone Apple has ever made.
The iPhone SE likely won’t see an update until next spring. At that point, the camera that was competitive at launch will be 2 generations behind. This isn’t a surprise; we knew this was coming. It’s just the more I see the photos from Traci’s iPhone 7 Plus camera, the more I’m pulled back to the cutting edge. The dual-camera approach is a major step forward.
Apple will announce new iPhones in a couple of weeks. Unless the design of the high-end “pro” version is a disaster, I plan to go for it.
Finished writing an update for Kickstarter backers that I’ll send out soon. Need to get into more regular updates, especially with everything planned for the fall.
Our neighbor’s tree fell into our yard from the wind last night. Hope everyone’s staying safe as more rain dumps on Texas.
We posted a new Core Intuition: Lattner to Google, the Apple car project, and CrashPlan’s subscription change.
Inadvertently broke some JavaScript (especially for handling forms) with today’s rollout of custom pages. Fixed now.
As I mentioned in this morning’s post about Medium, it’s important that Micro.blog-hosted sites can have their own domain name. Some people use their microblog to supplement an existing web site. Others use Micro.blog itself for hosting their full web site, because the focus on short posts makes the site easy to update.
Today we’re introducing a new feature for hosted microblogs: custom web pages. These can be used for expanded “about” pages, contact information, lists of current projects, essays, or whatever you want to write about on your web site. Micro.blog pages use Markdown and are automatically included in the navigation for your site.
Here’s a screenshot of an example page being edited:
If you have a Micro.blog-hosted site, check out the pages list under Account → “Edit Domains & Design”. Enjoy!
Dave Winer isn’t optimistic about the recent Medium changes:
This has been the concern with Medium since the very beginning. Because they defaulted to Medium-branded user blogs on medium.com instead of your own blog at a personal domain name, there was a risk that if Medium didn’t work out as a business, many great posts would disappear along with the service. You might get more readers in the short-term, but it’s a bad trade-off when links break and you have to start all over again.
Nick Heer wrote about the “sameness” of Medium sites — how the sites blur together as just pages on Medium’s platform. Several prominent sites have left:
I think Medium has good intentions. But the premise was wrong, with an emphasis on medium.com/@username URLs that aren’t portable, and no obvious way to get a custom domain. Getting this right is IndieWeb 101.
That’s why on Micro.blog the microblogs are username.micro.blog by default. It sounds like a small thing, but that difference is everything. It’s easy to swap out for a personal domain name, with free SSL hosting, multiple themes, custom CSS, and it’s based on Jekyll so that it can be moved to any host.
Medium is stumbling forward, trying to find the right path because their initial foundation wasn’t right. I hope they get there.
Introducing a new feature for hosted microblogs tomorrow. Should be great for anyone using Micro.blog as their main site.
Domain name prices should be down, not up. Still a major unsolved problem to make domain names more accessible and perpetual.
Inspired by Breath of the Wild, we’ve been picking up all the old Zelda games again. Latest is Ocarina of Time on the N64.
Surprised by Medium’s new logo. So much design went into the previous logo, didn’t think they would just scrap it.
Rolled out some more improvements to @-mentions on Micro.blog. Still tweaking the behavior, but should be more consistent now.
Many people are initially confused by Micro.blog because they are expecting a strict clone of Twitter. They are expecting another App.net. But as I said in the Kickstarter video, clones of Twitter and Facebook have come and gone. They’ve all failed. A different approach won’t guarantee success, but it is required to have a chance.
I plan to stay the course. I’m inspired by the work of the IndieWeb, which was founded 6 years ago and is still gaining momentum today. I hope that the solar eclipse photos posted to indie microblogs today will last through the next North American eclipse 7 years from now, and longer.
There was a great article on AltPlatform about how compatibility between new blog-focused platforms could eventually become bigger than any one social network:
It’s going to take a while, but I have no doubt that this “flip” is exactly what will happen. The entire web should be the social network. It’s too big of an idea to be contained on a single web site.
The eclipse I remember as a kid must’ve been 1984. We didn’t have glasses, but everyone at school went outside to watch the shadows.
Difficult to get work done with so many eclipse-related distractions. Really cool day. Looking forward to Austin’s total eclipse in 7 years.
Happy eclipse day! Good luck to everyone chasing a great view. Only a partial eclipse here in Austin, but we’re excited.
Updated the “powered by” link on Micro.blog themes to link the username instead. Easier to follow a user from their blog now.
Spent the morning updating a bunch of pages on the help site. Still love that the help is itself a blog.
“He abdicated his responsibilities so thoroughly and recklessly that it amounted to a letter of resignation.” — Frank Bruni of The New York Times on Trump’s week
Checking out Cafe Creme as possible Homebrew Website Club space… Nice coffee shop, meeting room, but looks like they close at 6pm.
The transcript I posted yesterday was made with Trint.com. At over 5000 words, must be the longest post on my blog.
Daniel and I talked mostly about subscriptions on this week’s episode, and then closed with a wrap-up of our projects as summer winds down. Here’s a transcript of the first part of the show, lightly edited.
Manton:
Hi Daniel. You know a topic that we’ve had on the show a few times over this last year is subscriptions and pricing and revenue, especially in the context of Micro.blog and the new MarsEdit release. We’ve talked about in-app purchase and different revenue models for MarsEdit. And developers keep trying things. The big news in the last week was Ulysses has switched to a subscription model.
I find this interesting, and I know we chatted in the Core Intuition Slack a little bit about this as kind of a preview of the show. I’m not sure how to feel about this in general because Ulysses is the first app I’ve seen — the first big app — that is doing subscriptions without changing their app. What I mean is a lot of apps that do subscriptions, they have subscriptions because they’ve done something significant like add their own syncing backend, or publishing service, or there’s some service-oriented aspect to the app that justifies subscriptions. And Ulysses is just saying — they had a big post saying — “You know what? This business is going to work better for us. We think it’s going to be better for users too. We’re just switching; the app’s not changing. We’re just going to start charging per month.”
Daniel:
Right. And they have their typical making the case for it blog post: Ulysses switches to subscription. And as you said it’s very straightforward; they’re not doing this halfway. And their basic points are things we’ve heard from other developers and I think you and I, Manton, we appreciate this as well, even if we’re not convinced that subscriptions are the right choice necessarily for all of our products.
But you know there are some really compelling things. One of the things that rings truest for me is getting away from that whole major upgrade cycle. And especially when you’re looking at someone like me who has been now seven years since the last major update, whenever a developer makes that argument, “Oh, now I can just work on features and add them to the app and release them when I feel like it, or as soon as the feature’s done users can start benefiting from it.” All of that sounds so good to me.
There’re a lot of great arguments to be made. I don’t necessarily share your feeling that customers expect something service-oriented. I can definitely see that argument in it. I know it’s made often. But I am going to be watching Ulysses closely because I think a lot of customers are starting to understand that it’s sort of just like… Maintenance is a service. Maintenance of the software is a service and that’s something that a lot of people can justify paying for. You know especially with an app like this where it gets at sort of people’s… This is one of those part of people’s identity type of apps, where it’s like: you use this because you are a writer.
You can also say a big risk here is that there are a lot of different ways to write and there are a lot of different apps you can use. Somebody who uses Photoshop for a living… Historically it’s been harder to justify using other tools because it’s just such an industry standard, so I guess something like Ulysses is going to be like: is what they provide to people unique enough and something that people like enough and identify enough with that they’re willing to say, “Okay, part of my identity is I’m a writer with Ulysses and I’m going to pay $40 a year for that privilege?”
Manton:
Yeah, I think there’re a couple of things to go through with this, and your comment on maintenance is a service… That’s true, but nothing has changed with software in that regard, right? Software has always been work: supporting customers, doing new versions doing bug fixes, having compatibility updates for new versions of the OS. The difference with software as a service like web apps and subscriptions is: there is a real cost. If you’re running Dropbox or something you can’t do that for free.
And users I think get that there is a hosting cost, there is a bigger cost to running those services, and that’s why they are charged by the month usually, because it’s not free to run them. Whereas an iPhone app that you ship, it’s not free to support, of course. And Ulysses has a medium-sized team. They have an actual team behind this, and they probably have potentially multiple engineers and multiple support people. That’s not free, but it’s different than thousands of dollars a month in hosting costs that have to be offset or there’s no business whatsoever.
That’s how I draw the line usually, where there are some types of businesses that they have to be charged per month. They cannot be done any other way. You could support them by ads, potentially, if you’re big like Facebook and Twitter, but otherwise you have to charge users per month because you just can’t run the service otherwise.
And apps aren’t like that. Apps, there’s choice. There’re different ways you can make a business out of selling an app.
Daniel:
It’s true, but I really don’t think most users think about it that much. People who click the button or tap the button in an iPhone game to get like 100 emeralds or whatever, they’re not thinking through, “Well it costs cost money to make virtual emeralds.”
Manton:
That’s a unique case.
Daniel:
Well, it’s a unique case but it reflects the fact that I think in the vast majority of cases it’s far simpler: users recognize and accept that software is either available to them or not available to them based on whether they pay, and they choose whether to pay not based on some intricate analysis of the market viability or the business sustenance. They just think, “Do I want this, and am I willing to click this button to say yes, pay?”
That’s one thing. I do agree that there’s a challenge in marketing subscriptions in general. I just don’t think that you know the arguments about whether the developers need to pay for keeping servers running or not really comes into it as much. It’s more just about a pure value proposition to people.
Manton:
I don’t think so, though. I really think users… They don’t think about it in the terms that I just outlined, but their gut feeling is, “I’m paying for this because this is the kind of service that needs to be paid per month.”
If you ask someone will they be shocked if they go to WordPress.com and it charges them per month, of course they won’t. Yes, it’s a web site hosting service, it charges per month. But then if you ask them if the text editor should charge per month. Most people will say no, it should be a one-time… And this is not because they know the business models perfectly, but it’s just this is the accepted way this software has been done. And software as a service — subscriptions, traditionally — it’s a mature market, 15, 20 years. People are used to subscribing to these things, and so they understand it. And a text editor is not the same thing. I think users get that.
I mean it’s still too early to know how well this is going to work. I have a feeling, since Ulysses is really well loved… (I use it. I use it on the Mac and on the iPhone. I love the app; it’s really well done.) I have a feeling it’ll work out fine. But you just take a quick look in the App Store and you see the reaction is not kind. One-star reviews. “Loved this app, now I hate it because it’s subscriptions.” So that reaction shouldn’t shock anyone, because this is kind of a big switch and people are not used to paying per month for this type of app.
Daniel:
It doesn’t shock me, the reaction, but I also think that this is a classic example where a very angry, loud minority, probably, is going to get the attention. They’re going to make a stink about it. We saw this happen with TextExpander a year ago when they switched to a subscription model. As far as I can tell, TextExpander is doing very well, and it’s because, again… I mean you can argue and probably will that they have a service component…
Manton:
I will, yeah. [laughter]
Daniel:
But I honestly I don’t think that that plays into it. I don’t think typical users are thinking through the mechanics of how software works. I suppose at one point you know somebody could have made an argument that people aren’t going to pay money for software anymore because you don’t get a box and it doesn’t come with a CD-ROM and there’s no physical thing there. But we made that leap and we got to the point where it was like, okay, now people are paying $600 for an Adobe download.
This is always going to be changing. How software is marketed, how it’s priced, what people are willing to pay for it, how they get it. And I don’t think the technicalities of whether there’s a running server process on a web host somewhere has as much to do with it as you think it does. I think it’s just, point blank, does this do things I want and am I willing to pay for it.
You and I, we do customer support for our customers. A lot of them don’t understand the intricacies of how software is delivered and how it’s installed. They just know that it gets on their device somehow and then they use it. All of your arguments are totally valid about this sort of mindset of this classic traditional, savvy computer user. And I think we have to keep in mind, more and more, these ideas about how we think software is supposed to be sold and delivered. You know every year there’s a whole new class of adults who comes into purchasing power who has never known some of these old ways of selling software.
I think there’re problems with subscription pricing, but I don’t think if you took an average sampling of people, I don’t think that… I guess I have to admit I would be really curious to know what an average sampling of people would think about it. But I just don’t think that they would be going to the sophisticated analysis that you are, as much as you think.
Manton:
I agree they wouldn’t have that analysis exactly, but again their instinct — their first reaction — would be this app is good for subscriptions and this app is not. Again, no one is shocked if they go to Spotify that it’s a subscription. No one would say this should be a flat one dollar forever charge. It’s just accepted that, yes, this type of app is a subscription product. And the opposite is true for a text editor. The default assumption for people is that it’s a one-time fee and maybe they have to pay again later at some point, but they get to keep using that app.
And that’s another distinction that’s worth pointing out: there’re a lot of different ways to do subscriptions. Right now we’re talking about automatically recurring subscriptions where you pay per month or per year and at the end of that period it renews and you can’t use the app after it expires. That’s what we’re talking about. There’re other kinds that people have experimented with too, though.
For example, Sketch — great vector drawing app that I love — that is kind of subscriptions, but not really. It’s more like a support contract where you pay for a year and you get updates. After that year, you don’t get updates anymore. But the app doesn’t stop working. You can still keep using it.
And that’s kind of a middle-ground that I know a couple developers have experimented with, and I think for certain types of apps that works really well. I think for Sketch that works really well, especially because their competition is in the fully recurring — you know I’m talking about Adobe — fully recurring, automatic renewal subscriptions. They are almost there but not quite. Their app is less expensive. It’s better for some people. And so I think that fits that market really well. But there’re a couple different ways to do this and traditionally the recurring subscriptions has not been used for apps like Ulysses. It’s just rare to see an app like that have that kind of business model.
Again, with TextExpander, like you hinted at, my argument there would be: first of all, they still have the standalone version that you can buy; and second of all, when they introduced subscriptions they have a team version that syncs your snippets to all your computers. Same thing for just you using it solo or with a couple of people. And so they introduced the business model change with the addition of new features that were enabled by subscriptions. And that’s the distinction of where I draw the line there.
Daniel:
Yeah. Obviously there’s been more apps doing this kind of subscription, or like you said with Sketch, kind of a semi-subscription approach. And I guess I’m just not going to be too surprised if after a few years, whatever this sort of hunch that you think people have that something is or isn’t suitable for subscriptions, that they’ll just kind of get over it. I guess that’s the bottom line. Does this reflect a sort of market necessity, or is it just kind of like a whim.
I guess we’ll be able to watch a dueling example of this playing out because one of the competitors to Ulysses is Scrivener. And as I was reading the responses to Ulysses going subscription, I saw at least one customer saying this kind of snarky comment like, “Thanks for making my decision to switch to Scrivener.” And in fact if you go to the Scrivener forums, one of their customers asks point blank, “Are you switching to…” Or they said, “Please don’t switch to a subscription model.” And the Scrivener developers, they answered very bluntly saying, “We don’t want to switch to a subscription model.” They put a flag in the ground for traditional purchase one version, pay for upgrades, etc… So I guess we’ll be able to see as time goes forward which one of these models works best, or if they both work, and how it affects customers' happiness.
Manton:
Right. And this is a really neat example that we have because there’s this contrast. Both those apps are different, certainly, but they both appeal to writers, and so there’s certainly overlap. Some people love both apps and use them for different purposes. The business model is now very different. And with Scrivener I think it’s $45 for the Mac version. Add on some more for the iOS version. But that’s a one-time fee. So if someone uses that app for five years, let’s say, they’re going to be paying much, much less than Ulysses. Probably roughly one-fifth the price.
Doesn’t matter in the short term so much. And subscriptions are also nice because you can start using an app with a very low investment of just the monthly fee. But in the long run if that continues, people will notice the price difference and they’ll think about it.
And the reason I’m coming from this side of things is that I am a little concerned that… This subscription fatigue thing. I really do think it’s real. I think people will be burned out on subscriptions if all apps are subscription-based. I think that will be a big problem for the market and just the industry in general. And as someone who is trying to build a business that can only work with subscriptions, I have no choice. It has to be subscription-based because of the hosting costs of running a social network and a blogging platform.
I’m a little concerned that people will be burned out and I don’t want them to drop my service. I want them to drop something else if they decide they have to cut their monthly expenses.
We’ll see how it plays out; it’s super early. I was just listening to the Accidental Tech Podcast, and they briefly addressed this in one of their Q&A episodes. The consensus on the show was the market will sort of out, don’t worry. If too many people charge for subscriptions and users are burned out, they’ll stop buying those apps and those apps will have to die or change their business model.
They weren’t worried. I am more worried than that. I think there is a concern. We’ll just have to see if that is valid. I know developers right now are looking at Ulysses, and if it works for them, they will copy it. That’s going to work for some people and not for others.
Daniel:
You know when it comes down to it, part of this subscription thing is developers, actually starting to demand payment for what they do.
Manton:
[laughter] Yeah.
Daniel:
And you know, when you look at people like me… It’s funny, the Scrivener folks say in their post as well that it’s been seven years since they had a major upgrade. And I look at that and I think, Ulysses can switch to subscription pricing and they can charge $40 a year. If you compare that with Scrivener, they can have seven times fewer users and still make the same amount of money.
A lot of us who are amateur at business, we have this problem: we neglect to ask and demand payment for the true value of our work. Part of the problem when you go indie, and you go from having a well-paid job to maybe making half of that and hopefully trying to get back up to where you’re making the same amount of money you were for the big job. Part of that disparity of income is I think a failure to demand payment for what what your work is worth.
And so I think it may be an extreme that going to this $40 a year might be an extreme counterbalance to that, but I think it’s an example of pushing back in the other direction. I think it’s fair to say people who have been using Scrivener for seven years, having paid for it once for $40… Whatever that amount per year is is not a fair compensation for the work. So somewhere in the middle maybe. If it’s going to come down to a test of whether a business model that asks for $40 a year wins or a business model that asks $40 every seven years wins, the subscription pricing is going to win. That’s ultimately going to keep the product better maintained and better developed. It’s going to cause users to like it more.
And I don’t know the subscription fatigue thing, I agree, but most users don’t need like 20 apps — 20 paid apps, anyway. I have some subscription fatigue for things like Netflix. I only have Netflix and then I added HBO. And I have my Apple Music subscription. I’m not going to go subscribe to all of Apple Music and Spotify and whatever else — Tital or whatever else. But I am willing to add subscriptions for things that bring me new value that I can justify.
And I think that people are going to be the same way with with apps. Maybe there’s only five apps I want to subscribe and pay for, but I’m going to pay for those. If every user out there subscribed and paid for five apps at $40 a year we would be doing pretty well as a software industry.
Manton:
So Daniel, you make some good points about subscriptions, and I also think that you’re right in a way that maybe subscriptions for these types of apps — that I personally think is pushing the limits — it is at one extreme, and maybe we’ll come back into the middle a little bit. Because of course I completely agree that apps should not go without revenue for seven years, and that’s not really the user’s fault, exactly. Developers should be more disciplined about… I’m trying to say that without insulting anyone, including my co-host.
Daniel:
Anyone on this show. [laughter]
Manton:
But that’s too long, we can all agree. If your if your model is paid upgrades, maybe you can go that long if you have a successful app, but you shouldn’t. You should go at most two or three years before doing a paid upgrade. That’s a reasonable amount of time. Especially for Mac software, you’re not going to get any one-star reviews if you do a paid upgrade after three years. People understand that there’s going to be a paid upgrade at some point, most likely.
So maybe there’s a middle ground there. Maybe this is pushing the limits. As you were talking about you just want to pay for Netflix, but not Hulu and HBO and Apple Music and all these other things, I think there’s a parallel to the app world here as well, and it’s Setapp.
We’ve talked about this a little bit on the show, but Setapp is like the cable package for people who don’t want to buy one-off subscription services. We pay for Netflix, we pay for HBO, we pay for Hulu, we pay for Playstation Vue, we pay for all these things. And at some point you kind of want to consolidate that into a cable-like package where you’re paying one company and you’re getting a lot of things. And we don’t quite have that in the streaming world and we don’t certainly have that in the developer world, but Setapp is that model where it’s a subscription but you pay for many things at once, so that you’re not burned out on paying 20 different developers $4 a month.
Daniel:
Yeah, I think it’s a great argument if you say what if you had to pay for a subscription for each of the shows that you watch on TV. There’s a logical extreme where obviously it’s not going to work, and maybe that’s an example where the ATP argument that the market will figure it out comes into play. I mean there’s just no way I would pay… Imagining that scenario is a bad scene because I think in practice what would happen is that I would just stop watching TV. So it’s bad news for the TV makers if you follow that same argument. If I have to pay for each of the shows that I relatively religiously watch now then I would find a new hobby, I guess. And maybe software buyers would likewise… I don’t know what they’d do. Maybe they’d switched to writing with a typewriter or something.
It’s going to be interesting to see because I don’t know if Setapp is exactly the right solution. I really applaud them… They’ve really tackled this experiment with gusto, and it sort of seems like it’s working for them. It doesn’t seem like it’s working nearly as well as they had anticipated, from what I’ve picked up. I saw some links talking about how much they’ve sponsored and how many big events they’ve sponsored, and you sort of start doing the math on it and it doesn’t really sound like it’s… I wish I had it all at the tip of my fingers, but some other information came out where it showed I think that they had shared their subscription count and doing the math on it it sort of seemed like, well that sounds like not a great deal.
You actually saw some concrete evidence of how well they’re doing on Dan Counsell’s blog. It’s his Micro.blog-hosted blog as it happens, and he shared his numbers for RapidWeaver. Actually RapidWeaver and Squash, two of his apps, but I have to assume RapidWeaver is by far the greater revenue source in this case.
Both of them are in Setapp. We don’t know a ton about how Setapp developers are compensated except for it’s been shared that it’s sort of proportional to the price of the app standalone. RapidWeaver is not one of the lower-priced apps in Setapp, so I would have to assume Dan Counsell’s cut is higher than many participants in Setapp. So keep that in mind, but he shares his numbers and he points out that the numbers are actually going up. Fairly fairly quickly, really, over a few months. In May, he says he took $1446 from Setapp, and in August it’s up to $1913. Which is a great growth rate if you just look at it in isolation. However, I’m not sure that reflects a great overall business numbers from Setapp, if you consider that he’s probably being compensated better than many app developers in the program.
Let’s say generously that he can look forward to you know $30,000 a year in revenue from Setapp in the near future. And if that’s true, boy that’s really great if it’s extra money, if it’s not eating into his sales, etc. But this is being looked at as the future of software, it’s not great. $30,000 a year is not great for most developers in the U.S. at least trying to make a living off of software. And particularly for an app like RapidWeaver that I have to imagine — if not now then definitely in its heyday — was making way more than $30,000 a year. I imagine it still is making multiples of that per year.
So I don’t I don’t expect Setapp to be mature and to the point where it does fulfill this dream of keeping developers fully employed by participating in the program. But I do think this is evidence. This is middle evidence. This is evidence that there’s real money coming through Setapp, and it’s also evidence that it’s not a real great amount of money.
Manton:
Right, and I haven’t seen too many real numbers, but this is consistent with what we’ve heard — even some people in the Core Intuition Slack, who are on Setapp, have said — which is it’s some extra money. It’s not, “I can’t shut down my direct sales or my Mac App Store sales and just use Setapp”, but it’s money coming in. It’s growing. And the consensus I hear is, “I’m willing to just let it grow and see what happens”, because it’s extra money.
You’re kind of hedging your bets by being in Setapp because whether you sell directly and have paid upgrades as RapidWeaver has had for quite some time — and I know they’ve had some big successful paid upgrades that they’ve blogged about — or whether you’re taking Ulysses’s approach or TextExpander or 1Password, those kind of approaches with subscriptions. In case your primary bet doesn’t work out, if Setapp grows, that’s extra revenue that will appeal to a different set of users. If someone is burned out on subscriptions or they’re tired of paying paid upgrades or they don’t want to pay $45 at once for the app, and they go to Setapp, they are still your customers, which is nice.
I feel like Setapp, in a lot of ways I think people have been a little too negative about it, and maybe the expectations at the beginning were just too great for it. But if Setapp sticks with it, and develops stick with it, and it keeps growing, I think there’s something there. It doesn’t need to take over the world, but it could still be a nice bit of extra revenue for developers that are there.
Daniel:
It’s interesting because one of the apps in Setapp is none other than Ulysses. So you get this interesting situation where if a few more of these Setapp apps start offering subscription pricing on their own, then you get to the situation where if you’ve got three $40 a year apps then you do start to face that point. If I were subscribing to Ulysses and let’s say RapidWeaver had its own subscription, and Screens is on here. If I was subscribing to each of those independently, I would be paying more at that point than the Setapp price.
Manton:
Is the Setapp price $10 a month, or $20?
Daniel:
$10 a month.
Manton:
So it would only take a couple subscriptions individually to say, “Well, maybe I’ll just use Setapp instead.”
Daniel:
If that happens, that’s going to be an interesting example of where developers might suffer. A lot of this hinges on the Setapp model not taking money away from the developers. So if you’re in a situation where you’ve got three people paying $40 a year each for three apps that are also Setapp, if that individual gives up those subscriptions in favor of Setapp then suddenly those three developers are making a ton less money.
At some point I don’t know whether this Setapp setup is going to be something these folks want to stay in. And I can see for example Ulysses being in Setapp as sort of a way to get some subscription money before they had chosen to go that route route.
I don’t know if we’ve seen an example yet — if we have, I don’t think it’s been highly publicized — but I don’t think we’ve seen an example yet of companies leaving Setapp. I wonder if some of them will be compelled to if doing the subscriptions themselves is a better deal.
Actually, Blogo is in here, which is one of my competitors, and it’s also I think exclusively a subscription app on its own. And they made the switch a year or two ago. But that’s another example where it’s like okay, get a few of these and if you’re paying for them separately of course you’re going to go switch to Setapp, save some money, but then I don’t know. There’s going to be some friction there if that happens.
Manton:
And it’s complicated because you say of course you’re going to switch, but most people don’t know about Setapp. And I think most developers are not pushing it prominently even though there’s an advantage to pushing it a little bit because there’s some some complicated math there with referral numbers but RapidWeaver as an example, it’s a $90 app. I know they have regular paid upgrades that are probably half that or less. So, pretty expensive app. But I know they have tons of users that love the app, really well respected app. When you go to RapidWeaver — RealMacSoftware.com — you buy it directly or from the Mac App Store, it’s $90. It doesn’t say, huge button that says Setapp.
Actually if you scroll way down to the bottom there is a referral link to Setapp. Buried way, way at the bottom — in the footer of the page — but I think most people are going to buy direct from the developer or through the Mac App Store and Setapp is not going to hurt the general sales. If it does, it’ll be a real small percentage of people I think.
It gets complicated though. There’s certainly the thing that we’ve talked about before which is if your competitor is in Setapp, and a potential user knows about a Setapp, they may just use your competitor’s app because it’s Setapp without having to pay extra, versus going to your site. There’s a lot of ramifications for these different models competing.
Daniel:
I wonder if there’s a rule on being in Setapp if you have to link to them. I’m looking now on Edovia’s Screens for Mac, and it’s a similar type of deal. It says download trial, buy now, and then as part of the little text underneath it says Screens is also available on the Mac App Store and Setapp. Does the Ulysses app have a link?
Manton:
That’s a good question. Let’s check. And even if it’s not a rule because of the referral money, there’s an incentive to just put a link anywhere, somewhere, even if it’s not super prominent.
Daniel:
Yeah. I don’t see anything about it on the Ulysses page, so maybe it’s not a requirement. Maybe it’s just a coincidence that both of those had it.
I think Setapp, back when they were first coming out, we had this discussion. I don’t think this is exactly the right solution what they have right now, but I think they are set up to be in a position to provide what could be the right solution. And I think it’s going to be when that friction — you know, let’s assume they get successful enough that that friction occurs, where enough people know about Setapp to know that they can go to Setapp and then that doesn’t work out as well for the developers. I think what Setapp could do is be in the business of providing basically the equivalent of cable mini-packages. If you could put together your a la carte list of apps and say, “Okay, I want these five apps let’s say, and I’m willing to pay for these five apps for $10 a month.” Obviously at that point it would have to be apps that are included in the main Setapp bundle. They would be in a really strong position then because they can capitalize on that problem we were talking about, hich is I don’t want to pay for each show separately. But at the same time they can also give their developers a more substantial cut because you’d be selling a smaller number of apps that it’s obvious the customer really wants those apps.
Manton:
Right. I think you’re right that they’re well positioned to do something and to fill whatever this hole ends up looking like in the market. The key to me is they shouldn’t give up. Developers shouldn’t give up like just see this through. Even if a developer is not making very much money, it’s probably mostly free money. It’s probably not hurting your direct sales too much, so just see it through and then six months later, 12 months later, re-evaluate and we’ll re-evaluate on the show too how we think it’s going. But this feels like it’s something, but it needs time to develop and mature.
Daniel:
Yes, I think so. I think we’re going to see a lot of stuff happening over the next year, especially. Seems like the subscription idea is percolating. Setapp is there as an example of something different that somebody is trying. Maybe we’ll see something new yet still.
I kind of wish I wasn’t due for a major upgrade, because I wish I could sit back and watch and see what works. But I think I’m just going to have to push forward and get my get my app out. Probably sell it the old-fashioned way.
Picked up the Samsung T3 SSD yesterday to offload some large files and give my MacBook Pro more room. Usually like to keep everything on a single drive and nearly everything on Dropbox, but this’ll buy time before the next MacBook Pro upgrade.
Trump’s comments today — “Is it George Washington next?” — are essentially alt-right talking points. He’s incapable of leading the country through this.
Listeners may be surprised by my thoughts on Ulysses and subscriptions for tomorrow’s Core Int. It’s a big episode. Might try to do another transcript.
Micro.blog now has Markdown highlighting as you type in replies. Micro.blog has had basic Markdown support since the Kickstarter launch, but we’ve been improving how it processes Markdown and where the visual highlighting is used in the web UI.
Here’s a short screencast of the new reply UI:
Don’t have a Micro.blog account yet? We’ll be inviting more users soon. You can sign up on the announce list.
Always baffled by this house wiring. Installed a new Nest Protect… The smoke alarm power goes out when the kitchen lights are off.
In a post on Daring Fireball today, John Gruber makes a convincing argument for Safari showing favicons in tabs:
Even more surprising to me is that Safari doesn’t use favicons for pinned tabs. Instead it uses a special monochrome vector icon. Ever since adding favicon support to Micro.blog, I’ve had on my to-do list to create one of these vector icons for Safari, but so far I haven’t been able to justify the effort. (And judging by a handful of my favorite sites, no one else has bothered to create a pinned tab vector icon either.)
Why does Apple require a separate icon format here? Probably for the same reason as John Gruber’s guess about normal tabs:
It seems clear that these pinned tab vector icons are a dead-end. There are already too many sizes of favicons. Safari should have basic favicon support in tabs and do it with as few extra icon files as possible.
Charging my Leaf while having a coffee and working at Whole Foods for the afternoon. Gave up on the wi-fi. Tethering to 2-bar LTE is faster.
I recently added “repost-of” support to Micro.blog’s Micropub API implementation. This lets you pass an extra URL — the post you’re writing about — in clients like Micropublish. There’s deliberately still no concept of a retweet or repost, though.
When I wrote last year about Instagram and reposts, I was concerned with introducing features that could be abused or lead us back to reinventing Twitter’s problems. There’s even more evidence now that quick reposting shouldn’t be implemented blindly. Look what happened on Soundcloud:
For Micro.blog, I believe the right approach is to first introduce a simple “quote” feature. This UI would be streamlined to support quoting a sentence out of a blog post, with your own thoughts tacked on. It would fit with the spirit of easy posting in Micro.blog, but it would encourage more thoughtful posts and naturally scale up from traditional linkblogging.
Micro.blog 1.0.3 is now in the App Store. New user profile screen, share menu item, and other improvements.
Updated my post on Apple News shortly after publishing to actually include links. Wasn’t fair to say they’re off the rails without linking.
I don’t use Apple News very often. I much prefer reading blogs in Reeder and Micro.blog, with a daily check on the other news sites I pay for. But last night I noticed a headline in the iOS today screen and tapped over to a few stories in Apple News.
Scrolling down in the “For You” tab about politics I was surprised by a couple news stories about a plan by Democrats to “silence non-liberal media” (People’s Pundit Daily), and another on the Trump-Russia “collusion fantasy” (The Daily Caller). These were right-wing opinion pieces sprinkled with conspiracy theories, yet placed next to reputable news organizations like The New York Times, CBS News, and Politico.
I thought Apple News was highly curated and better than this. Personal essays are fine in Apple News, because that’s part of blogging, but they shouldn’t be suggested to a mainstream audience looking for real news.
“The situation with North Korea would be an extreme challenge for a leader with ability and judgment. President Trump is simply too erratic, unstable and dangerous to be in charge in a situation like this.” — Josh Marshall
Isn’t Trump on vacation? Wish he’d just play golf for a few weeks and not talk to the press… or anyone.
It’s always cool to see Webmention comments on real sites across the web. It’s not just a W3C spec. Like many ideas from the IndieWeb, this is a simple web technology that actually works today.
We’ve been improving Micro.blog’s support for Webmention. When you reply to a post on Micro.blog, from the web or iOS app, it will ping the site you’re replying to, giving that site a chance to include the comment. You can see these replies show up under recent posts from Aaron Parecki and Jonathan LaCour.
Drew McLellan had a good overview of implementing Webmention, including using services like Bridgy to bring in tweet replies:
Colin Walker highlighted Webmention when writing about Micro.blog:
Micro.blog also has limited support for receiving Webmention requests for people replying to a Micro.blog-hosted blog from their own site. As this support improves, both in Micro.blog and as more people enable Webmention on their WordPress sites, the distributed nature of the web as a broad social network will really start to shine.
Pushing the next iOS build up to Apple for approval. A few people are still on TestFlight… You should switch to the App Store version.
I was hesitant to deploy server changes from the road, so now that I’m back home I’ve updated Micro.blog with a few fixes people have been waiting for. Also wrapping up the next iOS version.
Finally added a favicon to Micro.blog. Not a dozen sizes, which had kind of scared me off, but just one. Looks nice.
This morning I updated Micro.blog’s XML-RPC posting to support the MetaWeblog API, which allows uploading photos to your hosted microblog. If you’re using MarsEdit to post to Micro.blog, edit your “System API” in MarsEdit’s blog settings to “MetaWeblog API” instead of “Blogger API”.
Working on the photo upload support has also helped clarify how Micro.blog should process text from the different posting APIs such as MetaWeblog and Micropub. After the next version of the Micro.blog iOS app ships, Micro.blog will start requiring Markdown and escaping HTML tags from Micropub, just as it currently does from the web interface. This will be a much better default for most people, and bring more consistency between web and iOS posting.
MarsEdit and other tools that use XML-RPC will still be available for when you want more control over the HTML that is posted. Micro.blog does allow Markdown in your MarsEdit posts, but otherwise it does very little processing of text from MarsEdit. It even lets you post long-form blog posts.
Yesterday we posted Core Intuition 290. The date in the feed was wrong at first, so scroll back in your podcast app if you missed it.
Since last year’s 30 days of new coffee shops, I’ve been stuck in my routine of co-working and same ol' coffee shops. Checking out Summer Moon at Avery Ranch today.
Today we’re adding Facebook cross-posting to Micro.blog. Facebook support is now built in, just like Twitter cross-posting, and can be configured for a microblog hosted on Micro.blog or any external blog with a feed.
Micro.blog’s cross-posting naturally works with long-form content or microblog posts. For longer posts, it includes the title with a link back to your blog. For microblog posts, it sends the entire text to Facebook.
Micro.blog also parses your post HTML looking for img tags, downloads the photo and attaches it to the Facebook post. This means that microblog posts with photos look great on Facebook, but the source content is still on your own web site. It works really well with the Micro.blog app for iOS.
I feel like Micro.blog is starting to pick up steam. I’m looking forward to rolling out more improvements before the public launch.
Finished some server upgrades. Rolling out a new cross-posting Micro.blog feature later this morning.
Only Apple publishes a new blog without a link to an RSS feed, but it does have one at /feed.xml. Built with Jekyll.
Moved Ulysses on iOS to my home screen now that I’ve had a chance to test out the Dropbox support with my 1k+ notes folder. Working well.
Enjoyed watching a bunch of NBA Summer League, including most of the Spurs games and yes, Lonzo Ball. Can’t wait for the preseason. 🏀
Relieved to see the repeal vote won’t proceed for now. Every day of delay is a day closer to 2018. This is a nice list of where all the senators stand, with quotes.
I’ve been so happy with my messenger bag that I ordered Tom Bihn’s Aeronaut 45 for travel. It arrived today. Looks perfect.
Micro.blog for iOS version 1.0.2 was approved and should be in your Updates tab. iPad keyboard shortcuts and a few fixes.
We fixed Markdown blockquote formatting yesterday for hosted sites. Hoping to experiment more with quoting as a “repost” alternative.
Micro.blog’s business model is pretty simple. If you want Micro.blog to host a new microblog for you, or use the Twitter cross-posting with an existing site, there’s a small monthly subscription. We want Micro.blog to be the easiest way to start a blog.
Included in all Micro.blog-hosted microblogs is support for custom domain names, so that you can map yourname.com to your blog. While we’ve always supported SSL for the default yourname.micro.blog hostnames, custom domains need their own SSL certificate. Managing SSL certificates is a hassle, and until recently, also expensive.
I’m happy to announce that we are now rolling out free SSL hosting for custom domains, powered by Let’s Encrypt. While it’s not fully automated yet, we’ve already started enabling these for customers as requested. If you have a Micro.blog-hosted blog with a custom domain, email help@micro.blog and we’ll enable SSL on your site.
There are more features coming for hosted blogs leading up to the public launch of Micro.blog. Don’t forget to sign up on the launch announce list.
It’s too easy to blame distractions for lack of productivity. Then you have a big stretch of uninterrupted time — as I have right now — and actually have to finish something. No excuses.
Looking forward to the new Game of Thrones tonight, even though my interest has kind of drifted away the last few seasons. Mostly caught up.
A few years ago, Daniel and I launched Core Intuition Jobs, a site for companies to post job listings for Mac and iOS developers. It was a really nice success. At one point I thought we might even focus more time on it, and expand it with a companion site of resources to help developers.
Fast forward a year or two, though, and it became clear that without that attention, the site couldn’t just coast along. New listings were becoming more infrequent. The site needed marketing and regular improvements, just like any product.
And worse, while the whole point was to build something just for Cocoa developers, the site would still sometimes receive job listings for Java or Python developers, for example, and we’d need to refund the listing and remove it from the site. It wasn’t a lot of maintenance, but it was enough that we had to decide whether to put more work into the site or focus on our main podcast and other projects.
This week we decided it was time to move on. Existing job listings will continue to run until they expire. No new jobs are being accepted.
Thanks to all the companies who used Core Intuition Jobs. Now when we are asked about other places to post jobs, we’re pointing people to the email newsletters iOS Dev Weekly and This Week in Swift, as well as Core Intuition podcast sponsorships. Good luck to everyone looking for a new job!
Posted episode 289 of Core Int. We talk more about the MarsEdit beta, next iPhone, and a listener question.
Disappointed that the Spurs couldn’t keep Jonathan Simmons. Enjoyed watching him in Austin and then San Antonio. He has a great story.
Sent an update to Kickstarter backers announcing the App Store version of Micro.blog, friend invites, and recent progress.
No matter what happens, the 2016 election loss cannot be undone. But these Donald Jr. emails look really bad. Seems textbook collusion.
Good progress catching up on email today, and support questions. Probably should know by now to carve out time every morning for this.
Rolled out more Micro.blog tweaks over the weekend. Better photo cross-posting, lots of little edge cases taken care of.
Posted Core Int 288, about the MarsEdit 4 beta and our thoughts from the iPhone release 10 years ago.
Sometimes wish I had a 7 Plus for travel (writing is much easier, like a super-mini iPad) but don’t want to give up my SE for everyday use.
Think I’m going to take my old iPad Mini on an upcoming road trip instead of the iPad Pro, since I’ll need my MacBook anyway. But the Mini is unusable now with low disk space, presumably from bloated app sizes. Clearing it and starting over with the iOS 11 beta.
I’ve let the blog go a little quiet this week as I’ve been focused on coding. I have drafts of a bunch of posts that I hope to get back to.
Happy 4th of July, America. All I want for our country’s birthday is a new president. (I’ll accept an IOU, but can’t wait forever.)
With Apple improving app review times, now kind of worried that this app has been in “waiting for review” for 3 days. Maybe today.
John Gruber remembers what it was like watching the iPhone announcement:
I felt the same way. Even the day I brought the iPhone home, I wasn’t sure that it was actually going to work. I was ready to be unsurprised if it turned out to be unstable — crashing often or overheating. It was stunning how good it was. It absolutely felt like a phone from the future.
One thing I had forgotten about from 10 years ago was the activation process, which was definitely not from the future. It was rooted in the past, connecting to iTunes like an iPod. Here are some of my tweets from that day, showing the long delay between picking up the iPhone from the store and actually using it, plus my last-minute decision to even wait in line:
10:15am: It’s only 10am but already realized I need to go to Plan B. Bribe friends already in line to use their 2nd iPhone purchase.
11:09am: Change of plans. Heading to the Apple Store now to join in the line-waiting fun. Will it be too late?
12:26pm: I expected rain, but that seems unlikely. It’s hot like a real Austin summer here in the iPhone line.
2:32pm: Hanging out in The Line with Jeremy of Barton Springs Software and @damon. Apple Store is closed. Had some lunch and a Starbucks soy latte.
4:03pm: 2 hours left. We can redeem our free Starbucks coffee coupons now. Excited! (About the iPhone. Not the coffee.)
6:30pm: Got my iPhone.
7:35pm: Activation will have to wait. Ratatouille.
8:18pm: Movies all sold out. Pre-activation dinner at Kerby Lane instead.
9:53pm: Activation took less than a minute. Also, no plan choice. Just $20 added on to what I already pay, I guess.
11:56pm: @danielpunkass Wait, what? You can make calls on it? (But seriously, you’re right. It’s a computer first and a phone second.)
Apparently I waited in line most of the day. I remember it only being a few hours. I also love how trivial these tweets seem. A big reason to have a microblog is because even the most mundane posts today carry extra significant years later.
Great to see Daniel Jalkut announce a public beta of MarsEdit 4. There are a lot of new features in this version, but the one that I love the most actually might seem minor. It’s just a short line in Daniel’s announcement, under WordPress-specific enhancements:
For anyone using WordPress for microblogging, this is a big deal. It means you can post with the “status” post format for your short posts. It’s a really convenient way to post to a WordPress microblog from a Mac. (And of course, you can use MarsEdit to post directly to a Micro.blog-hosted blog as well.)
Rolled out additional fixes to timezones, more robust photo uploads. Also prepared the iOS app for the App Store. No more TestFlight builds.
Deployed a major improvement today for timezones and custom domains on hosted sites. Seems simple, but tricky to do without breaking feeds.
A few years ago, Jon Hays and I built an app for photos called Sunlit, powered by the App.net API. We evolved it to work with other services, like Flickr and Instagram, but as App.net faded away we could never justify the investment to rewrite significant parts of the app to bring it forward and keep it relevant. It also wasn’t clear what the app should do if we were to modernize it. So we let the app sit in the App Store, kind of neglected, and even discussed removing it from sale.
As I rolled out Micro.blog to Kickstarter backers, Jon dusted off the Sunlit project and experimented with something that should’ve been obvious to us earlier: Sunlit should post to blogs. And more than that, it should work well with microblogs and IndieWeb standards. It should become a great app for photoblogging. The new version of Sunlit can post photos to Micro.blog, WordPress, or any site that supports the Micropub API.
To play nicely with microblogs, we introduced a new post type in the app for single photos. For longer posts, you can still collect multiple photos together, add text, and post them as a story directly to your blog. There’s also a brand new editing interface with filters and advanced adjustments:
Jon has put a bunch of work into this while I focus on Micro.blog. Sunlit 2.0 is already feature complete and in beta testing now. We expect to ship it sometime this summer.
I was skeptical when the NBA announced that they wouldn’t give awards until after the playoffs. But it’s nice. It wraps up the season by celebrating multiple teams instead of just one.
Looks like a lot of great work came out of IndieWeb Summit hacking yesterday. Watched some of the video and tried to keep up on Slack. I didn’t end up having as much time as I hoped, but still deployed a handful of fixes to Micro.blog over the weekend.
Love this map of the IndieWeb. Great visualization of how the entire web can be the best social network.
Excited to hear from everyone attending IndieWeb Summit in Portland this weekend. I’ll be in IRC/Slack. Hoping to have a chance to improve some related parts of Micro.blog.
Expecting great things when the Spurs use their 59th pick in the NBA Draft tonight. (4-time NBA champion Manu Ginobili was 57th.)
We just posted Core Intuition episode 287, following up on Chris Lattner, WWDC, and Uber. From the show notes:
Thanks for listening. If you’re new to the show, you can subscribe in iTunes or Overcast.
I wrote my Uber post before Kalanick resigned. Thinking about whether it changes my opinion… Not really.
We saw Cars 3 this week and enjoyed it. Maybe my favorite of the series. Pixar is the best at trying to fit an original story into sequels.
Danny Green is an important part of the team. No way I’d trade him to get Chris Paul. Spurs are competitive as-is with only minor changes.
I was very excited to see this post from Brandon Kraft, about the potential for an expanded role for WordPress in the IndieWeb movement:
People always ask me how Micro.blog is going. There are many answers to that: from the business side, or how the community is growing, or the technical bits of scaling the backend. But one simple answer is how Micro.blog’s success can be judged in posts like Brandon’s.
I still believe strongly in the dual nature of success that I posted about earlier this year:
Of course, “if more people blog” is a simplification that leaves out what naturally happens next: the spread of more web standards and better tools for microblogging. If Micro.blog has played even a small part in encouraging IndieWeb standards within WordPress itself, that is great progress. I’ll be happy to raise the bar for what success looks like.
As I expected would happen, using iOS 11 on my iPad Pro after WWDC has inspired me to revisit the universal version of Micro.blog for iOS. Here’s a screenshot of my current build:
I plan to include this in 1.0. I’m in the process of moving the app from TestFlight to its final home in the App Store. As we prepare for the public launch, this’ll make it much easier for everyone to download it, and it shouldn’t be limited or scaled up on the iPad.
Democrats have a serious, near catastrophic turnout problem. Time to stop blaming the candidate and figure out what is wrong on the ground.
Polls closed in Georgia. While waiting for results, I’m just going to keep rewatching Randy Bryce’s video announcing his run against Paul Ryan.
Acorn 6 public beta is out. Great app that I use all the time. It gets significantly better every year.
Fixed inconsistency between conversation threads on the web vs. the Micro.blog iOS app. Much better.
Last week, Uber sent an email to customers linking to the results of its investigation and the next steps for the company:
People always deserve a second chance. Companies, not so much. I see no reason to use Uber again, especially when there are now many ride-sharing apps that are just as good.
Uber had a strong brand, and now they’ve undermined it. Uber had the best user experience, and now most ride-sharing apps have matched it.
Uber is still in more cities, but that’s less of an advantage than I first assumed. Austin went without Uber and Lyft for a year and the city’s roads didn’t descend into chaos. It was fine.
Maybe ride-sharing is a winner-take-all market as Ben Thompson has convincingly argued. But maybe ride-sharing is just one commodity feature in the future of transportation, and as these services are integrated into larger platforms like Apple Maps and Google Maps, Uber’s dominance will fade just as their differentiation has faded. (On the extreme side of this, some competition to Uber such as RideAustin already treat the infrastructure as nothing special, operating as a non-profit to serve drivers and riders.)
It may seem foolish to bet against a company with billions of dollars in revenue, but Uber has little competitive advantage in software to show for the huge investment and current loses. They have more drivers, but with frequent turnover, how loyal are those drivers? I took a ride with Fasten and my driver thought that signing up and driving with Fasten was so similar to Uber that perhaps Uber was even secretly running it.
Uber reminds me of the Trump campaign and administration: mistake after mistake, and they get away with it. But at some point the second chances have run out, and the problems will stick and have real consequences, taking the whole thing down.
Companies are not always built to last. Sometimes it’s unfair — products that never find the right customers despite the founders' best intentions. But sometimes companies deserve to fail — mismanagement, bad products, and toxic culture.
Companies fail all the time. I hope everyone at Uber is ready with a new job when it’s Uber’s turn.
On the surface, an independent microblog might seem a lot like a Twitter account. There are some important differences: you own your own content, you can use Markdown or HTML for styled text, and you aren’t limited to 140 characters. An indie microblog can be just as easy to use as Twitter, but more flexible since it lives at your own web site, even with your own domain name.
So you’ve created a Micro.blog account or chosen to set up your own blog. How should you use your own microblog compared to Twitter or Instagram? Here are some ideas:
Of course there’s no single correct way to blog. I’ve enjoyed watching Micro.blog users try different approaches to microblogging to figure out what works best for them.
Since I can’t be at IndieWebSummit next weekend, thinking up some IndieWeb-related improvements to Micro.blog I can work on. Micropub and Webmention support could still be improved.
Glad we finally switched to AT&T’s unlimited wireless plan. With 5 phones, we kept going over, and it removes any worry when tethering.
Still not using Uber and wasn’t even going to write about them, but a conversation at lunch sparked some more thoughts. I’ll post on Monday.
Dave Winer writes today about how because of the way the Facebook news feed works, sometimes you never seem to hear from friends again because they’re demoted by the algorithm. Your friends are posting, but you never see what they’re saying. Also:
If you want to see this in action, visit Facebook in a web browser and see what it shows you. Don’t scroll or click anything, just wait a few seconds and hit reload. Then hit reload again. And again. Each time you’re presented with a completely different view of what’s important. It’s unusable.
I know there are so many great podcasts that it’s difficult to listen to everything. I’m still making my way through all the commentary about WWDC. But I just finished Jeff Veen’s Presentable episode 25 this week and particularly enjoyed it.
Jeff talked to Jeremy Keith about his new web design book, and about the web industry repeating the same old mistakes, with a really great discussion about the IndieWeb. When asked about how people prefer to post on a social network, because maybe fewer people will find their own site, Jeremy said:
There’s much more that I can’t capture in a truncated quote. Highly recommend listening to the full interview in context.
Updated the WordPress JSON Feed plugin with a timezone fix and support for attachments. WP Admin → Plugins to get the latest.
We just posted a new episode of Core Intuition. From the show notes:
There’s still a lot to cover from WWDC. It’s a good time to be a Mac or iOS developer.
I didn’t quit a great job 2 years ago to go work on something I didn’t believe in. If Instagram is cool with copying Snapchat, showing more ads, and never improving their API… Hey, welcome to Facebook. I’d rather work on things that I think matter.
Interesting how much leeway we give to Instagram because their 1.0 was so great. API that doesn’t allow posting? Should be unacceptable.
Because I don’t follow anyone on Twitter, about once a week I’ll randomly click through a few Twitter user profiles to see if I missed anything interesting. Usually the answer is no. If something important is happening, it’s also being discussed in more detail on blogs, and I’ll see it.
Yesterday I checked on the last tweets of a few developer friends who stopped posting either after the election or on inauguration day. I have a lot of respect for anyone who makes a quiet, peaceful stand on principle. It’s not easy to go against the flow.
The 2016 election was a disaster. It still hurts to think about it. I keep telling myself and others: heads down, keep working. I have to believe we can get through this.
Today another story exploded on Twitter: a shooting at a congressional baseball practice. If you had clicked through from the trending links on Twitter this morning you’d have seen the worst speculation, misinformed partisan tweets, and unhelpful “facts” before we knew what really happened. When we should all be striking a solemn tone for the injured, the tweets instead quickly turn dark.
For a service that prides itself on breaking news, Twitter is an absolute dumpster fire in times like this. The best of Twitter is the thoughtful tweets and discussion, connecting new friends and diverse opinions. When real news breaks, the service runs uncontrolled, in fits of nervous energy and hate. It’s a terrible place.
Micro.blog will never have trends, search, or even retweets until we can elegantly solve this. The world doesn’t need another platform with so much manipulative power.
Today’s update to Reeder for iOS includes initial support for JSON Feed. This is my default feed reader, so very happy to see this.
When I was in San Francisco last week, I visited the Eyvind Earle special exhibit at the Walt Disney Family Museum. Eyvind was a background painter and concept artist on Sleeping Beauty and other 1950s Disney features. I love this series of small paintings he made to train his assistants:
Today, something like this would be done digitally in layers. In 1959, he had to paint each layer multiple times to fully demonstrate the technique. No shortcuts.
Whenever there’s a new Nintendo announcement at E3, I remember that I still own @wii on Twitter. No one knows why.
I expect that iOS 11 will get developers excited about building universal apps again. I know it has for me.
At WWDC last week, Apple introduced changes to their RSS feed extension for podcasts. Before reviewing the session, I was worried that Apple would be moving to Apple News Format instead of RSS. That would’ve been a major setback for the open web, since Apple News Format is such an app-specific, closed format, controlled by a single company. Luckily the actual changes Apple introduced are pretty minor and shouldn’t upset the status quo much.
There are 2 sets of changes: support for supplementary episode types, like bonus content; and metadata for show seasons, likely influenced by popular shows like Serial, where people new to podcasts might be confused about where to start listening. There are a few new tags for these types of shows under the itunes RSS namespace.
Episode type is the simplest change. It looks like <itunes:episodeType>full</itunes:episodeType> and can have values “full, “trailer”, or “bonus”.
For seasons, the episode number and season number can be split into separate elements. It’s compatible with the traditional RSS title, so there’s little downside except extra clutter in your RSS feed. Here’s an example:
Jason Snell’s first reaction to these changes was positive:
Ben Thompson covers the extensions briefly and then focuses his weekly article on analytics and podcast advertising:
After reading Ben’s take, I don’t think these changes are significant enough to have much effect right away. That should be a relief to all of us who love podcasts and don’t want a shake-up.
When designing JSON Feed, we resisted adding everything that Apple Podcasts needs to the official spec. Now that more podcast tools have adopted JSON Feed, I expect there to be a discussion among developers about the best path forward for podcast-specific extensions in JSON Feed. That discussion should now include support for show seasons, too.
On Core Intuition last week, I said San Jose was “more confined” than San Francisco. I meant that mostly as a good thing, although I do miss the open spaces in San Francisco: the parks and incredible views near the water. Gus Mueller has a post about how San Jose felt closer together and less crowded:
Gus was also a guest with Marco Arment on The Run Loop podcast. They talked a lot about the different feel of WWDC in San Jose. Seems a universal opinion that San Jose is a good fit.
“We remember what happened last year and how it felt in that locker room. We used it and built on it. And got back here. It’s amazing. It makes last year okay.” — Tim Duncan, after game 5 in 2014
I said on Technical Foul last year that the championship wouldn’t mean as much to Kevin Durant if he won in Oakland instead of Oklahoma City. But there’s something I didn’t realize until these playoffs: maybe it’s not going to mean quite as much to the rest of the Warriors either, compared to if they had won without Durant. Compared to if they had come back with the same team again, as the Spurs had done in 2014 after letting the series slip away the year before.
Kevin Durant was the obvious finals MVP tonight. He was the reason — with help from Zaza Pachulia taking out Kawhi Leonard — that the Warriors coasted through the first few rounds of the playoffs. He was the reason that LeBron James could average a triple double for the finals and it still wasn’t enough.
It was a good NBA regular season. It was a good last few games of the finals. But the playoffs were disappointing to many people because it didn’t look like the Warriors were going to have to work very hard to win. It wasn’t the comeback story it would’ve been without Durant. I’m hoping next year will be different.
Rolled out a few improvements to photo cross-posting in Micro.blog, so that it detects more img tags.
A little bummed that I also lost my IndieWebCamp sticker when Apple replaced my MacBook screen. Gotta attend another Homebrew Website Club.
Short-lived experiment of using the iPad Pro exclusively. Picking up my MacBook Pro at the Apple Store this afternoon. Apparently the screen needed replacing too. Happy to have AppleCare on this one.
Federico Viticci reviews the new 10.5-inch iPad Pro at MacStories. On the screen size:
I assumed until reading Federico’s review that when my 12.9-inch iPad Pro was ready for an upgrade, I’d downsize to the new 10.5-inch. That no longer seems like a good choice. While my MacBook Pro is getting repaired this week, I’m using the 12.9 as my exclusive computer. The extra resolution in split view is really great. I don’t think I’d want to give that up.
Three years ago I wrote that Apple should end the App Store top 200 lists, learning from Beats Music how to double down on curation:
And:
I think they’ve done it for iOS 11. While the top charts aren’t completely gone, they no longer dominate the App Store user experience. Featured apps are center stage.
Product manager Pedraum Pardehpoosh at WWDC even used the same phrase “double down” when describing Apple’s new focus on editorial content. During session 301, he said:
Joe Cieplinski addresses the information density in the new App Store, pointing out that apps will be featured every day:
The “Today” tab is effectively a blog: reverse-chronological posts about what’s noteworthy in the store. It’s a much better default UI for content that is actively curated.
The old App Store was designed like a database. Databases are good at showing grids and lists from an algorithm. But the App Store should tell a story about new apps. A blog-like format is the best way to do that.
This plays to Apple’s strengths in design and taste. Where Google might hire more engineers to improve their store, Apple should hire more writers.
So far I’ve only used the new App Store on my iPad, and only for a few days. After we’ve all lived with it for a few months, it will be easier to judge whether it works for developers. But it’s almost exactly what I was hoping for a few years ago. This redesign for iOS 11 is one of my favorite things to come out of WWDC.
Since I’m iOS-only for a few days, decided to upgrade my Lightning mic to the Shure MV88. Free same-day shipping on a Sunday! What a world.
No surprise, but working on the iPad Pro, I tend to get more tasks done for which iOS is a good choice. More writing, for example. Maybe I’ll make some progress on the book.
Dropping off my Mac to get fixed. Tempted to buy a new 15-inch, but don’t want to spend $3k under pressure. Maybe iPad-only for a few days.
I was at a game when the Warriors erased a 20-point Spurs lead, so Cavs still have to play a perfect next 3 quarters. Can’t let up.
Mostly just post photos to my own blog now. Catching up on Instagram after WWDC, it’s a week of photos, all out of order. The anti-timeline.
It’s WWDC week. I’m back home after a short week in San Jose. Monday’s keynote was a big event, with great news for Mac and iPad users, but I keep coming back to the most surprising “miss” in all of the announcements, and the one thing that I thought was surely a lock for the conference: SiriKit.
When I was on The Talk Show last week with Brent Simmons, John Gruber wrapped up the episode by asking about expectations for WWDC. I’m a big fan of the Amazon Echo, and I think Siri is behind in responsiveness and extensibility. I predicted at least 20 new domains and intents for SiriKit, if not a more open architecture that could grow into as big a platform as Alexa’s thousands of skills.
This week should’ve been a great one for Siri. Instead, we got not the hoped for 20 new domains but literally only 2, for taking notes and managing to-do lists. HomePod will have no support for apps at all, and it will initially ship only into a few English-speaking countries, erasing the traditional advantage Siri had over Alexa for localization.
There are good ideas in SiriKit. I’m excited about experimenting with creating “notes” in my app, and I like that in session 214 and session 228 they highlighted some of the new tweaks such as alternative app names and vocabulary. But there has to be more. Siri deserves several sessions at WWDC and much more attention from Apple.
Voice assistants represent the first real change in years to how we interact with computers, perhaps as important as the original graphical user interface. The company that created the Knowledge Navigator concept video should be firmly in the lead today. A year from now, at WWDC 2018, the lack of significant improvements to Siri will have stretched to 2 years, and that delay is going to look like a mistake even to Siri’s most vocal defenders.
Always a little conflicted with posting negative essays about Apple. So many great engineers there. It’s not them; it’s the larger vision.
We posted a new Core Intuition this week about WWDC. From the show notes:
After we recorded, I watched the first episode of Planet of the Apps, and started to get into more of the conference session videos. We’ll be following up next week on more from WWDC.
Post-WWDC catching up on bugs. Fixed an issue on hosted sites that prevented connections from some cellular and IPv6 networks.
iOS 11 on the iPad is such a nice experience. Using my iPad Pro more this week, especially until my MacBook Pro noise is fixed.
Maybe because I said I was from Texas, my Lyft driver thought it was safe to give me a political lecture on conservatism. No thanks.
Randomly visited the San Jose Museum of Art. Maybe because I’ve been thinking about photoblogging, but struck by how many Ansel Adams photographs are either square or nearly square (4x5).
Thanks to everyone who made it to the indie microblogging meetup! It’s really inspiring to see such a great group.
Indie microblogging meetup at 12:30 today! One block from the convention center, next to the river behind 303 S. Almaden.
Went back to the hotel to work and my MacBook Pro is making a kind of whirring/rattling noise. Don’t think it’s the fan. Did an SMC reset, because why not. Really would rather not buy a new computer this week.
Are there really only 2 new SiriKit domains in iOS 11? I was expecting many, many more than that. (Reminder: Alexa has thousands of skills.)
Great idea to tap on the lock screen with the Pencil to go right into Notes. Hope it can work with third-party apps too.
If the new App Store redesign puts the focus on curation instead of top charts, I’m for it. Hope they can feature even more apps.
Surprised they previewed the iMac Pro on the same day they start shipping new iMacs. Must be okay losing sales today given the extra $$$ that will come at the end of the year.
Nice improvements to High Sierra. But no mention of renaming it macOS 11. Either Apple doesn’t see it, or this isn’t a big enough update.
Good progress on my slides working from Social Policy this morning. Like blogging, preparing a talk helps refine what I actually think.
Getting ready this morning, caught myself about to say “Alexa, what time is it?” to the hotel room. Hope to see more from Siri today.
Made good time driving up to San Francisco this morning. Want to see the Andreas Deja exhibit at the Walt museum, then catch up on work.
I don’t even recognize San Jose since the last WWDC here. Getting coffee and working on CocoaConf slides at Social Policy.
Jean MacDonald was on the latest episode of Collin Donnell’s new podcast The Run Loop. They talk about App Camp For Girls, Micro.blog, Portland, and more, with a preview of Jean’s talk at CocoaConf Next Door. It’s a great episode to queue up before WWDC.
And a related reminder: we’re having an informal meetup on Tuesday at lunch for anyone interested in independent microblogging. Sign up for more information here. Hope you can make it and say hi to me and Jean.
Checked in for my flight to San Jose. Guess this trip is happening. So much still to do: coding, packing, finishing my CocoaConf talk.
Deployed a few more server improvements. Better conversations, so replies aren’t excluded from a thread. Fixes to API paging, cross-posts.
NBA finals game 1 tonight. Also: 2 days after the Spurs lost, Dejounte Murray was in the gym practicing. I predict Kawhi-like improvement.
Brent Simmons and I were guests on The Talk Show this week. We talk about JSON Feed, Userland Frontier, Micro.blog, and much more.
Brent also announced Evergreen for the first time on the show. Evergreen is a new open source feed reader for the Mac. I’m really looking forward to where this app could go.
One quick correction as I’m re-listening to the episode. For some reason I said that I became interested in Frontier when it pivoted to be open source software. I meant free, not open source. I worked with Frontier in the mid-90s, around the 4.0 release that Brent mentioned, and as I blogged about back in 2004 when Frontier’s kernel was actually open-sourced.
It was fun to revisit this era of Mac scripting on The Talk Show, and I hope that when we look back on the origin of JSON Feed we have similar good memories. There were a bunch of people who made the format what it is, participating in debates about field names and scope. It all contributes to the traction that JSON Feed is getting now.
Covfefe seems silly, but it marks a point in Trump’s slide toward irrelevance. He’s unserious and undisciplined. It’s a failed presidency.
JSON Feed includes an attachments array, which is similar to the enclosure element in RSS that enabled podcasting. We love podcasting and included an example podcast feed in the JSON Feed specification. However, because the Apple podcast directory and its RSS namespace are so central to many podcasting tools, it wasn’t clear how quickly podcast apps would adopt JSON Feed.
The answer is: pretty quickly. This week we’ve seen announcements from Breaker, Cast, and Fireside. Actually not just announcements, but working implementations to parse or generate JSON.
I’ve also pushed up a change to the WordPress plugin on GitHub to add support for attachments. After some more testing, I’ll update it in the WordPress directory.
Update: FeedPress also just announced support for JSON Feed. This is another important one for bloggers and podcasters. It effectively gives a JSON version to everyone using FeedPress, even if the FeedPress customer’s site is still backed by an XML feed.
Now that our new Apple developer account for Micro.blog has been approved, considering moving the app into the App Store sooner rather than later. TestFlight invites have been flaky. I spend a lot of time just re-sending invites that never went out.
Updated WWDC app reveals some changes for San Jose, including more evening activities than they’ve had in a while.
Dave Winer posted today about NetNewsWire needing better support for title-less feed items:
I agree with Dave on this. Titles are clearly optional in the RSS 2.0 spec. The fix for the “Untitled” text that some feed readers use isn’t for authors to add titles where they aren’t needed, it’s for the UI in feed readers to improve so that they gracefully handle title-less posts.
(And this is not to pick on NetNewsWire. I’ve seen other apps and feed syncing services with the same assumption about titles.)
When I wrote about defining a microblog post, blank or missing titles was one of the fundamental points. If we want to have blogging software that’s as easy to use as a modern social network, titles can’t be required.
I’m hopeful that as feed readers adopt JSON Feed, developers will dust off their older code for feeds and make improvements for title-less RSS items as well. This is why we highlighted microblogging as a use case in the JSON Feed spec.
Preparing an update to send to Kickstarter backers. Can’t believe it’s been a month already. Lots of progress in that time.
WWDC is only 1 week away, but I have another event on my mind as well: IndieWeb Summit in Portland, June 24th - 25th. From the description for the 2-day conference:
I’m still trying to figure out if I can make it. If you care about indie blogging and open formats, consider attending. I had a great time in Portland earlier this year meeting more of the IndieWeb folks. They are leading some of the most important work on simple formats and protocols, with a focus on personal web sites instead of silos.
Nine years ago today, we published the first episode of Core Intuition. It was right before WWDC, the first year the conference sold out.
Finished updating all the hosted sites on Micro.blog to use JSON Feed by default. Should have a few more improvements ready for early this week, plus a Kickstarter update on the last month.
Listening to Joshua Tree while I work. Had no idea until today that U2 was in Houston and Dallas this week. Must’ve been a great show.
While I’m complaining about politics, you don’t get to apologize your way out of assaulting a reporter. Gianforte is unhinged. Terrible.
I wanted Lyft back in Austin, but on the right terms. Not this. These companies shouldn’t be above the law. (And I’ll never use Uber again.)
NSDrinking tonight, 8pm at Ginger Man. We were thinking near the front instead of out back, so we can check on the Cavs game. :-)
Still making plans for San Jose? 1 day left to register for CocoaConf during WWDC. Hope to see y’all there.
WordPress plugin for JSON Feed is now in the directory. WP Admin → Plugins → Add New, then search for “jsonfeed”. Easy install and update.
This week we added a selection of photos to the Discover page on Micro.blog, and today I uploaded a new TestFlight beta with the same feature inside the app. It’s another way to find users to follow, or just see what the Micro.blog community is up to.
Here’s what the iPhone screen looks like:
I think photoblogging is a really important part of indie microblogging. When I share photos online, I want them to be at my own web site in addition to cross-posted to Twitter and other social networks. Photos always capture something — a moment with family or friends, visiting a new place, or just the everyday routine as it changes — and I want Micro.blog to provide a great user experience for photos, from filters to hosting.
I’ve been impressed with how quickly people have adopted JSON Feed. There are a bunch of feeds in the wild now, as well as code and templates for popular languages and web frameworks. The next step is support in feed readers, including brand new feed readers, which is already happening.
Feedbin and NewsBlur both added support for JSON Feed. I like how Feedbin’s Ben Ubois puts it:
Micro.blog can also read from JSON feeds. I’ll be switching over all the hosted sites to prefer JSON. I’m doing that slowly to make sure there aren’t any issues with duplicate posts. (There shouldn’t be, but it’s something to watch out for with self-hosted sites if your post IDs change.)
The WordPress plugin is almost in the WordPress directory. I’ll link to it as soon as it’s live, because it will make installing the WordPress plugin much easier.
I talked with Ben Brooks over Slack this week about Micro.blog and JSON Feed. From the chat:
Slack makes for a really interesting interview format. Some of the spontaneity of a podcast, but with live editing and an automatic transcript. Similar to what Talkshow.im was trying to do before they shut down.
Uploaded a new TestFlight build with a photos tab under Discover, new filters, and more. Starting to come together.
A couple Micro.blog improvements early this week… We’ve started showing photos on the Discover page on the web. It’s a nice way to find new users. Also, more of the pins work now! Looking forward to adding more.
115 points is a good finish for the Spurs. Their average this season was 105. Gotta beat the Warriors with defense, and can’t do that when the best defensive player in the NBA is out hurt. Next year.
Spurs start Manu Ginobili for game 4. I love it on a couple levels. And he gets the first basket of the game.
I want to point to some developer activity in the Micro.blog community. The first is a macOS Today Widget called TodayPoster by Bryan Luby. It gives you a text box to post directly to Micro.blog-hosted blogs from the macOS Notification Center.
The next is a Mac client built with Electron. Developer Matthew Roach has a blog post about it with a download link.
There’s another iPhone app in development as well. It’s not ready yet, but from a screenshot by Francisco Cantu, looks like it will be a good alternative to the official Micro.blog iPhone app.
We just posted episode 283 of Core Intuition, with thoughts on last week’s JSON Feed announcement and more. From the show notes:
Brent Simmons was also interviewed on Collin Donnell’s new podcast, The Run Loop. Brent talks about some of his previous apps like NetNewsWire and Glassboard. Then they cover what JSON Feed is and where it could go.
Good game, but we need our injured players back. On the bright side, we can now be the only team to come back down 0-3.
Kawhi’s out for game 3 tonight. We’re going anyway. No matter what happens, glad to have the chance to go to the conference finals.
We’re planning an informal meetup for Micro.blog at WWDC! If you’re interested, sign up for details.
Updated Micro.blog this morning with some tweaks for JSON Feed. Also merged in a couple pull request on the WordPress plugin.
Really excited to announce JSON Feed today with Brent Simmons. It’s great to see all the feedback and links to new feeds. Special thanks to everyone who contributed to the spec, debating field names and requirements over the last few months.
The premise was simple: the time is right for a JSON-based approach to feeds. We hope that JSON Feed is straightforward enough to be implemented quickly, and capable enough to push the next decade of blogging software forward. We love RSS too and tried to learn from its success.
Micro.blog already supports JSON Feed nearly everywhere. There are feeds for hosted microblogs and your timeline, and the Micro.blog custom JSON API itself is actually just JSON Feed with Micro.blog-specific extensions.
I’m looking forward to seeing what everyone does with this. If you’ve shared any code or templates for JSON Feed, or if you’re working on apps to support it, let us know.
I only have 2 rules when at an NBA game: I don’t boo the other team and I never leave early. I hope Zaza is okay so I can make an exception.
Instead of posting to Instagram first, lately I only post to my blog. Focused on improving Micro.blog.
Getting new tires. Lesson learned: just because it’s an electric car and needs almost no maintenance, still a good idea to rotate the tires every once in a while so they last.
Sometime over the last year, Apple Music’s “For You” started showing fewer tracks that I like. Not sure what changed since Beats Music.
Can’t shake that Spurs loss last night. We’ve been waiting 3 years for this matchup. Gotta avoid news sites for the next 24 hours and focus on code. (Deployed a few Micro.blog improvements this morning.)
Well obviously that’s the one in Oakland the Spurs needed to win. Huge early lead. Still ahead with 2 minutes left in the game. Tough loss.
Sending out a new TestFlight build with a few more fixes. Also adding another batch of recent emails that weren’t invited yet.
On Core Intuition 282, we talk about potential Siri speakers and Amazon’s Echo Show, then follow up on a few topics.
Great time at Refresh Austin last night, talking about indie microblogging and meeting everyone. Thanks for coming! Buffalo Billiards was a perfect venue because I didn’t need to leave to watch the incredible Spurs/Rockets OT finish.
Working on my talk about Indie Microblogging for Refresh Austin tomorrow night. It’s at Buffalo Billiards, Tuesday at 7pm!
Rolled out more Micro.blog server improvements, and a new iPhone beta to TestFlight users. Still getting really good feedback.
Tony Parker out for the season. Feel so bad for him. I don’t know what Pop is going to do, but I’d start Dejounte Murray. Bring Patty Mills in at 6 minutes. Time to step up.
Thanks to Collin Donnell for having me on episode 2 of The Run Loop! We started with some of my older apps and then talked a lot about Micro.blog and the Kickstarter campaign.
Deployed a few server tweaks at halftime. We’ve also created a “what’s next” page on help.micro.blog to highlight upcoming improvements.
Half an hour until game 2. Monday night’s game was… not good. But at least I got this Spurs t-shirt.
Sent a new iPhone beta to the TestFlight group with a few important fixes. Also deployed some server improvements last night and this morning.
I seem to have mostly replaced my $4 coffee drive-thru habit with $6 JuiceLand. And cheap cold-brew coffee at home.
Great blog post from Curt Clifton on setting up a custom domain and other Micro.blog configuration: curtclifton.net/integrating-micro-blog
A server “optimization” I made a couple of days ago really ruined how RSS feeds are refreshed over the weekend. It’s much better now.
Still catching up on email. Took some time tonight to edit and post Core Intuition 280, though, which we recorded a few days ago.
Ran out of time today for everything, but I’m pushing a new iPhone build to TestFlight with some minor improvements.
This has been a really intense week. Good to take a break and watch the end of the Spurs/Grizzlies game 6. Looking forward to round 2.
Long day. Great questions and feedback about Micro.blog. Just posted a new episode of Timetable with some day 1 and 2 thoughts.
Started invites to Kickstarter backers today, but first spent most of the day on improvements and last-minute fixes. More progress tomorrow.
Added about 20 new tasks to OmniFocus for all the little (and big!) things I need to wrap up by tomorrow. Checking them off.
Spreadsheet prep to get invites organized. Scrolling through, grateful to all who thought the Kickstarter was worth supporting. Thank you.
Tough to be tied 2-2 after such a game from Kawhi. The shot to go up 2 with 12 seconds, and then the 3’s in OT. Everything but the win.
Rewriting a significant part of the Micro.blog API a few days before the beta rollout. What could go wrong? Better now than later.
Kirby Turner has a detailed write-up on his workflow for posting from his iPhone. It uses a combination of Editorial, Working Copy, and Jekyll:
Check out his embedded video for what it looks like in action. I love Jekyll, and it’s a big part of Micro.blog, but there’s no denying that the nature of static sites makes mobile posting more difficult. Looking forward to seeing more iPhone workflows like this that make microblogging easier.
Finished building Micro.blog’s batch invite system for Kickstarter rewards. Surprising number of features to do it correctly.
New episode up for my almost-daily podcast Timetable. 4 minutes about Katy Perry and why it’s not an artist’s job to make everyone happy.
Started using LogDNA last night and now that I have a full day of data, very useful. Already improving how and what I log.
People complain about the Spurs' guards. But Parker from 3 last night: 3-5. Green: 4-5. Good win despite letting Memphis back in the game.
Added intro music to the latest Timetable for some reason. Borrowed it from Apple’s Clips app. Just an experiment.
Sent another update to Kickstarter backers today and also publishing a new Timetable episode soon. This is going to be a fun week.
Good games yesterday. Pacers had a chance. Bucks had Giannis. Utah with a buzzer-beater. Spurs with a blowout. Happy Easter! Playoffs day 2.
Posted another episode of Timetable, the 4th in a row this week. I think I’ll be able to stick with the Monday through Friday schedule.
Also just out: Core Intuition episode 278. Daniel and I talk more about Clips, freemium for MarsEdit, and iTunes Connect. coreint.org/278
Just in time for the NBA playoffs… Technical Foul episode 12: technicalfoul.fm/episode-12-the-team-concept/
Spurs round 1 tickets plan: If they lose game 1, get tickets for game 2. If they win game 1 and lose 2, get tickets to game 5. If the first 4 games are split, get tickets to a possible game 7. If they sweep or win in 6 without triggering the previous steps, wait until round 2.
After a couple months away from Timetable, because I’ve been focusing so much of my time working on Micro.blog, I’ve finally returned to the microcast for a sort of second season. Timetable will be published daily now, Monday through Friday, to chronicle the actual release of Micro.blog and the Indie Microblogging book.
Episodes 38 and 39 are out now. You can subscribe in Overcast or iTunes.
538 started a nice series on the case for each of the top 5 MVP candidates. But my favorite MVP article is Matt Bonner’s sandwich analogy for The Players Tribune:
It’s not all jokes, though. Matt’s insight into the Spurs system, where you move the ball instead of hogging it, puts Kawhi’s 25.7-point average in perspective:
Last night, the Spurs lost in Portland by 1 point. It was a game that didn’t matter much, so the Spurs bench finished the game. Portland’s win was mostly a fluke — a Spurs turnover at the end, then a steal that was mishandled and fell to Blazers' Noah Vonleh for the buzzer-beater layup. But here’s the important point: the Spurs probably wouldn’t have lost if Kawhi was in the game for the final minute.
That’s not to take anything away from the bench. Those guys are great. Living in Austin, we got to watch Kyle Anderson and Jonathan Simmons finish plenty of great games for the D-League. It’s just that San Antonio has played many close games this season, and this is what happens when Kawhi is in the game late.
I’ll be shocked if Russell Westbrook doesn’t win MVP this year. But any of the top 5 candidates deserve it, and Kawhi is focused on other things. Maybe it’s fitting that the award will end up going to a player like Westbrook and his fans who seem to care so much about whether he wins.
Very important not to overreact to competition. Pay attention to it, plan for it, but stay the course.
We published Core Int 277 today with thoughts on the Mac Pro and more. From the show notes:
As I say on the episode, I wouldn’t have been disappointed if Apple had officially discontinued the Mac Pro, as long as that meant a greater focus on other things for pro users. I’d like for Apple to have a Mac-based answer for Microsoft’s tablets and Surface Studio, for example.
Apple’s Clips is great. One of the best iOS apps they’ve made in years. It’s a useful quick video editor even if you ignore the fun effects.
So easy to underestimate that last 10% of work. Taking care of some first-launch details, default accounts, and of course bugs.
Sent an update to Kickstarter backers with screenshots of the photo upload support I’ve been testing this week: kck.st/2oHKfOX
Posted a couple photos as I update my workflow to use Micro.blog’s better photo cross-posting. Still need to consolidate feeds.
On the latest Core Intuition we talk about WWDC events, a “Going Pro” mentality, and replying to App Store reviews. coreint.org/276
Twitter’s new reply UI isn’t bad, but it continues the Facebook-ification that I wrote about here: manton.org/2016/01/twitters-10k-limit.html
Wanted to test this photoblog UI and thought: San Antonio is a nice place to take photos. So had to buy tickets to Warriors/Spurs tonight.
Good luck to everyone trying to get WWDC tickets. I’m skipping the conference again but I’ll be in San Jose for a few days, including speaking at CocoaConf Next Door.
Last Friday we published Core Intuition 275. From the show notes:
This episode captures the biggest shift for my business since I left my regular job a couple years ago. I’m also hoping to resume my Timetable podcast soon, since there’s more I’d like to talk about that won’t always fit into Core Intuition.
Didn’t expect much from my bracket, but after that great UNC win I’ve somehow picked 3 teams correctly in the Final Four. (Not S. Carolina.)
Earlier this month I flew up to Portland for a few days. It was a great trip. I posted about attending the Blazers game and meeting the IndieWeb group at the DreamHost office. I also sat down with Jean MacDonald to talk about what she has been up to and show her what I’ve been building for Micro.blog.
Today I sent an update to Kickstarter backers about the stretch goal promise I made to hire a community manager. I couldn’t be happier to announce that Jean MacDonald will be helping me in the next steps for Micro.blog.
It became clear as I’ve been talking with Jean that she will add so much to the project. Making the announcement today has inspired me even more to finish rolling out Micro.blog and to see where the community takes it.
On last week’s Core Intuition, I told Daniel that the approach for Micro.blog has to be different than for my previous apps. It’s such a big opportunity that if I don’t focus everything on it, then it will not work. I covered the same theme in a post last month:
No single decision will guarantee success. But today’s announcement is a big milestone for Micro.blog because it’s more than a promise or hope for things to come. Jean’s experience will be essential to guiding the community and moving the platform forward.
Excited to announce that @macgenie is joining Micro.blog to lead the community. Just sent this update: http://kck.st/2njCL7k
Stephen Hackett marked his 10th anniversary of using Twitter by writing about how great Twitter has been for connecting people. Of course, the company’s problems are also well known:
He made a similar joke on Connected 133 that Twitter will be gone in 5 years. I think it’s a toss-up. But one thing I’m pretty sure about: the hate tweets and harassment problems can’t be fixed by waving a magic wand. They are fundamental and must be planned for at the beginning.
Busy morning! Stopped for Tacodeli to start the day right. Big announcement going out to Micro.blog Kickstarter backers soon.
I like that Apple’s new Clips app is standalone rather than creating a new social network. Hopefully allows sharing via any installed app.
I’ve tried everything for cutting cable. Sling, Hulu, HBO, iTunes. PlayStation Vue on the Apple TV is the real deal. The best by far.
We posted the latest Core Int yesterday, covering App Store policy and whether the label “entrepreneur” defines us. coreint.org/274
App.net officially shut down last night. As I wrote about earlier this year, App.net was an important milestone in the move to more open social networks. I’m glad the platform existed and I enjoyed participating there as a user and developer.
Linkrot and the lack of permanence on the web is a recurring theme for this blog. In the final days as App.net was winding down, I wanted to put my money where my mouth was. I spun up a couple new servers and wrote a set of scripts to essentially download every post on App.net. It feels like a fragile archive, put together hastily, but I believe it’s mostly complete. I’ve also downloaded thumbnail versions of some of the public photos hosted on App.net.
I’ll be making the posts available somewhere, although I don’t know exactly what form the archive should take yet. I’ll also be considering whether to integrate it with Micro.blog, for anyone who wants to migrate to a new microblog and didn’t have time to manually export their posts. (I’ve already built a similar feature to import from Twitter’s .zip archives.)
To my Kickstarter backers, thanks for your patience as I took an unexpected detour this week. Major work on Micro.blog continues. I have a big announcement for next week and invites should be ready the following week. I’ll post an update to Kickstarter soon.
Finishing some web backend work this morning while the kids play Zelda. I’m not very far in the game yet, but so impressed with it.
Even with Kawhi out, very risky to rest so many players on the Warriors tonight. The #1 seed is going to be decided by a couple games.
Fifteen years ago today I started this blog during SXSW. Although I didn’t think much of it at the time, because Twitter hadn’t been invented yet, my first post was essentially a microblog post. 145 characters and no title. (Titles on the old posts were added later during the migration to Movable Type.)
I’ve written about 1100 posts since then, and another 600 microblog posts. Some of my favorites last year:
And the year before:
And earlier:
Whether you started visiting this blog years ago or just today, thanks for reading. I hope to still be writing in another 15 years. (I’ll be 56 years old. My kids will be grown up. Nearly everything will be different.)
Stretching time out has a way of highlighting what matters. And if it matters, it’s worth writing down. I hope you’ll join me for the next chapter as I try to move indie microblogging forward with Micro.blog.
Posted this week’s Core intuition: WWDC bash follow-up, productivity, blogging habits, and more. coreint.org/273
Spent the morning trying out Docker to more quickly bring up server instances for certain parts of Micro.blog. Very nice.
Experimented with Minio last night while watching the Spurs come back to win after being down 28 points. Might solve some problems for me.
Followed a 2001 Evan Williams blog post and noticed that evhead.com moved to Medium. All the old posts are gone. Future-proofing is tricky even when you’re the CEO of a blog publishing company. (But worth it.)
Great video review of the Nintendo Switch from Myke Hurley. Agree with pretty much everything he says. It’s a fantastic system, the best from Nintendo in a long time, and Zelda is excellent.
I renewed a few SSL certs for free by typing “letsencrypt renew”. What if domain names had a similar breakthrough? Could change everything.
Another close win tonight for the Spurs and a ridiculous final minute. Great playoffs prep. Kawhi is just playing at a new level right now.
At the IndieWeb meetup last week I couldn’t remember how long I’ve been blogging. Coming up on the 15th anniversary of my blog this week!
Ben Thompson’s daily update email today covers fake news and algorithms. It’s a great post, although a little disheartening in the way that most coverage of filter bubbles and the election tend to be. One line in the closing paragraph:
It mirrors something I wrote in January about algorithms and curation:
Quick posting via retweets on Twitter and re-sharing on Facebook contributes to the spread of fake news. As the New York Times article Ben links to says, fake news is “designed to attract social shares and web traffic”. Bad news stories with dramatic headlines can spread more quickly than they would if everyone posted an original comment with their link.
It’s too easy to click a retweet button without thinking. Fake news is as much a user experience and design problem as it is an algorithmic problem.
When I started posting photos to my blog, I excluded them from RSS. Today I’ve changed that. Photos show up in the full and microblog feeds.
Also loved being at that fantastic Thunder game in Portland last week. Wonder if Denver regrets trading Nurkic when the Blazers take #8.
Spurs within 2 games of the #1 seed. Even with Durant out it’ll be tough, but I love San Antonio’s chances. Pau is great off the bench.
I’ve been working on a post about walled gardens, the App Store, and social networks. I think it could be an important essay — a new take on the future of platforms.
But if it’s not? If I’m wrong, and the idea is unoriginal or doesn’t go anywhere? That’s fine too! It’s just a blog post.
I love that blogs can scale from the trivial to the important. The microblog post about what you had for breakfast. The half-baked rant about something you’re passionate about. And sometimes, the rare essay that really hits the mark and makes people think.
Listening to the new Lorde single and trying to catch up on writing and email. Back in Austin after a short but great trip to Portland.
Started using Instagram Stories today. Not very interested in creating disappearing content, but finally realized that I could save the videos and stitch them together later for publishing on my own site as distinct sequences or trips.
Excited to be in Portland tonight for Homebrew Website Club! Details here: https://indieweb.org/events/2017-03-01-homebrew-website-club
New episode of Core Intuition is out! First half: coding progress, motivation. Second half: WWDC in San Jose. coreint.org/272
Uber has been in the news lately, and not in a good way. I’m taking a short trip this week and decided to more actively look for ride-sharing alternatives. I’ll be trying Fasten in Austin and Lyft elsewhere.
One nice discovery in this search: Lyft produced a wonderful animated short film called June. It’s directed by John Kahrs, who as I blogged about a few years ago did Paperman at Disney.
I’m still annoyed that Lyft joined with Uber to first actively campaign against regulations in Austin and then ultimately left the city. But Lyft funding a film like this makes me feel better about supporting the company. There’s also a behind-the-scenes video.
Kind of lectured Daniel on distractions for the upcoming Core Int, but now I’m the one watching YouTube and re-reading an Oscars transcript.
Search and smart folders in Apple Mail have become so unreliable (presumably stale Spotlight indexing), giving Airmail for Mac another try.
Gonna miss NSDrinking tonight. Looong day. Hope to catch up with folks next month. (Also thinking how Austin needs a Homebrew Website Club.)
Ten years ago I wrote a post about customer support. Nothing in my attitude toward customers has really changed since then, although my products have changed along the way.
Most of my Mac and iOS apps could be built by one person. Even Sunlit, which I developed with Jon Hays, could be maintained by one person. And so when providing support for my apps, I’ve always embraced being an indie company and said “I” instead of “we” when talking about my company Riverfold Software.
I’ve realized as I work toward launching Micro.blog that this product is different. It has a much greater scope than anything I’ve built by myself. To be successful, it needs a team.
This is why my first priority with the Kickstarter stretch goal was to bring someone new to the project. I was initially nervous about making that announcement. I thought that nervousness was because the stretch goal might not work, or because my post was long and could be misinterpreted, but I realize now that I was nervous because I knew it mattered.
The first decisions a new company has to make will end up shaping many things that follow. I worked at VitalSource for over 14 years because the technology decisions and leadership at the beginning were so strong they carried forward for years.
The same rule applies for a very different kind of company: Uber. When you look at their series of missteps, it seems clear that these are inherent problems that go back to day one. I think John Gruber is right when he says Uber’s response is “too little, too late”.
We can learn from every company culture that fails. I don’t expect to make all the right decisions with Micro.blog. But I’m going to try very hard to make the first decisions correctly, because it will make everything easier going forward.
Just sent an update to Kickstarter backers. Short version: I’m delaying username invites so that I can launch them with microblog hosting.
The “Your disk is almost full” notification in macOS Sierra is a bit aggressive. Dismiss it, comes back about 10 seconds later.
Since Uber and Lyft left Austin, I’ve looked for replacements only briefly, because I thought Uber would be back and the company might not be run by jerks. Now deleted the app and ready to move on.
Back in July, I posted this to my microblog, which was cross-posted to Twitter for some additional discussion:
The “I’m out” was meant as a Shark Tank reference, and not to be taken too seriously. But I was serious about taking a break from Swift until version 4, when it would at least be more stable. Daniel and I followed up that week with a more in-depth discussion on Core Intuition 242.
A few days ago Craig Hockenberry posted about how the rapid pace of improvements to Swift can get in the way of learning the language and using example code:
I have absolutely no regrets sticking to Objective-C. As Swift 3 was wrapping up, it seemed that the churn around syntax changes was even worse than I feared. From an Apple dev forums thread at the time:
That settled down with the final Swift 3 release, but I expect many developers won’t upgrade from Swift 2.3 until Xcode forces them to. There’s even a whole book by Erica Sadun on migrating code.
I still consider Swift a beta language. I just hope that the Swift team and community recognize that this level of instability isn’t acceptable forever. A programming language is not an iOS or macOS release. There shouldn’t be a new major version of Swift every year.
New York Times and Washington Post continue great reporting on Trump and his ties to Russia. Next time, more coverage before the election.
Listening to Sting’s new album after seeing him perform last night. Great show. 20+ years since we saw him at Southpark Meadows in Austin.
Editing some more Jekyll themes for Micro.blog. It will ship with 6 default themes and custom CSS to tinker with the design.
Stripe’s support for multiple plans on a single subscription is huge. Greatly simplifies what I’m working on, just at the right time.
Washington Post’s new exclusive today that Flynn lied to the FBI, following their exclusive last week about the transcripts. They clearly have a great source. Reminds me so much of All the President’s Men.
Posted Core Intuition 271. Recorded before the WWDC announcement, so we dissected Planet of the Apps, plus an updated Siri vs. Alexa debate.
I have a tradition when I go to San Francisco for WWDC. I arrive early on Sunday before the conference, drop my bags at the hotel, and take a cab to the Presidio. The weather is usually beautiful. I visit the Walt Disney Family Museum, maybe sit in the grass with a coffee, then go for a walk to take in views of the Golden Gate Bridge.
I’ve done this the last handful of years. It’s always a perfect reset to whatever stress was happening with my own coding projects and business. You can find blog posts and tweets from past years.
I attended WWDC in San Jose a few times. Moving WWDC back there will probably end up being fine. If you’re at the convention center, or hanging out with attendees at a restaurant, or taking a break to work at a coffee shop around the corner, or even going to a party — many cities will suffice for that. I’m sure the conference will be great.
I’ll still miss San Francisco. I know it’s not a perfect city. But it’s historic and unique. That’s why I recorded a podcast episode about it over 10 years ago, and I’ve learned much more since. I always get something out of the trip.
I attended WWDC in San Jose a few times. Moving it to SF was the right call. But a city can change in 15 years too. Maybe worth a chance.
After hearing the WWDC San Jose news, had to go to a dentist appointment. Tried to use that time to think about this means. Still not sure.
I’ve had some flakiness with my WordPress site over the last few months. Updating to PHP 7 (no FastCGI) seems to have fixed it.
I use Twitter much differently than most people. I haven’t returned to my @manton account in over 4 years, and instead I cross-post all my blog posts to @manton2. I reply and like tweets when I get mentions, but I don’t actually follow anyone.
But despite this weird use of Twitter, I follow the company closely and still maintain the Tweet Marker timeline syncing API. So I’m excited to see Iconfactory launch a Kickstarter campaign to fund new work on Twitterrific for Mac.
I’ve backed the project. It’s a good opportunity to support one of the pioneers of Twitter development.
Working on API documentation. Haven’t shared it yet because the API needs to be better. Even just writing it up helps me decide what to fix.
I’m a big fan of the NBA D-League. Renaming it the Gatorade League is branding gone too far. Enough with the ads everywhere.
I’ll give Planet of the Apps a chance, but what a missed opportunity. Even more over-dramatized and gimmicky than expected.
Great post from Paul Kafasis of Rogue Amoeba about Piezo sales for the year after leaving the Mac App Store, and how it suggests that Dash’s post-MAS sales weren’t a fluke. Rogue Amoeba’s data points to this key point:
For me, the question of whether to use the Mac App Store is also closely tied to using in-app purchases in addition to Stripe. As I work to get Micro.blog shipped to Kickstarter backers, and eventually launched to a wider audience, I’ve wondered whether there should be an in-app purchase to make subscribing to Micro.blog from iOS easier. Of course the Mac App Store and in-app purchases are different things, but both require juggling multiple payment systems with the hope that it will be easier for users.
And it would be a little better for customers in the short-term. The problem is that it would be much worse for me as a solo developer trying to do too much. The backend systems would be more complicated, and I think the product would suffer because of it.
Someone’s been trying to reset my Apple ID password all week. Started to get worried when I got an email that they called Apple Support, so I called too. Everything seems okay. I have 2-step verification on.
Published episode 270 of Core Int, talking about The Sweet Setup’s review of MarsEdit, working spaces, and more. coreint.org/270
Sent an update to backers with a date for Micro.blog usernames. It’s not ready, but had to draw a line so it doesn’t drag on.
Started using a couple of my most-used apps like Slack and BBEdit in full-screen mode. 13-inch MacBook Pro, so your mileage may vary.
I’m taking some time to resume Timetable recording. From the latest episode:
I started Timetable over a year ago to document what it was like to build Micro.blog and figure out how to launch it. Each episode is about 4-5 minutes long. Reaching this point with the Kickstarter finished is a huge milestone, but there is plenty of work still to do and talk about.
Twitter made an announcement today about stopping abusive accounts and hiding low-quality tweets. I think filtering search results in particular is a very good step in the right direction:
As I work on Micro.blog, I’ve tried to be mindful of where users can stumble upon posts that they don’t want to see. Replies is a big one, and I’ll be focusing most of my attention on that. But search, trends, and hashtags are also a problem, because they let anyone’s posts bubble up to a much wider audience. I’m launching Micro.blog without them.
Ignored my own advice to limit reading the news to a few minutes a day, and got pulled back into feeling very angry this morning about the election results. Everything I wrote in November is still true and more so.
Twitter and Facebook are both powerful tools to help people organize. We’ve seen some of that over the last few weeks of protests. While these social networks are also broken in significant ways, they’re not all bad. They bring people together and expand the reach of posts from our own web sites. That’s why many people embrace cross-posting.
Even more important is the free press. Not just big sites like the New York Times and Washington Post, but also small sites like yours and mine. Trump will continue to attack and undermine the mainstream press. Everyone who publishes on the internet should consider where that leads.
It’s not a good foundation to concentrate so much writing into one place like Twitter or Medium. Distributing writing across more web sites protects us if one massive site shuts down. It gives us flexibility to move to the next popular network if one emerges.
Sometime in the next 2 years, a reporter or blogger is going to break a story about the Trump administration. It’s going to be too important to ignore. But to be taken seriously, it can’t be an anonymous Twitter account that’s easy to cast doubt on. It has to come from someone accountable who has built a reputation by publishing good work and owning it.
Owning your content by having a microblog at your own domain is empowering. Maybe you’re writing about what you had for lunch. Maybe you’re photo-blogging an important trip. Maybe you’re posting from your iPhone at a protest outside the White House.
It doesn’t matter what it is. If it’s happening and worth writing about, it’s worth owning. Now more than ever.
Running into rare technical glitches getting this week’s Core Intuition out. Hopefully not bugs in the new Logic, which has been solid.
Taking a fresh look at this codebase. I had mixed feelings removing Ember.js, but now that I’ve started it’s the right call. Not a good fit.
Some people are just now discovering the Kickstarter. If you missed it, I’ve started a list for the public launch: http://micro.blog/list
And the Kickstarter is done. Thank you everyone! Very excited to have hit the stretch goal. Looking forward to the next steps from here.
Never write a concession speech in advance. Set a goal, give it everything, and then figure out what’s next. True for politics and software.
Final 20 hours of my Kickstarter for Micro.blog. $4k+ short of the stretch goal. Still time to get the book and your username.
We watched All the President’s Men a couple times over the weekend. Wonder what it’s like at the Washington Post and New York Times right now. Press needs to do the best reporting of their lives this year.
You know it’s getting real when Kickstarter switches from counting down in “days” to counting down in “hours”. Here we go.
Just crossed over $70k on the way to the $80k stretch goal for Micro.blog. Thank you everyone for the support. Gonna be close.
Getting a little work in at Houndstooth Coffee this morning while my daughter volunteers nearby. How is January almost over? Busy few days.
Maybe you aren’t building a new social network. Maybe you aren’t obsessed with the rise and fall of tech giants. But if you are at all interested in why Instagram and Snapchat took off, check out episode 102 of Exponent with Ben Thompson and James Allworth:
I feel like I just had a whirlwind business school class in 57 minutes. So much of what they talk about is applicable to what I’m working on.
We posted this week’s Core Intuition today, with the latest Apple developer news and a debate on Alexa vs. Siri:
I haven’t kept up with Timetable recordings lately, but hope to do another one before the Kickstarter campaign wraps up too. Thanks for listening.
Excellent follow-up article at WPTavern on Kickstarter progress, IndieWeb, ADN, and DreamHost. Lots of good quotes. http://bit.ly/2jci0tD
Austin! @NSDrinking is on for tonight at Radio, 8pm. Have a coffee or beer and chat about iOS and Mac development.
I’ve been following Seth Godin and reading his books for many years, but recently two of his statements caught my attention. The first is an older video episode with Gary Vaynerchuk, where Seth talks about why he has no presence on social media except automatic cross-posting of his blog posts.
The second is equally relevant to what I’ve been thinking about with Micro.blog. Seth says that we’ve surrendered control over how our software works to algorithms instead of human decision-makers who can take responsibility for mistakes. It’s too easy to blame the computer:
Algorithms are a shortcut. They should give us more leverage to go further, faster, not dictate where we go.
The social web is now permeated with algorithms. Today, Twitter again promoted what’s trending higher up in their app. That may be a step in the wrong direction. Trends can sometimes surface the better parts of Twitter, but they’re also an invitation to view the worst possible tweets you’ll ever see.
Let’s not be afraid to add curation by humans. That’s not an admission of failure. It’s an acknowledgement that algorithms are imperfect.
Software has consequences. How it’s designed informs what behavior it encourages. If it’s built without thought to these consequences, it will succeed only by accident. For 2017, one of my goals is to slow down and be more deliberate about features that can have this kind of impact.
Since I launched it over 3 weeks ago, thousands of people have watched my Kickstarter video, but I haven’t watched it again myself since that first day. I knew if I watched it I’d find new problems with it, and remember all the things I wanted to fix. It’s too late.
I had fun creating it. I wanted something with a hand-drawn feel, because to me blogging is about individual creative expression. It’s about not being afraid to publish something that isn’t perfect — something that is personal and a little rough, like a quick sketch.
Because I love traditional animation I wanted to draw all the frames with a pencil and paper, not digitally. Here’s me flipping through some of the drawings:
At 30 frames per second, doing any animation at all is extremely tedious, even with these little sketches. I made about a hundred drawings and scanned them in one at a time. I composited everything in Apple’s Motion, then ended up using Motion for sliding objects around and fading them in or out, which cut back on the number of drawings I would have otherwise needed.
The inspiration for introducing the video was the early 1920s-era Max Fleischer and Walt Disney cartoons, like Alice’s Wonderland. I also thought it would more naturally cut from me talking at the camera to illustrating the story of why independent microblogging matters.
I’m not sure whether I will ever do another Kickstarter campaign. But I hope to have the chance to make a video like this again. I learned a lot from it.
Special thanks to @DreamHost for pushing us past $50k in funding with their Kickstarter pledge! More details here: http://bit.ly/2jnuLjx
Finally added a note about the stretch goal at the top of the main Micro.blog Kickstarter page. Should’ve done this a week ago.
Slack community for Micro.blog is off to a fantastic start. 300+ people and some very interesting discussions.
Sending a quick update to Kickstarter backers soon about Slack. Still have a long way to go to meet the stretch goal. Going to be a busy week.
Kevin Hoctor has a great post about staying above name-calling and focusing instead on positive change during a Trump presidency. Standing up for people, exposing lies, and supporting the free press:
You’re not alone if you’ve been aimlessly reloading news sites all day for weeks. It’s easy to fall into a trap of indecision, failing to create anything, unsure of what to do next that will matter. I struggle every day to rebalance my time on the right things.
But to Kevin’s point, a marathon is finished one mile at a time. And I’ll add a quote from Steve Jobs, which I think about sometimes when I can’t focus on making real progress:
Remember that Twitter was still in the middle of taking off 8 years ago when Obama was first elected. Not quite mainstream, no Trump account. We’re going to blink and it will be 2018 and then 2020. Everything can change again if we work to make it better.
Love the photos of crowds today. Proud of @tracireece and all the marchers across the country, and everyone with them in spirit. Big day.
Since I launched on Kickstarter, backers have asked if there should be a Slack community to discuss Micro.blog and related microblogging topics. I wasn’t sure. I know some people are already in multiple Slack groups, including the excellent IndieWebCamp IRC/Slack, and I also didn’t want to distract from any posts that should happen in the open on blogs.
Some discussion just fits better in chat, though. There’s an emerging community of indie microbloggers. Having a place to share tips, tools, and ask questions about Micro.blog just makes sense.
I’m experimenting with the Slack channel now, and I’ll be opening it to all Kickstarter backers next week. If you’ve backed the project before Monday, expect a backers-only project update with information on how to join.
This week on Core Intuition, Daniel and I talk about the halfway point to my Kickstarter campaign, running ads, and more:
The last segment of the show is about Chris Lattner going to Tesla. We recorded before we listened to the latest ATP, but our conversation still holds up as pretty relevant. Hope you enjoy it.
Inauguration day. I plan to ignore the news. Heads down, work toward a better 2017. There’s a lot to do.
Obama: thank you. Class, respect for the office, patience, and humility. You accomplished a lot against unreasonable opposition. Be proud.
Just hit 1800 backers. 12 days to go. If you’re interested in Micro.blog and the book, now is a great time to back the project.
Check out Connected 125 today for a really good discussion about microblogging and my own Micro.blog. They cover the ADN shutdown, my new stretch goal, and the challenges of building a safe and diverse community. Great points.
Latest Micro.blog feature: Safe Replies, with a special Kickstarter goal to hire a community manager.
The premise of the stretch goal: Twitter lost control of the platform because they planned for hate/harassment 10 years late. Start earlier.
2 weeks in today, going to announce a stretch goal for the Kickstarter. Nervous about rocking the boat. But, missed opportunity if I don’t.
I was a guest on the latest episode of Release Notes this week. We talk about the Kickstarter launch of Micro.blog and more:
Speaking of Release Notes, the conference is coming back for 2017 in a new city: Chicago. I haven’t been to Chicago in years, so I’m excited for an excuse to visit.
I blogged about my time at Release Notes 2015, but never got around to posting thoughts from 2016. In short: it was a great conference. For a snapshot of the talks, see Matthew Bischoff’s slides and Ben Norris’s sketchnotes.
Apple dedicated their home page to Martin Luther King today with a photo and quote:
When Apple does this sort of tribute, it’s a reminder of why we expect the best from Apple, and why we complain when they fall short. We hold Apple to a high standard because they’ve set the bar high for themselves, not just by building great products, but by not being afraid to stand for something.
Webmention has been on my radar for a little while, and I mention it in the Indie Microblogging text on Kickstarter. It’s great to see it go from an IndieWebCamp spec through the W3C process now as a standard recommendation:
The replies on Micro.blog are kind of a stopgap while infrastructure like Webmention rolls out to more web sites. I think Webmention will become an important part of cross-site mentions.
There’s a lot happening at once right now. As I suggested in a microblog post yesterday, the first measure of success is whether more people are blogging. Meanwhile there are new formats and APIs like Webmention. You don’t replace Twitter overnight, or even try to. But step by step, we’re going to end up with a better web, and I think independent microblogging is part of that.
Key for Micro.blog: it’s a success if more people blog. To provide value it doesn’t need to replace Twitter. But also, it can.
I posted a short video of the Micro.blog iPhone app as a Kickstarter update. This expands on the limited screenshots in the original Kickstarter video, and hopefully explains a few more things about how everything works.
Lots of ways to resize video, but for some reason I just downloaded Final Cut Pro. Feels like a “use regex, now you have 2 problems” joke.
Pretty excited for the Nintendo Switch. Great to have Zelda at launch and Mario later in the year. Hope they can meet early demand.
Dalton Caldwell and Bryan Berg announced the official shutdown of App.net today:
As I wrote about just last week, the founders of App.net deserve our thanks for trying something very difficult and succeeding beyond what anyone expected. I’m still amazed at everything they were able to do.
So, what now? I believe the next step for the open web and Twitter-like services is indie microblogging.
This isn’t the first time that David Smith has built something that I kind of wanted to build myself, too. Today he announced a cool side project for searching podcast audio:
I’d love to see David spin this into either a commercial product or set of free tools. He could host more shows, or let podcasters run their shows through PodSearch and export the results. For example, I’d want this for Core Intuition, along with edited transcripts eventually.
We posted Core Intuition 266 this morning: Chris Lattner from Apple to Tesla, Medium’s new focus, and blogging business models.
First day in a while with nothing on my calendar. Editing this week’s Core Int and then plan to catch up on code I need to write.
Kind of wild to listen to those first episodes of Timetable from a year ago. I had already been working on what would become Micro.blog for a year. Thought Kickstarter was weeks away. Another year later, here we are.
I started my microcast Timetable a little over one year ago. I’ve recorded 35 episodes, so fewer than 1 a week. My goal is still 2-3 a week, so hopefully I’ll work up to that for 2017.
This podcast is one of my favorite things to do right now. It’s so much easier to record and publish a 5-minute podcast than a 1-hour podcast. All I need is something to talk about.
Here are the feed descriptions for each episode over the last year, starting with the earliest. Reviewing these provides a neat snapshot into the journey of building Micro.blog. You can subscribe at timetable.fm.
1: On the first episode, I introduce the idea behind the show and the topics I hope to cover.
2: On this episode, I talk about trying tea instead of coffee, how I named this podcast, and my work schedule as I wrap up the week.
3: On this episode, I talk about finishing some work and the new iPhone microphone I bought.
4: This morning I was downtown to work at a coffee shop for a few hours before lunch. I talk about getting out of the house and last night’s icon sketches.
5: Today I stopped at the post office to pick up some stamps to mail stickers for the new microblogging app and platform I’m working on.
6: I start with some thoughts on basketball, my potential Kickstarter campaign, and whether it’s better to start strong or finish strong. (Go Spurs Go!)
7: This morning I was distracted a little with backups, ordering a new hard drive, and thinking about my iOS app, which was just rejected by Apple.
8: Recorded in 3 segments, I set my alarm early this morning to get some coding done before the day starts slipping away.
9: Today I mention the iPhone app rejection, talk about why the iPhone app itself is secondary to the web version, and reveal more about the Kickstarter.
10: I take the iPad Pro and my microphone out to the front porch, to think through what work I need to focus on for today.
11: Back from a sick day or two, I talk today about Twitter’s algorithmic timeline change and why it would be nice to launch a product when your competitor has some bad news.
12: Back from a quick trip to Portland, today I’m thinking about the music for my Kickstarter project.
13: I finally drop the stickers in the mailbox at our neighborhood post office. Thinking this episode about what it means to be lucky.
14: At my 10th new coffee shop in as many days, I write a few blog posts. And on this episode I talk about it.
15: I reflect on 6 months as an indie, think about stealing time for projects, and plan how I can use working from a coffee shop in the morning to provide a better structure to my day.
16: This week I’m thinking back on how Staple! Expo went over the weekend, and why it never helps to panic when something isn’t going perfectly to plan.
17: It’s spring break week, which means the kids are out of school and SXSW is taking over downtown.
18: I’m playing Nintendo’s new iPhone app Miitomo, watching my Mii character pace around the room as he (and I) wait for our iPhone SE delivery. Also talk about the library routine and Rails 5.
19: I finally record a video for my Kickstarter project. Now I just need to edit it and do everything else.
20: I talk about receiving the Loish art book and my current thoughts on Kickstarter goals and rewards.
21: Today I take stock of the last few weeks of client work and recovering from 2 months of focusing so heavily on my personal blog.
22: Last week was stressful. This episode is about being mad at nothing and everything, and why fireflies are magical.
23: I play a clip from the Upgrade podcast and then talk about my struggle to wind down a product correctly.
24: I summarize my week in San Francisco from the perspective of not just the WWDC technical news and events, but also of using the trip to refocus on my priorities for Riverfold Software.
25: Back after a summer break, on this episode I talk through what we can learn from Tim Duncan’s incredible 19-year career.
26: I talk about getting derailed with home repairs, the U.S. presidential election, and writing about the Dash controversy.
27: One week after the election, I react to Apple’s design book announcement and talk about why social networks may be broken.
28: Not enough sleep yet still focused on getting work done. I review today’s blog post and play a clip from the Moana soundtrack.
29: I got a new domain! I talk about the .blog registration process and my evolving plans.
30: From a listener question, I talk about steps in November to wrap up old projects and finish new ones.
31: I try the new WeWork location at the Domain, listen to a singer at the car dealership, and remember that I need to get out to talk to real people about my work.
32: I share some thoughts on the first day of Super Mario Run and how my work week is wrapping up.
33: The morning after Christmas, I give a quick update on Micro.blog plans and Kickstarter’s Launch Now review feature.
34: Happy New Year! I talk about the first day of the year, and the final day to finish my Kickstarter project for Micro.blog.
35: A week after launching the Kickstarter, I talk about its success so far and why I believe I can build Micro.blog, with a clip about optimism from Gary Vaynerchuk.
Posted episode 35 of my Timetable podcast, with thoughts on the first week launching on Kickstarter and what’s ahead.
Excited that Release Notes is coming back, this time Chicago. Loved the old venue, but it’s good to shake things up.
I don’t pay attention to Tweet Marker stats much, other than to make sure developers are happy. It has now been used by 1 million users.
One week down. The launch on Kickstarter is going great. It’s fantastic to see everyone’s reaction to the project. More than ever, I’m convinced that the time is right for this.
I wanted to highlight a few posts and links. I was a little caught off guard by activity on the first day, so I’ve yet to really reach out to press contacts who might want to write about Micro.blog. I’ve been focused on replying to questions about the service and book.
John Voorhees wrote for MacStories about the Kickstarter:
John had interviewed me at WWDC last year about what I was up to. While I didn’t have the name Micro.blog yet back then, I was actively working on the service and you can hear many of the same themes from back in June as I’m saying today.
I thought Marco Arment summed up the urgency well:
Reaction from the WordPress community has also been encouraging. I knew I wanted to reach WordPress fans, because Micro.blog works great with WordPress, but I’m not as plugged into that community. I was excited to see Matt Mullenweg tweet a link to it. And WP Tavern did an excellent write-up, mixing interview questions with previous posts of mine:
I’m thankful for local articles as well, such as this story from Silicon Hills News by Laura Lorek. Laura is just in the last day of her own Kickstarter campaign for a podcast companion to the Austin news site.
Not to mention blog posts from Brent Simmons, Gus Mueller, Becky Hansmeyer, Ben Brooks, Dave Peck, Chris Aldrich, John Johnston, and the hundreds of tweets and links I’ve seen over the last week. It’s really special to see it spread so far. Thank you again to everyone who has linked to the project.
Now that I’ve had a week to reflect on the campaign, and listen to feedback, I’m starting to form a much clearer picture of how the rest of the month needs to play out. This is the kind of opportunity that doesn’t come around very often. I’m looking forward for the work ahead.
Even before announcing Micro.blog, I’d get asked about App.net. It may surprise you to hear that there’s still a community there, 2 years after the service was put into maintenance mode. All my microblog posts are cross-posted automatically, and I’m always happily surprised to continue to get replies on App.net.
I was an early believer in App.net. I wrote in 2013 that it was not just a Twitter clone but an amplifier for applications that couldn’t be built before. It came along at the right time, took off, and then faded. The App.net founders deserve significant credit and thanks for trying something risky and succeeding to grow a community that lasted so long.
Now, with social networks broken in ways we didn’t fully acknowledge before, the time is right for another shot at a more open, ad-free microblogging platform. That’s why I’ve been working on Micro.blog.
I could use your help to spread the idea of independent microblogging. We don’t need just another Twitter or Facebook clone. We need a new platform that encourages blogging on the open web. You can learn more on Kickstarter here.
Maybe good that I’m fighting off a cold and can’t keep up with work. Forced me to slow down and plan next steps for Micro.blog.
On Monday, I launched my Kickstarter project about independent microblogging, with a focus on owning your own content and making blogging easier. On Tuesday, Lindy West left Twitter in a post about Twitter’s inability to deal with harassment. On Wednesday, Ev Williams announced that Medium would lay off 50 employees.
The message is clear. The only web site that you can trust to last and have your interests at heart is the web site with your name on it.
That’s the main goal with Micro.blog. Build a service and write a book that makes independent blogging more approachable. No one knows exactly what the web will look like in 10 years, but we can take the first step to get there. If you’ve been frustrated by the ad-based silos and waiting for a reason to post to your own site again, I’d love your support.
Sent a Micro.blog project update to Kickstarter backers today. I kind of love that the clock is ticking. The project will ship.
Yesterday morning I woke up early, after not enough sleep, and flipped the switch to launch my Kickstarter project. I’ve been amazed at the response, seeing it funded on the first day. If you backed it or shared a link with friends, thank you. It meant a lot to see so many people embracing the idea.
I’ve backed 18 projects on Kickstarter but never created one myself, so I didn’t know what to expect. Was the funding goal too high? Too low? Even at the last minute I was noticing problems with the video and wished I had more time to improve it.
But I really wanted to launch something new at the beginning of 2017. I settled on January 2nd a couple of weeks ago and decided to stick with it. I announced the date on Core Intuition. I booked a sponsorship slot on 512 Pixels to lock myself into the date. I gave my mailing list an early heads-up that it was coming. I even set a promoted tweet to run, for some reason. (And I quietly deleted some other advertising ideas from my OmniFocus list, because I just ran out of time to pursue them.)
Today, I took a few minutes to re-listen to episode 34 of my short podcast Timetable, which I had published on Sunday, the day before launching on Kickstarter. It’s fascinating to me in the context of the success of the project so far, and in general people’s positive reaction to the video, because I think you can hear the doubt in my voice about it. I was not confident.
And I felt the same way yesterday morning, staring at the “0 backers” text on Kickstarter for a little while, wondering if maybe I had rushed it out without enough planning. That’s a really bizarre feeling. It’s much different than selling traditional Mac or iOS software.
Right now I’m feeling incredibly lucky to have the chance to launch this project — to see it spread and to hear everyone’s feedback and ideas. I have a bunch of work to do. And I have new features that I wanted to build for Micro.blog which I haven’t announced yet, which now it looks like I’ll be able to prioritize.
I’ll have more thoughts soon. In the meantime, I’ve been answering questions on Kickstarter and email, and I’ll be sending a project update later today to all backers with details on what comes next. Thanks again for your support!
Today has been a whirlwind. Thanks so much for your support. It means a lot. I’ll have more to write about Micro.blog tomorrow.
This morning I launched the Kickstarter project for Micro.blog. Really happy with the response. Thank you, everyone!
1am, more tweaks to the Kickstarter project. Gotta ship this so I can go back to fixing bugs in the actual Micro.blog platform.
Posted episode 34 of Timetable at timetable.fm, with final thoughts before starting to roll out Micro.blog tomorrow.
Tomorrow I’m launching a Kickstarter campaign for Micro.blog and a short book about blogging called Indie Microblogging. I’ve had fun working on the video for this project, trying to tell the story of why independent publishing matters.
Of course the video has me talking at the camera, but it also incorporates some animation and screencasts. Here are 4 stills from the video:
I can’t wait to share the full thing. I’d love your support when it launches.
Happy New Year! 2016 didn’t go according to plan, but it’s a new day. Finishing up client work for early 2017 and the Kickstarter tomorrow.
I’ve been MacBook-only for years. Xcode, Logic… all fine. Using Apple’s Motion is the only time I regret not having an external monitor.
“That you are here — that life exists and identity, That the powerful play goes on, and you may contribute a verse.” — Walt Whitman
Four days after the election, still stunned by the news that Hillary would not be our president, I went to a funeral for a good friend of mine from middle school. Devin Kennedy-Puthoff was creative and passionate. He was really fun to be around. Though I lost touch with him as we grew up, I’m very thankful to have known him.
People pass in and out of our lives. The friends we have when we’re younger might not stick with us. We might have different friends in high school and college. And different friends again as adults.
That’s okay. We all need different things at different points in our lives.
Twenty-five years, thirty years… It’s a long time. Reaching back into the past so far, untangling the stories in our mind, leaves fragments. These memories aren’t complete or precise. They are less complicated and so in a way, more true.
A few nights later, magician David Blaine had a TV special on. I was thinking of a day when Devin and I were practicing magic tricks with quarters. Kids hanging out with nothing much to do, turning free time and a couple quarters into something.
To this day, when I see a magic show, I often think back to that moment. When I see a movie about magic, or teach my kids to make a quarter disappear, I think back to that moment with Devin when life was a little simpler.
At the funeral, I was wondering why that memory was so strong that it has stuck with me all these years. I think it’s because there was something pure about it. Time strips away everything in a memory that isn’t essential.
If you read every post on my blog for the last decade, you’ll know what I think about the tech world, but very little about my family. If you read every post from my private journal, you’ll know the rest. Taken together it might be too much. Too complicated.
Who we are is not just what we’ve done. Who we are is that moment that someone will remember later, as I remembered Devin, for years or decades. That moment that is so true because we’ve forgotten everything that doesn’t matter.
One reason I like microblogging on my own web site is that I can control the links and simple formatting. I’ve noticed lately that Twitter can’t consistently auto-link even certain domain names, for example.
This difference is illustrated well in a post I made this morning, which included timetable.fm and micro.blog. Twitter auto-linked the .blog but not the .fm. The cross-post to App.net auto-linked the .fm but not the .blog.
Here are the 3 versions:
In the final screenshot — the original from my own site, from which the others were pushed out automatically — you can see how I’ve specifically linked the domain and phrases I wanted to. It’s a minor thing, but it just looks better when the author has a little control over the formatting. (And while I don’t use it here, my own short posts can contain text in bold or italics via Markdown, too.)
Posted a new episode over at timetable.fm about current Micro.blog plans and Kickstarter’s Launch Now feature.
Hope everyone had a great weekend! Yesterday was the first day in forever that I used a computer for less than 5 minutes. Feeling refreshed.
For the last Core Int episode of 2016, Daniel and I talk again about Setapp and plans for our 2017 software.
Following up on my post about Twitter at 10 years, I decided to mark the actual 10-year anniversary of my first tweet by posting from my @manton account, which I haven’t touched in over 4 years. After so much time, you can be sure the tweet was going to be exactly 140 characters:
Why post again? I’ve had some fun experimenting with cross-posting to @manton2. As I wrote when I first started this:
Overall I think it has been a success. I use my upcoming platform Micro.blog for the cross-posting, so using Twitter has helped me improve Micro.blog too. And I get more people who don’t actively follow RSS feeds to read my blog posts again.
As promised, I’ve already deleted that last tweet at @manton. I’m also not replying to mentions over there, although I try to reply or favorite tweets I see from @manton2. I know this Twitter strategy might seem like a strange compromise, but I think it’s working because it puts a focus on my independent blog instead of on Twitter.
When first writing about mirroring this blog, there were only 2 places — WordPress.com and GitHub — that came to mind as good choices:
I still believe that, but Bloomberg has an article about growth and spending problems at GitHub:
These numbers seem fantastic except that GitHub is losing money overall. GitHub has transformed from a small profitable company to a large unprofitable VC-backed company. Here are some of the goals from GitHub’s 2012 announcement about taking funding:
They’ve made progress in the last 4 years. I’m not sure the GitHub user experience has improved more quickly because of funding than it would have otherwise, though.
I love GitHub and use it exclusively for my source and my client projects, because there’s a productivity benefit to having everything in one place. I hope GitHub can turn the corner on profitability. And most importantly, I hope they have a sustainable long-term plan beyond this initial quick growth.
Mario Run friend codes reminds me of the @wii system I built years ago. The site is still up, but no new codes: wiitransfer.com/codes/
Trying to hold on to the greatness of Duncan’s ceremony last night, even with the dread of the electoral college vote today. 19 years. Work.
Great weekend so far. We saw Rogue One last night and loved it. This evening, in San Antonio to see the Spurs retire Tim Duncan’s jersey.
Posted episode 263 of Core Int, talking about Micro.blog launch plans, software release discipline, and 10.12.x issues.
This morning’s Timetable turned into a mini review of Mario. You can find it at timetable.fm or subscribe in your podcast client.
Finished the 6 worlds in Mario Run but missed many, many coins. Might do a short review on my blog later. Game is even better than I hoped.
Federico Viticci has another fantastic long-form essay, this time about using the iPad Pro for a year. It’s the story of his iPad workflow plus mini reviews of each app that make using the iPad as a primary computer possible.
I haven’t finished reading the whole thing yet, but I’ve been paying particular attention to the theme of file management. I use Dropbox for my most important files — documents, notes, and photos — because I want them synced everywhere and accessible in an obvious, transparent way. iCloud is too opaque and app-specific.
Federico covers this conflict early in the essay with a list of iCloud downsides:
I’ll be happily surprised if Apple ever adds such an API. It seems unlikely. And if that’s true, it means iCloud will be permanently crippled compared to Dropbox.
The trend to new iCloud-first apps like Ulysses and Bear is fine. It doesn’t appeal to me, though. I use Ulysses on the Mac because I can sync with Dropbox. There are so many Dropbox-capable iOS text editors that I feel confident using my current favorite and switching whenever I want.
Federico also describes using GitHub and the iPad app Working Copy for collaborative editing:
GitHub is useful for much more than code. I personally love the simplicity of Gists and GitHub Pages. It’s great to see how MacStories can use GitHub for editing articles, too.
Updated the static copy of my web site on GitHub Pages at mirror.manton.org. Still need to automate this. Too slow to do often.
New emoji rant: too much detail. The trend to 3x-sized emoji is misguided. They should be the size of text. Emoji aren’t GIFs or stickers.
My content is all on this blog or linked from it, but if you’re following RSS feeds or Twitter it’s not as obvious where everything is posted. Here’s a summary to clear things up.
Microblog posts: Posted here and in a special RSS feed. Also automatically cross-posted to Twitter and App.net, with some occasional truncation.
Longer posts: Posted here and in the default RSS feed. Also automatically cross-posted to Twitter and App.net with the title and link. Twitter cross-posting is handled by my upcoming Micro.blog platform.
Photos: Posted to Instagram and then copied here using this workflow. They don’t show up in either of the RSS feeds above. They’re not cross-posted to Twitter.
Timetable: Posted to timetable.fm which has its own feed. Discoverable in your favorite podcast client.
Core Intuition: Posted to coreint.org. I’ll usually post a link here on the blog for each new episode.
All posts: Switching to WordPress brought a new global RSS feed, but I redirect it to the longer posts for now. There’s a new everything RSS feed which contains all posts: microblog, full posts, and photos. Enjoy!
AirPods ready to order. I’ll pass for now. Bluetooth still has downsides to me, and my iPhone SE has a perfectly reliable headphone jack.
Starting the day off with my pre-holiday morning work routine: iced coffee and “My Shot” from the Hamilton mixtape.
Worked at the new WeWork location at the Domain this morning. Nice place. Back home and just published an episode of my Timetable podcast.
Now that I’ve been cross-posting Instagram photos to my blog for a while, finally fixed the CSS on small screens.
A few of years ago we took a vacation to New York City and Montreal. We were taking the subway so often, I switched to Google Maps for its transit directions. I’ve been using Google Maps exclusively ever since.
Until now, there were very few reasons to go back to Apple Maps. Apple has been playing catch-up. Why use a product that is only adding features from a competitor, but not anything new?
This week Apple rolled out a unique feature that’s interesting to me: ChargePoint integration to find charging locations for electric cars. Ryan Christoffel covers it at MacStories:
I rarely need this — and the ChargePoint app itself has more detail, such as how many spots are actually available — but I’m excited about it as a new feature. I hope that it represents a fundamental improvement across the maps platform. I’m putting Apple Maps back on my home screen for a while.
Posted episode 30 of my short podcast, Timetable. Still don’t have a consistent schedule for this. Maybe Monday and Friday would be good.
In yesterday’s essay about Twitter, I also linked to my post on Instagram’s lack of native reposts. Jason Brennan has written a follow-up about fake news and propaganda, exploring what we can learn and apply to microblogging:
Hillary Clinton also connected fake news and propaganda in a speech this week:
The internet is at a crossroads. Entrepreneurs love free speech, scale, and money, but those don’t always align in a good way. As much talk as there is of making an impact, very few leaders in Silicon Valley seem to think deeply about consequences.
We published episode 262 of Core Intuition today. It’s December already, so we’ve inevitably been thinking about unfinished projects as the year wraps up. From the show notes:
Thanks as always for listening to the show.
It was 2008 in Chicago, the C4 conference was wrapping up and I shared a cab to the airport with Alex Payne, who built the first Twitter API. I was so excited about the potential for the platform that I probably had a dozen ideas for Twitter apps. Alex and I sat at a cafe at the airport, waiting for our respective flights, and talked about the future.
Years passed. I did build and ship a few Twitter apps, including the popular Tweet Marker sync API. But I also grew disillusioned. I took a break from using Twitter.
Alex had left the company and Twitter was much different from a business and leadership perspective by the time the rest of the world started paying attention. Thousands of employees worked at Twitter. How many of them had experienced the early days of following friends' tweets via SMS, when the service seemed genuinely new and important? The future had arrived but it was full of hashtags.
This year — with rumors of Twitter being acquired, with fake news and the election, with online harassment — many people have written about the future of Twitter. I’ve been paying attention again, experimenting with cross-posting. I missed the 10th anniversary of when I joined Twitter in July 2006, but not the date of my first tweet a few months later.
10 years is a good milestone to reflect on. I want to highlight a few posts I’ve read recently, and then wrap things up at the end.
What I like about this article by Faruk Ateş is that he gives a sense of the major changes Twitter has gone through, most of which were difficult to fully understand at the time. On the change with @-replies:
This is a theme across many posts, that we didn’t realize what all these changes were adding up to. I have some related thoughts about Instagram and another post on why today’s social networks are broken.
Next, Sarah Frier writes for Bloomberg about how Twitter leadership is losing faith in Jack Dorsey. That despite new features such as live video, Twitter failed to ship other development efforts and fell behind competitors:
As long as Jack Dorsey has 2 jobs, it will be easy to blame him for being unfocused. I don’t know if that’s fair. But when streaming live football gets so much attention, there do appear to be competing visions at Twitter.
Twitter is too expensive to acquire. It’s also too flawed for a company like Disney to take a risk on. So instead there was another round of layoffs. From Kurt Wagner at Recode:
There are no guarantees for an unprofitable company. The only certain thing is that something will change.
Back to Alex Payne. He wrote a post 6 years ago about his time at Twitter, and his unsuccessful attempt to convince coworkers to decentralize Twitter. It holds up very well:
It used to be impossible to imagine that Twitter could fail. And today, it’s still unlikely to vanish or even change much overnight. But the web will be better if we assume that Twitter is a lost cause. From the 10-year view, it’s clear that Twitter has already changed.
Acquisition rumors come and go, although they seem more real this time, and we’re reminded that few web sites last forever. It’s time to prepare for a web without Twitter.
When a project is just days away from being wrapped up, I’m always extra worried that someone else will ship the same thing right before me.
Nice to see a new Joel Spolsky blog post. And Anil Dash as Fog Creek CEO! Congrats. Also surprising to me: Stack Overflow has 300 employees.
Up until 2am last night working on this Kickstarter video. The concept was much too ambitious. Determined to finish it this week, though.
Every morning there’s a second after I wake up where I’ve forgotten about Trump. Then reality. Still unbelievable, shocking, and outrageous.
I’ve been sitting on a couple finished blog posts this week. Possibly over-thinking the perfect time to post them. One personal, which I wrote just for myself. And one about Twitter, which I want people to see.
Working from home: tried to record a video yesterday, but the dogs were barking and the cat kept getting in the shot. Trying again today.
I’ve been recording Timetable for about a year and I’ve never checked my MP3 download stats. Always best to ignore those as long as possible. Obsessing about numbers is a good way to doubt yourself and second-guess everything you produce.
Today I sent the following email to everyone who has used my web app Searchpath. While I’m disappointed that I’ve neglected Searchpath, focusing everything on Micro.blog just makes the most sense right now.
Three years ago, I launched Searchpath to make it easy to embed a search box on any web site. Because you signed up to try it, either at the beginning or as a more recent paid subscriber, I wanted to thank you and let you know about the next steps for the service.
While I still love the idea behind Searchpath, I have not been able to give it the attention it deserves. Lately the service has been costing more to run than can be supported by subscription revenue. I’ve disabled new accounts and started migrating the data in an effort to keep the service running for active users.
Here’s what you need to know:
I hope to return to Searchpath at some point in the future. For now, it will run in this limited mode for current customers. If you have any questions, please let me know via email at support@riverfold.com.
— Manton
P.S. One reason I can’t focus on Searchpath is I’m preparing to launch a new weblog service. It’s called Micro.blog.
We just posted Core Int episode 261. Good mix of business (make $$$$ with the Mac), tech (package managers debate), and plans (microblogs!).
As I talked about on Timetable, now that I have the micro.blog domain I get to figure out what to do with it. And what I’m hearing from friends and listeners is clear: throw out my jumble of Snippets-related names and use Micro.blog as the brand for the platform. It’s obvious now.
Renaming a product before its official launch may not seem like a big deal, but in this case it gives the app a new importance. Just by renaming it, the app feels more ambitious. It forces me to devote more attention to it, which means saying goodbye to some of my other web apps that I can no longer focus on.
I have a difficult time shutting down failing products. Over the weekend, I took some much-needed steps to finish winding down Watermark and Searchpath. I’ll be sending an email this week to everyone who has used Searchpath with the details.
For Searchpath, I had procrastinated making a decision because even simple steps like closing new account registrations requires actually writing code and deploying changes. The index on my Elasticsearch server had grown to 90 GB, including Watermark as well. I needed a clean way to reset it and migrate the small number of active paid accounts somewhere else, to give customers time to find a new solution.
I’ve tried a few technologies for search over the years. The first version of Watermark used Sphinx, which I loved but became a scaling issue with its default need to completely reindex MySQL data. Eventually I moved to self-hosted Elasticsearch, but I had to keep feeding it RAM as the index grew. It was never stable enough with my limited skills.
As I noted in my post about Talkshow.im, there’s no perfect way to admit defeat and clean up the mess left by a web app. It’s always a balance of responsibilities — to your own business and to your customers.
But again, the way forward is clear. I should put everything into launching and growing my new microblog platform. It’s too much to maintain other web apps at the same time.
Excited about Trump’s claim of widespread voter fraud. Next: convince him we should vote again so he has another shot at the popular vote.
Anything that annoys Trump, I’m in favor of. Protests? Yes. Recount? Yes. Electors confirming the national popular vote or abstaining? Yes.
We all really enjoyed Moana. I’ve been listening to the soundtrack this week, so it was nice to finally see how it all fits together.
Shutting down a web site correctly isn’t easy. When Talkshow announced they were closing, I was surprised. Six months is a limited time to launch, get traction, and then wind down. But I was glad that they’d let any show be exported as an archive.
The archives aren’t available for very long. If you hosted a show on Talkshow, you have until December 1st to download it.
I downloaded a couple to see how Talkshow handled it. Just in case no one else grabs them, I’m copying them here: Pop Life episode 5 with Anil Dash and guest John Gruber, and the Six Colors live coverage for Apple’s September 7th event. I had Instapaper-ed both of these to read later anyway.
The archive itself is a simple .zip file with HTML, CSS, and user profile images. In the Finder it looks like this:
This self-contained structure makes it very easy to re-share somewhere else. Credit to Talkshow for keeping this simple. But it also strikes me as so easy to keep hosting as static files, I wonder why Talkshow doesn’t keep the archives available indefinitely, which would preserve any existing links to these shows from the web.
This morning I posted a new episode of Timetable, about the .blog registration process and plans for my new domain. timetable.fm
Yesterday we published episode 260 of Core Intuition. From the show notes:
I liked the topics for our show this week because it allowed us to not just talk about AppleScript as it exists today, but also to reflect on what life developing scriptable apps was like in the early days of AppleScript. It’s always fun to think back on 1990s Mac development.
Many of our listeners are celebrating Thanksgiving today. To all of our listeners, whether you’ve listened since the beginning in 2008 or just recently discovered the podcast, thank you so much for giving our show a chance and for being part of the community. Daniel and I still feel incredibly lucky that we get to chat every week about Apple news and our work as indie developers.
Twitter has retweets. Facebook has sharing. But Instagram has no built-in reposting. On Instagram, there’s no instantaneous way to share someone else’s post to all of your followers.
The first version of Instagram was built by a very small team. They’ve always grown slowly and expanded the UI thoughtfully. I think the lack of a repost feature was deliberate.
When you have to put a little work into posting, you take it more seriously. I wonder if fake news would have spread so quickly on Facebook if it was a little more difficult to share an article before you’ve read more than the headline.
It’s not easy to build software that encourages good behavior. When I look at my Instagram timeline I see beautiful photos, hand-drawn art, and snapshots of everyday life. I see the very best of the world. It’s not the full truth, but it’s all true.
Instagram was no accident. The only question: was it unique to photos, or can the same quality be applied to microblogging?
Excited about .blog, but the rollout has been confusing. I definitely got 2 domains. Not quite sure about a 3rd which I dragged my feet on.
When I first wrote about Accelerated Mobile Pages, there wasn’t a true implementation. Now we see how Google is rolling this out, and it has problems. John Gruber uses Ars Technica as an example:
Maybe this is inherent in how AMP works, and we should have predicted it. If Google’s AMP implementation must run in browsers, will there always be a layer of JavaScript and custom URLs that hide the original web site?
I’d prefer if Google added AMP support directly to Chrome. While it would be a much more limited rollout, it would feel more natural, with fewer drawbacks for publishers.
Competing news platform Apple News isn’t problem-free either. The apple.news:// shared links also add a redirect, with inconsistent behavior since not all platforms and countries even support Apple News. Apple News is an RSS reader that’s designed like a closed platform.
I want the web to be faster. Breaking links should not be part of the solution.
This weekend an Apple Store genius suggested that an iOS restore would fix our spontaneous iPhone 6S shutdown. I told him I doubted that would work and I immediately felt like a jerk afterwards. Of course the next day, Apple says there’s a real issue.
Andy Baio redesigned his blog recently and argued that blogs still matter because of ownership and control. Of course, I agree. And though it may seem far off, there’s no guarantee that Twitter will outlast our own blogs. Andy writes:
Ben Brooks followed up:
Words are powerful. Especially right now, why let anyone else have control over the format of our words and how they spread? Having a blog is a statement: our writing exists apart from the whim of an algorithmic news feed.
New episode of my Timetable podcast is up, about why today’s blog post is both rant and mission statement, work, and the Moana soundtrack.
Brent Simmons has left Twitter, frustrated with the diminishing value of the service, Twitter’s inability to deal with harassment, and more:
Facebook has also been in the news for its role in letting fake news spread. Ben Thompson has a long essay this week on it:
Maybe. Though while we should debate how to balance Facebook’s enormous power, there should be a parallel effort to move away from the centralized publishing model that gave Facebook that power.
Facebook has confused itself into thinking it is the whole internet, and so the principles of a free press that apply to the open web, also must apply to Facebook. No. While Facebook has a great responsibility to do the right thing, because they are so big, Facebook is just a web site.
I want Facebook to improve. I want Twitter to improve. But I can do very little to effect change at those companies, and some problems are so fundamental as to be essentially unfixable. The web wasn’t supposed to be like this, with all the power and all the writing concentrated into so few sites.
It’s time for a new social network that brings discoverability and community without the baggage of an ad-driven network that must grow to a billion users. A social network that embraces the open web, and freedom of expression, while preserving a clean timeline that can’t be interrupted by harassment.
Not just one new social network. I hope that many developers will work on products that encourage independent publishing again.
It’s going to take time to build. That’s why I started working on Micro.blog 2 years ago. I’ve made great progress, but I’ve also drifted, unfocused, uncommitted to finishing it, as if I knew something was missing.
Something was missing. The election results have made that clear. I was thinking big, but not big enough. The way forward must include both a decentralized publishing platform and the tools to encourage a safe community.
If you’d like to know when the beta is finally ready, please subscribe to the announce list. Thank you. Update: Edited to reflect the new name for Micro.blog.
Leaving Twitter years ago was great because it gave me a new perspective. But it cost me, too. I need to shout a bit louder now to be heard.
Good turnout last night at NSDrinking, and a spirited debate about the election and Apple. Helped clarify a few thoughts in my mind.
NSDrinking is on for tonight, 8pm at the Ginger Man. Looking forward to it. I’ve been making a conscious effort to get out of the house more this week and haven’t completely succeeded. Having a beer with fellow developers is a great incentive.
Daniel and I covered a few topics on Core Intuition 259 yesterday, but the closing segment about the Apple design book — and indirectly, the election — was particularly interesting to me. I decided to transcribe part of the conversation. Here it is, lightly edited.
Daniel:
Alright Manton, I know what a fan you are of lavish Apple products designed for the rich. [laughter] I know therefore you have probably already placed a pre-order for the Apple Book Edition.
Manton:
Is the Edition the $300 one?
Daniel:
Yeah, the $300 one is the Edition. The $200 one is the Edition Lite. [more laughter]
Manton:
So Apple announced this book yesterday, and I believe orders are being accepted today. It’s just this very beautiful, well-produced “we worked 8 years on this” book of essentially product photos.
And I think there’s an introduction with Jony Ive. There’s a video from him that is a classic Jony Ive video about a product.
I’ve blogged about this a little bit, and actually talked about this on my microcast, Timetable. Red flags are going off for me with this product for a few reasons.
The first is, we’re a week out from the election. A lot of us are bummed out and trying to make sense of the world, and Apple releases a book of product photos. It seems out of touch. I don’t understand why they did this right now.
And the other thing, I just hit on something that bothered me about this book. I have a lot of books in this house. Bookshelves and bookshelves full of books. My wife hates the fact that I have every book that I’ve ever bought. I have a lot of books and I have a lot of art books. In a previous life I wanted to an artist, an animator. I have a lot of art books.
And so this is right up my alley, right? I love old stuff. I love art books. Why don’t I want to buy this?
And I think the reason is, unlike most art books, which are about… They’re about the artist as much as the art. And this book is just photos of iMacs.
This isn’t about the designers. And maybe there’s something in the book that I’m missing. That when I hold it I’ll say, “Oh, this book is amazing.” But I feel like this book is not quite right. It’s not about the designers.
I want to know about the designers at Apple, and why they made their choices. I don’t need this well-lit photo of the inside of a Mac Mini. There’s something missing with what they’ve done here.
Daniel:
You know, I agree with you. What you said just now is interesting to me in a few different ways. One of them is — and I know people are going to think I’m crazy for even imagining that this could possibly happen in the wake of a U.S. presidential election — but one of my instincts the day after the election, believe it or not, was actually going to Apple.com to see if Apple had some kind of commemoration or acknowledgement.
And I realized… That’s my passionate, emotional side. Because Apple has been that company on so many issues of national or global importance.
And I get it. Even if I see it as a catastrophic thing for the country and for the world, I get it that it is seen as a partisan issue, and that a lot of people would agree it would be not only poor business, but maybe poor taste to take a stand on Apple.com.
But that’s the kind of feeling I’ve had from this company over the years. I wasn’t surprised not to see something there, but that sensitivity to the current state of affairs in the world, while maybe not driving them to put something on their home page overtly in support of one direction or another… I can see how they could maybe have made an effort to come up with something that somehow spoke to the issue without taking a side. They could have done that.
And I’m not faulting them for not doing that. But your comment about the possible poor timing of releasing this right after the election, it drives it home for me that doing something like that with the home page would have reflected a level of consciousness about what’s going on — their being sympathetic or even empathic to the situation.
Releasing a self-gratifying, expensive art book certainly does not speak to sensitivity about the national and global implications of the election. Nor should it have to. But by doing it the very week of the election, it does sort of tip the sales toward insensitivity.
Manton:
Right. So we had the election. A lot of people are trying to make sense of it. Like you said, you went to Apple. “Is Apple going to say anything?” Reload, reload. No, they’re not going to say anything. “Is Apple going to say anything next week?”
The first thing they said, not about the election but the first thing they publicly said was, “We have this beautiful book.”
Yes, they didn’t mean it that way. They didn’t mean it as a reaction to the election. They’ve had this thing planned for years. But it doesn’t feel right.
I don’t want to take away anything from the designers at Apple and the people that worked on this book, because they do great work. The products in this book are amazing. They do deserve to be celebrated and talked about. But the timing does not feel right.
And like I said before, I think the substance of this book is also wrong. I want to be careful not to criticize too much, because I’m sensitive to this. I don’t want to just bash this book. It doesn’t feel like the book we need about design at Apple. Because there’s no text in it!
It celebrates objects and machines but it doesn’t celebrate people. The people are one of the most important things about design at Apple. It doesn’t seem right.
I had never thought after the election, “What would Apple say? Would they put something on their web site?” I hadn’t thought of that until you just mentioned it.
Tim Cook did send a letter to Apple employees, an email. It wasn’t really partisan, but it was kind of saying, “We know some of y’all are having trouble.”
I don’t know how he phrased it. But the sense of it was, “We’re moving forward together. We’re going to be together. That’s how we get through everything as a company.”
That was private to Apple employees. They didn’t say anything publicly. To say something publicly would have been difficult. This is kind of a cheat, but I’m just going to say it: it would have taken courage to say something about the election publicly. I’m using that word very deliberately.
Come on, Apple. Forget about the stupid headphone jack. If you want to be courageous, take a stand on something you believe in. Do it.
Just published Core Int 259 — “Take A Stand On Something” — about Touché, Dash source, and the Apple design book.
YouTube Red has made watching YouTube much more enjoyable. Bunch of vloggers doing great work. Really enjoyed Casey Neistat’s MacBook Pro with Touch Bar review today.
Today I published a new episode of Timetable. It’s about Apple’s new design book but also about how social networks are broken, with a hint of what I think we can do about it. It’s just 3 and a half minutes long.
As I’ve written about before, Apple no longer needs us to defend the company. On the other hand, many good people work on Apple’s products and so criticizing the company can easily come across as criticizing those people. That’s not my intention, but I sometimes get that balance wrong.
I own dozens and dozens of art books, but I won’t be ordering this new Apple design book. It looks overconfident instead of nostalgic. It looks like it celebrates objects instead of people. It looks like a beautiful book for the wrong time.
The first new Apple product after the worst election in my lifetime is a painfully minimal book of product photos and Jony Ive quotes. $200.
Congrats to Daniel Jalkut on releasing Touché, to preview the Touch Bar on any Mac. Always a great feeling to create something new and share it.
I couldn’t sleep. I woke up early the day after the election, thinking about my daughters, and cried. I had been so excited to celebrate our new president with them. I had been so excited to watch the returns with my kids, to share a moment of pride and optimism.
This wasn’t a normal election. This wasn’t just a debate over policy. It was much deeper. The world is already worse and darker for many people because of what happened.
There will be arguments over why the election went so wrong, but it’s more complicated than just one thing. There was the overplayed story about private emails. There was the FBI letter. There was the media treating Trump like a reality TV star instead of a threat.
Hillary did her job. She destroyed Trump in all 3 debates. She ran a solid campaign. But she has always been held to a different standard than everyone else. I’ll never get over that.
I’m proud to have voted for Hillary in the primary and in the general election, and I’d do both again. This election was very close. It was winnable. If we had ignored the polls and fought for every state, it was winnable.
Friday night, I went with a friend to see Trevor Noah’s standup show. It was great to laugh for a couple hours, about the election and everyday life. But then the night fades and we’re still in a nightmare.
After Hillary has had some time to rest, and reflect, and be her own person again, I hope she can find another cause worth fighting for. Let’s not forget that she did make history as the first woman to be nominated by a major party. She paved the way and reminded us how hard this is. That matters.
Daniel and I recorded an episode of Core Intuition the day after the election. We tried to capture that feeling of loss, and anger, but also of hope that we can have a renewed passion for our apps and ideas. Maybe some of our products have a place in the work to do before 2018.
Hillary said in her speech, the day after the election:
On this, I disagree with Hillary. Trump has already shown us who he is — someone who mistreats women, lashes out at his critics, and disrespects immigrants — and nothing he does in office will change that. The only thing we owe him is a short presidency.
Trump’s win has encouraged some people to act out against women and minorities, yet Trump says nothing. He’s already a failed president.
When they go low, we go high. I know. But that Obama now has to even shake Trump’s hand after what Trump has said about him… It’s not right. We should have protected the president from this moment. We should have done more.
We just published a new Core Intuition, recorded today. The election, Setapp subscriptions, and more on the Touch Bar.
Heartbroken trying to explain the election results to my kids. Tired, but staying up until Hillary speaks or the campaign makes a statement.
I only finally got my Hillary yard sign yesterday, but I still take it as a good sign that it has yet to be stolen or knocked over.
Halfway through election day. Still too much of a nervous wreck to get anything done. If you haven’t voted yet, now is the time.
A few days late, finally got Core Intuition edited and published. Episode 257 has more thoughts on the MacBook Pro, Touch Bar, struggling with consulting, indie projects, and more.
Today is the last day for early voting in Texas. Other states also wrapping up today or this weekend. Make a plan. :-)
No matter what happens, Hillary has run a solid campaign. Great debate performances. Very few mistakes on the trail. Good ads. Now it’s all about turnout.
I have no problems with USB-C on the new MacBook Pro. It will be a small headache at the beginning, for sure. But because it’s a standard there’s no long-term compatibility risk the way there is with removing the 3.5mm headphone jack.
More on that below. First, Marco Arment doesn’t think using USB-C exclusively is very practical in a pro laptop:
John Gruber responds that Apple’s strategy is to speed up adoption:
I agree with that. But then he closes with this:
I don’t think it’s the same at all. It’s a convenient narrative to group together both the migration away from USB-A and the one away from 3.5mm headphones. There are important differences, though.
USB-C is a standard that is already used in many devices from different vendors. It will become universal. The immediate replacement for the 3.5mm headphone jack on the iPhone 7 is the Lightning EarPods which come in the box. Lightning is a proprietary cable that will never be used in non-Apple phones, and in fact is not even used on Macs.
You can argue that more and more people will use Bluetooth headphones, but I doubt they will be as common as wired headphones for many years, and there’s no guarantee that an all-wireless future will ever arrive. There is a very clear migration from USB-A to USB-C. The move to Lightning headphones and Bluetooth is much more complicated and not directly comparable.
Talkshow shutting down is another reminder to think about where your microblog-like content lives. Glad to see that they will provide HTML export tools.
I might have doubts about the Mac product line, but overall I like the new MacBooks. The outrage seems overblown. I’m more upset about no headphone jack on the iPhone, still, which is a more serious compatibility issue.
FBI director Comey’s vague letter was, uhm, “extremely careless”. But the risk is on turnout, not fundamentals. It’s on us if Hillary loses.
Posted episode 256 of Core Intuition, recorded yesterday after the Apple event. We talk about new MacBook Pros, the Touch Bar, Apple TV, and more.
Touch Bar looks great. But is it better than a full touch screen, or a temporary hack until we get there? Nice as a part of the keyboard.
I’ve passed this taco truck near our house about 100 times and finally stopped today for an early lunch before the Apple event. No complaints with a great week of basketball, tacos, and new MacBooks.
NBA regular season starts tonight! We’ve posted a new episode of Technical Foul, wrapping up the basketball off-season with our thoughts on Durant, the Olympics, and the best teams for 2016-2017.
Centralized systems fail sometimes. Don’t forget to write on your own blog. (Posted while Twitter was apparently down.)
Getting excited about the crazy Nintendo Switch design. This is why we love Nintendo. They’d much rather try something unique than settle for incremental, obvious updates.
I didn’t get to watch many WNBA games this year, but glad to have caught a great finals game 5 tonight. Congrats to the Sparks. NBA regular season starts next week!
Another strong debate for Hillary. She had some very good, passionate answers on abortion, immigration, and even our democracy itself. And as usual, Trump just added an extra week of bad press for himself.
I published a new episode of Timetable today, about recent distractions and what I’m trying to do to get back on track. Talking about this for 5 minutes actually helps.
Federico Viticci has an overview and examples for the latest Workflow for iOS release, which adds more advanced features for calling into web APIs. It looks great:
Here’s another nice example of automatically creating GitHub Gists, from Jordan Merrick:
Workflow can now take over many web tasks that previously required either writing scripts or depending on hosted solutions like IFTTT and Zapier. Like my workflow for posting photos to my blog, it’s a natural tool for web publishing and microblogging.
I’d also love to see a Mac version of Workflow one day. I do some limited automation on my Mac, but AppleScript and Automator aren’t as easy to use or as well-maintained as Workflow.
Excited for tonight’s debate. For the last week, Trump has been “preparing” by shouting conspiracy theories in front of his fans. Difficult to then flip overnight to appealing to everyone else who thinks he’s lost it.
Earlier this year I wrote a post about indie podcasting and the mistake of centralized publishing, comparing it to the lesson from the demolition of Penn Station in New York City. That train station can never be returned to what it was, but the city hasn’t given up on updating it. Here’s the New York Times with an idea to turn it into a beautiful space again:
It’s a nice article with photos and diagrams. I hope to see something like this new Penn Station on a future trip to New York City.
Please vote early for Hillary. November 8th is going to be a mess. No reason to risk waiting in long lines or running into “poll watchers”.
About 2 years ago I read Peter Thiel’s Zero to One while traveling. It quickly became one of my favorite business books. I’ve always thought we should strive to create truly new products, not just better versions of old ideas. I referenced the book in one of my blog posts about Snippets.today.
It wasn’t until the Gawker lawsuit that I bothered to learn more about Thiel. It’s disappointing enough that anyone I respected was on stage at the Republican National Convention, a 4-day train wreck that I expect years from now the GOP will look back on with embarrassment. Now Thiel’s giving over $1 million to Trump.
Marco Arment makes the case for Y Combinator distancing itself from Thiel:
I don’t think we should use the word “shame” lightly. It’s used jokingly too often in our industry; for example, “shame on you” for not using my favorite app or listening to my favorite show. But on this serious topic, I agree with the content of Marco’s post completely.
Federico Viticci published a great review of the iPhone 7 for MacStories last week. He opened with this:
Followed by the main theme of his review:
I’ll admit to some jealousy of Federico’s iOS-only lifestyle. Apple’s mobile OS is fun to use in part because of its simplicity and in part because of its inherent mobility.
If I could only choose one computing device — one phone, no tablets, no Macs — I would get an iPhone 7 Plus. The largest phone would make for a great mini tablet, nice for photography, writing, and the web. Maybe when I retire from living in Xcode and Objective-C, I’ll daydream about traveling the country with a backpack and iPhone 7 Plus, never tied to my desk again.
But in the meantime, I’m fortunate that I can have a Mac and a few iOS devices. When I go to a conference, I take the iPad Mini and big iPad Pro along with my phone. Because I have those larger devices available, I always want the convenience of carrying the smallest phone when I’m not sitting down to work. The weight and feel of the iPhone SE is perfect.
There’s a point in Federico Viticci’s review where he covers the headphone jack controversy. He hints at a common justification I’ve heard for some of Apple’s decisions, and I think it’s kind of a defeatist attitude that is worth commenting on:
Federico is right, but this fact is exactly why those of us who are passionate about open standards must make a strong case for them. We can’t leave such important decisions only in the hands of big corporations and fickle customers. It’s our responsibility to write about what we believe is best for the web and best for the tech industry.
Spent many hours last week completely derailed from normal work. Proud of the writing I did, so it was worth it. But now it’s Monday again, a natural reset. Ready to move on.
On Friday, Daniel and I recorded and published episode 254 of Core Intuition:
Covering sensitive subjects like Kapeli’a suspension is difficult in a podcast format where you can’t perfectly prepare your thoughts. Did I go too far defending Bogdan Popescu? Did I not go far enough?
Maybe we’ll know with some distance from this topic whether we reacted fairly. But I don’t think I overstated how important a moment this was for the App Store — both Apple’s influence over the narrative and as a test for their power in the store. Unfortunately the story still has a very unsatisfying ending.
Editing this week’s Core Intuition. We dedicate nearly the full hour to the Kapeli situation and its impact on the community and Apple.
Yet more discussion about Kapeli! I need to get back to my real job as a programmer. I think my 2 blog posts this week hold up, though.
Since my post yesterday about what I viewed as the unwarranted smearing of Kapeli’s reputation, I’ve received a lot of good feedback. I’ve also seen many comments from developers who had an incomplete view of the facts. This isn’t surprising, since Apple’s own statement to the press seems to have left out details, either for privacy reasons or to make a stronger case.
I’m not an investigative journalist. I know a lot about what happened, but not everything. I’m not going to try to “get to the bottom” of the truth. Kapeli developer Bogdan Popescu emailed me yesterday after my post had been published, and as tempting as it might have been to ask him more questions, ultimately this is between him and Apple. I’m a blogger and podcaster, so I’d rather stick to the larger themes.
How do we move forward as a community? Two points:
Matt Drance had a series of tweets that get to the heart of how we react as a community. If it turns out that Bogdan did submit fraudulent reviews, then okay. But if Apple eventually reinstates his developer account, I want to be able to say I stood up for his side of the story, even if I risked being wrong.
It’s easy to defend someone who is obviously innocent. It’s harder when they make mistakes, but in areas unrelated to the crime. In that way, this App Store “rejection” is unique. It may be the most important test we’ve seen of Apple’s power in the store.
I’ve been using Dash more and more over the last month, but I realized with all this controversy that I had never actually bothered to pay for the app. Whoops! The trial reminds you every once in a while, but otherwise it’s pretty usable without paying, and I’m lazy.
Kapeli’s iOS revenue has vanished, but the developer still has his direct Mac sales. So I set out to finally buy a copy of the Mac version.
And then during checkout, sending him my name and contact info, I hesitated. Do I trust this developer? Is he trying to do the right thing for customers, as every indication from his public blog posts and tweets about Dash show, or is he a scammer, conducting fraudulent activity in the App Store as Apple accuses?
That’s the damage Apple has done in going to the press and smearing him. They’ve destroyed the goodwill he had in the community from his well-respected app. I always want to give people the benefit of the doubt, yet I hesitated.
At the Çingleton conference in 2013, Christina Warren talked about building a reputation for herself. One of the slides will stick with me for a long time: “All I have is my name,” she said, so she couldn’t risk attaching her name to something she didn’t believe in.
Kapeli developer Bogdan Popescu has made some mistakes. There’s a lot of smoke, but I still believe there’s no fire, no actual fraudulent activity orchestrated by Bogdan himself. That hasn’t stopped Apple from burning his reputation to the ground.
As long as Apple has so much control over app distribution, so much power over an iOS developer’s business and reputation, then Apple’s treatment of and communication with developers has to be perfect. Michael Tsai covers some of the ways Apple mishandled this. The fallout in the developer community has been more severe than is warranted from the incomplete and misleading facts in Apple’s statement.
I finished checking out and paid for Dash. It’s a great app.
Kapeli’s story is important and unique from normal app rejections. Not anything because of API misuse, but an accusation of fraud. It’s extremely serious. Apple has not handled it well.
We know a lot more about Kapeli’s developer account suspension now. Mistakes on both sides, but I rate Apple’s statement to the press: true, but misleading. I stand by what I wrote last week about Apple’s control over the store.
I’ve had Lin-Manuel Miranda singing “never gonna be president now” stuck in my head all day. Feeling good. (Vote early if you can.)
My podcast Timetable is back with a very short episode about doing things for a very long time: timetable.fm
Plotted out how I can port this Sinatra app to Rails, and Ember.js to Turbolinks. Not trivial, but not difficult either. Need to carve out an extra few days this month to get it done.
I wasn’t sure about subscribing to YouTube Red, but it is so nice not to wait through ads. I’ll probably pay when the trial is up. Still see the little “other suggested videos” popups sometimes, though, which I’d also like hidden.
High-profile app rejections aren’t as common as they once were, so it’s even more shocking when an entire developer account is banned from the App Store. Dash from Kapeli ran into this after trying to migrate an account:
Today I called them and they confirmed my account migration went through and that everything is okay as far as they can tell. A few hours ago I received a “Notice of Termination” email, saying that my account was terminated due to fraudulent conduct.
Brent Simmons writes about the lack of transparency and minimal appeal process:
While this is legal, and within Apple’s rights, it’s not what we’ve come to expect from a moral judicial system. No matter what the context, we expect that the accused see the evidence against them, we expect avenues for appeal to be made available, and we expect proportional penalties.
I hope this misunderstanding with Dash will be cleared up soon. But issues like this will never completely go away until Apple separates app distribution from curation. As long as there is a centralized, tightly-controlled system for installing iOS apps, mistakes will happen.
Imagine instead if the App Store worked more like the web. Google dominates search, but they can’t shut down your web site. If you try to game the system, Google can remove you from search and limit your exposure. Likewise, developers should be able to distribute iOS apps with minimal involvement from Apple, yet apps that haven’t passed formal review won’t be searchable without a direct link, won’t ever be featured, and won’t show up in the top 100 lists.
A more open system for app distribution would cleanly solve several problems with the App Store. Apple would be more free to remove clutter from search results without necessarily purging apps from the store. And there would be a natural temporary consequence for suspected fraudulent behavior: simply demote the app, delisting it from search and featured collections.
Apple should focus on highlighting the best apps within a system that lets the app review team make occasional mistakes. There shouldn’t be such an easy toggle that wipes out an indie developer’s business.
We posted Core Intuition episode 253 this morning. From the show notes:
Google must be doing something right with their announcements, because yesterday my son told me he wants to get a Pixel when it’s time to replace his iPhone 5S. And as much as I love our Amazon Echo, I can see Google Home taking off if it’s well-integrated with existing Google services.
Tinkering with CSS on manton.org. Doesn’t make a dime, but it’ll always be my most successful product. 14 years, 1500 posts.
With Twitter acquisition rumors, I’m encouraged by this: not a question of “if” more people will embrace indie microblogging, but when.
Four years ago today, I posted my last tweet from @manton on Twitter. Still feels right to let that account stay frozen.
With a name like Pixel, shouldn’t there be a version of Google’s phone with a screen smaller than 5 inches? Nice that they have a sense of humor about the headphone jack, though.
The hardest transition for fans of Apple Computer from the 1990s is realizing that Apple no longer needs us to defend the company. If I’m sometimes critical of Apple, both here and on Core Intuition, it’s because they’re the largest tech company in the world.
I will always hold Apple to a very high standard of excellence. They’ve earned it. When airline flight attendants tell passengers to turn their Samsung Galaxy Note 7 phones off along with the usual warnings about oxygen masks and life vests, we shrug and laugh because it’s Samsung. From Apple, we expect higher quality and attention to detail, not shortcuts.
Steve Jobs has been gone for 5 years, but the spirit of building insanely great products is well-rooted at Apple. Apple employees are doing incredible, passionate work.
And yet the company itself hardly resembles the struggling computer maker of 20 years ago. Apple is a giant corporation now. Unlike its employees, who have the best intentions, giant corporations are by default selfish, arrogant, and rarely courageous.
Apple does a lot of good for the world. I doubt there’s another company even approaching Apple’s size that does as much, from renewable energy to safer materials to workplace diversity. But that good doesn’t absolve them of criticism.
Hope I don’t jinx it, but I have a good feeling about today. Even though my lazy morning trip to Starbucks backfired when the first stop was out of cold brew iced coffee.
I only took iOS devices with me to Indianapolis last week for Release Notes. My iPad Pro with smart keyboard, for writing and podcasting; an older iPad Mini, for reading on the plane; and of course my iPhone SE.
A couple of months ago, Dan Counsell wrote about the iPad as a poor choice for everyday work:
Part of the issue is that out of the box, the iPad can’t do everything that a Mac can do. The iPad needs apps. As Ben Brooks wrote about Dan’s ZIP file example:
iOS doesn’t have the Mac’s Finder. I could actually see a third-party iOS app centered on file management first, instead of just as an extra feature on top of text documents or photos — an app that blended a little of document providers, iCloud Drive, and app launching. Kind of in the spirit of the Finder-replacement PathFinder.
There are iOS apps to do pretty much anything. What often makes iOS slower to use is there’s less glue between apps and documents than on the Mac. No drag and drop between apps on iOS. Fewer keyboard shortcuts.
I love how Workflow sidestepped these issues with automation. I use a workflow for posting Instagram photos to my own blog. And Federico Viticci uses Workflow extensively. In a recent Club MacStories newsletter he shared how he used Scrivener and Workflow to write and prepare his iOS 10 review.
Another simple workflow I’ve used is to convert a podcast to MP3 from Ferrite. Every episode of Timetable was recorded on the iPhone or iPad. At WWDC, I edited Core Intuition on the iPad with the help of Ferrite and the web app Auphonic, which Jason Snell has also written about:
When I was visiting a new coffee shop every day for 30 days, I loved taking the iPad with me because it was a lightweight, focused writing environment. With the right apps and workflows, it’s a fun computer to work on. I didn’t miss my Mac while traveling last week, and I expect iOS to serve me well on future trips.
Back home after a great week in Indianapolis for Release Notes. We published Core Intuition 252 this morning, talking about the conference, Twitter rumors, and whether subscriptions are right for MarsEdit.
Great to see the Release Notes conference supporting App Camp For Girls again. Anyone can donate: releasenotes.tv/appcamp4girls
Ignored the internet and paced in front of the TV while watching the debate. But I shouldn’t have worried. Hillary was prepared.
Finally saw the new Peanuts movie. Delightfully well-adapted from 2d. Going to complete the animated movie weekend with Laika’s Kubo.
iTunes on the Mac feels like it has finally turned a corner. Pretty lightweight UI now if you use Apple Music and ignore sync and everything else.
A reminder for Mac and iOS folks in Austin: NSDrinking is on for tonight. 8pm at Ginger Man. Also published Core Intuition episode 251 today.
Working a little in Apple’s Motion this week. Really impressed with this app. Reminds me of tinkering with Adobe After Effects back in the classic Mac OS days.
Tuning in to listen to Hillary’s speech today. Great message. How ridiculous is it that we aren’t sure she will win? 50 days, folks.
Sports TV networks cut away when a streaker runs on the field, looking for attention. Time to do that for Trump’s free airtime. Sounds like the media has had enough of being played.
I subscribe to a lot of web applications for my indie business, from hosting to invoicing and reporting services. But I also pay for web content when it’s compelling enough. Here are some web sites with writing and art that I think are worth supporting directly:
New York Times. Still the best reporting on the 2016 presidential campaign. While I usually use RSS for news and blogs, I check the New York Times manually each morning to see what is happening in the world. $10/month.
ESPN Insider. Extra articles to supplement what I read during NBA season. Seemed easy to justify as an expense for my podcast Technical Foul with Ben Thompson. Also comes with the ESPN print magazine. $39/year.
Club MacStories. I’ve enjoyed reading MacStories for years, and the club subscription adds a bunch of great content in a weekly newsletter. You also get occasional book downloads such as for Federico Viticci’s new epic iOS 10 review. $5/month.
Six Colors. Jason Snell wasted no time after leaving Macworld. Seemingly overnight, Six Colors has become an important site for Apple fans. Jason and Dan Moren talk informally about current work, travel, writing, and tools on their secret podcast for subscribers. There’s also a monthly email magazine. $6/month.
Stratechery. Thoughtful analysis of current news and trends from Ben Thompson, delivered Monday through Thursday via email or RSS for subscribers. Great depth to stories about tech company business models and where the industry is going. Helps pay for his NBA League Pass subscription. $10/month.
Craft. An archive of sketches, rough animation, and preproduction artwork from animated films. It’s like an expanded version of behind-the-scenes DVD extras and art books. Initially subscribed for the rough animation for the beautiful film Song of the Sea. $6/month.
Before the web dominated all publishing, it was normal to pay for the newspaper and maybe a few print magazines. Then we entered a period where everything had to be free. Now, paying for content is useful again. The sites above have figured something out about building an audience and creating good content.
Just posted episode 250 of Core Intuition. Daniel and I talk about iPhone 7 buying decisions, whether products should ship with defects (jet black), iMessage in iOS 10, and old Mac OS X windows and controls.
Wild yet totally believable story from Penny Kim about how she moved from Texas to California to join a startup. It’s got mismanagement, office politics, money problems, lies, and even faked wire transfer receipts:
Although she tried to keep the company name hidden, it was revealed by others later. See this Hacker News thread and article at Business Insider.
It is hard to run a small company that isn’t quite profitable, balancing the ups and downs of revenue and the timing of new investments. When I was much younger, I could probably be sympathetic to a company that was honest and transparent about a rare late paycheck or reimbursement. But Penny Kim’s startup story is much worse than that; it’s a perfect example of how not to handle leadership mistakes.
I’ve been doing Ruby on Rails work again. Although my indie web projects are all Sinatra, I generally recommend to clients that Rails is the way to go. Rails will be easier for them if someone else ever needs to take over the project.
I don’t like using 2 products that do the same thing, though. That’s why I consolidated my web app hosting to Linode, and my source code to GitHub. Why should I switch between 2 frameworks, especially since Rails has matured so well? I’m enjoying Rails 5.
David Heinemeier Hansson said in an interview on Slashdot, about the rise of JavaScript front-end frameworks:
It struck home because I’ve had some regrets with choosing Ember.js for my new app. Part of that is my own lack of experience with the framework. But also I’m no longer convinced that the heavily JavaScript-based view layout of something like Ember.js is better than Turbolinks, for example. I plan to rewrite my app in Rails and more classic Ajax at the earliest opportunity.
Ten years ago today, I published a podcast episode about San Francisco. I had recorded a bunch of sounds while visiting San Francisco, then edited it together with other audio and added narration. Brings back memories listening to it again.
Apple’s vision for the future is wireless audio. Yesterday they also released Beats EP headphones with a 3.5mm cable. The future is far off.
Just posted episode 249 of Core Intuition with our reaction from today’s Apple event. Spoiler: I love Mario and hate Lightning headphones. We also discuss the upcoming App Store cleanup.
Not convinced by Apple’s spin on Lightning-only audio. But I’m glad they include the adapter in every box. I blogged a couple months ago that they should to this.
Apple Watch series 2 looks like a solid upgrade. I’ll skip this generation, though. Still use my original Apple Watch every day and love it.
Can’t really overstate how big this Mario on iPhone announcement is. I never thought we’d see this. And brilliantly doesn’t obsolete owning Nintendo hardware for a more traditional, non-runner Mario game.
1 hour until the Apple event. Getting a bunch of server work done as I try to ignore anything Apple-related before it starts. I’ll be watching on the Apple TV and following the Six Colors live coverage.
Nice to see some data that confirms assumptions about how well the iPhone SE is doing. Top 3 in the United States: iPhone 6S at 11%, Galaxy S7 at 9%, and SE at 5%.
Dan Moren had an article at Macworld last week about the price for iCloud storage. Most iPhone users quickly run out of space for a backup, but they don’t use iTunes either because iCloud is just much simpler:
It was 5 years ago that Steve Jobs introduced iCloud and talked about demoting the computer from the central hub:
I use iCloud backup exclusively, with only the occasional manual iTunes backup when I know I’m going to immediately restore from it, such as when upgrading to a new iPhone. I expect most new iPhone users rarely sync with iTunes, relegating iTunes to a playback app for their iTunes rentals and Apple Music subscription, but not much else.
That’s certainly the case for my family, at least. After some lost photos recently, I told the kids I would bump their allowance by $1 to cover everyone having at least 50 GB of iCloud storage. No more excuses.
Maybe it should be free, as Dan Moren argues above. Or maybe Apple could encourage upgrades by bundling extra iCloud storage with Apple Music and other popular services. But even today, at 99 cents, it’s a small price to pay for cloud backup that you never have to think about.
David Smith has an analysis of long names in the App Store, as developers try to understand the scope of Apple’s upcoming cleanup changes. Don’t miss the text file of 255-character names he found, which are all ridiculous. I’d laugh if this kind of gaming of the store didn’t make me sad.
I’ve always thought that the title shown in the App Store should be the actual app name. Keyword spamming is clearly bad, but I personally don’t like even tag lines in the name. Of the 4 apps from my company Riverfold that have been in the App Store, the names in the store all exactly match what is shown on your home screen:
Maybe my sales suffered because of my refusal to add more words after the real name, but to me, these names are pure and gimmick-free. I don’t want my customers subjected to a truncated mess of words even before they use my app.
If tag lines and brief descriptions in the App Store name are so common (and they are), then Apple should complement the new 50-character limit by having a separate 1-line description field in search results. This was discussed on the latest episode of Release Notes. My worry is that Apple attempts to fight problems with new policy alone instead of also encouraging the right behavior with App Store features.
I’m in favor of Apple’s upcoming app store cleanup, as long as they err on the side of keeping an app in the store if it isn’t clearly broken or abandoned. They should start slow with the obvious cases: crashing on launch, not updated for retina or even 4-inch screens. There’s a lot of low-hanging fruit that could be programmatically swept through.
David Smith wrote about this kind of App Store cleanup over 3 years ago, arguing that Apple could do a lot without getting into the subjective quality of an app:
John Voorhees picked up on the urgency of Apple’s new policy for an article at MacStories:
It remains a challenge to preserve the part of our culture that is captured in old apps. I wish Apple could aggressively curate the App Store and allow old apps to be archived and available. But that’s far from an Apple priority. For now, it’s right to present the best possible user experience for App Store customers.
This week on Core Intuition, Daniel and I talked about recent Apple news:
I wondered whether Apple is so obsessed with privacy that they are blinded to what is possible with more computation and extensibility in the cloud. I judge their efforts not only by the remarkable work the Siri team has done, and by what Google and Amazon are building, but also by Apple’s own gold standard: the Knowledge Navigator video from 1987. That vision is too ambitious for one company to develop all the pieces for. We eventually need a more open Siri platform to get us there.
I still use and recommend GitHub Issues. I use GitHub for all code, so it’s nice to have everything in one place. And I appreciate that they’ve resisted “improving” it with a bunch of features.
One year ago today, I posted the first screenshots of Snippets.today for iPhone. I never would’ve guessed that a year later I’d still be working on the beta, still not quite ready to ship.
One theme from that post a year ago is even more true today, though. To succeed I need to not just announce and market the product, but tell a story about why it matters. This realization is what has held up the Kickstarter video for so long. It doesn’t need to be perfect — I’m sure it will be flawed in a few ways — but it needs to be right, in that it should frame the idea of independent microblogging correctly.
More from that post last year:
I still feel that risk. A long-overdue product is difficult to push forward, the weight starting to carry as much burden as potential. And everywhere I look there’s a new excuse to procrastinate.
Everyone who builds blogging software should have a blog. Everyone who builds podcasting software should probably have a podcast, too. (And sometimes, like for Marco Arment, even a few podcasts.)
So I was happy to see Supertop start a podcast recently to talk about the Castro 2 launch and other thoughts on being a 2-person indie shop. Episode 3 features Brent Simmons:
One subject I’m glad they touched on is the special challenge for a company that needs to support multiple salaries, but isn’t big enough yet to actually have significant revenue like a large company. Last week, Daniel and I talked about the balance of loving being independent but also knowing that one day you want to expand to support a small team. It’s not easy.
“Apple follows the law and pays all of the taxes we owe wherever we operate.” Unfortunately reminds me of this, from Trump: “I fight very hard to pay as little tax as possible.”
Doing a bunch of Bootstrap and Rails work this week, went back to using Dash for quick reference. Helps to get documentation into another app and out of Safari tabs.
Core Intuition 247 covers so-called lifestyle businesses, extended vacations, and the challenge of making a living as an indie.
For a long time, I’ve struggled with having important email archived in one place. I’ve switched between several clients over the years, from Eudora and Mailsmith and even Cyberdog, in the very early Mac days, to more recently the fairly reliable Apple Mail. Yet I still occasionally lose old email when switching between machines and not handling the migration properly.
Last year I set out to fix this. While I didn’t do an exhaustive search of archiving options, the main solutions I considered were:
I’ve settled into a pretty basic workflow of using Evernote to save any email that looks moderately valuable. This is usually a handful of messages each day, not every email I receive or send. By picking and choosing what gets archived, I can ignore everything else, letting it sit in Mail’s archive indefinitely or deleting it.
Here’s an AppleScript I currently trigger in Mail for any selected message I want to archive. It’s set to command-shift-S via FastScripts. If I’m away from my Mac, or I want to preserve HTML and inline attachments, I can save an email by forwarding it to a special Evernote email address. (I also pay for Evernote Premium.)
Now that I’m about a year and thousands of archived messages into this setup, I’m declaring it a success. I plan to continue using Evernote in this way for years to come. Let’s just hope they’re on the right track with their own business.
Finally cancelled the cloud backup products I never used, and switched to Arq + Amazon Cloud Drive. This is how I do a remote backup of my Drobo. One day I’ll have a big enough MacBook drive where I can just have everything local and synced to Dropbox (still have a 2 TB plan there).
NSDrinking is on for tomorrow, 8pm at Radio Coffee & Beer. Come chat about Mac/iOS development over a coffee or beer (or tacos).
We published Core Intuition 246 tonight. Daniel and I talk about vacations and work in the summer, macOS Sierra betas, and why I’m redoing my Kickstarter project again.
Basecamp 3.2 for iOS has a beautiful “what’s new” page by Jason Zimdars. I love how Basecamp frequently uses hand-drawn art for their product marketing pages and podcast. This one was done in Procreate on the iPad Pro + Pencil.
I’m watching Spain vs. France basketball right now, and later today is Argentina vs. the United States. No question the United States are the favorites for gold, but there are some really good teams, most with great NBA players.
From the double-overtime win by Argentina a few days ago, to Boris Diaw sipping an espresso in his room, I’ve been more engaged in following basketball at the Olympics than usual. And I love that so many Spurs players are everywhere.
Spain has Pau Gasol; Argentina has Manu Ginobili, who helped defeat the United States in 2004; Australia has Patty Mills; and France has Tony Parker. Gives me something to root for throughout the tournament.
DevMate surveyed 679 Mac developers to put together a report on who is using the Mac App Store vs. selling direct, what concerns developers have, which tools they use, and more. On why developers leave the Mac App Store:
While sandboxing does show up on the complaint list, it’s ranked low as a reason to not use the Mac App Store, even though it was why I pulled my app Clipstart from the Mac App Store 4 years ago. And not much has changed since I wrote about Sketch and other apps leaving the Mac App Store last year.
For anyone who has been following blog posts and conference talks about the Mac App Store, there won’t be many surprises in this new survey, but I found the details interesting. The survey appears to be a good snapshot of how the Mac community is feeling about selling software.
Dogs barking at 6am, so took the opportunity to wake up early and get a few hours of coding in before the day really started. Finally cracked a couple bugs that needed significant time in the Xcode debugger.
Amazing double-OT win by Argentina over Brazil. These close games — including USA’s 3-point win yesterday — have me hopeful for some great matchups later in the Olympics.
I’m a Hillary Clinton supporter. I was in 2008, I was earlier this year, and absolutely I am now, as Donald Trump seems intent with each daily blunder to prove he’s the worst candidate the Republicans have fielded in quite some time.
Having said that, even leaving the politics aside, I think the new podcast “With her” from the Hillary campaign is fantastic. It’s exactly what a podcast should be: well-produced, yet informal, with just enough of a look behind the scenes to feel personal. You can subscribe in Overcast or iTunes.
I’ve written about IPFS before, but Solid (from Tim Berners-Lee himself, among other MIT folks) is another new proposal for a more distributed web. I wasn’t familiar with it until reading this article at Digital Trends, which first makes the case for independent content vs. the big centralized platforms:
The article continues with the types of data you might share in a Solid application:
One of the showcase applications is called Client-Integrated Micro-Blogging Architecture, surely named mostly for its pronounceable acronym. From the CIMBA project site:
Solid and CIMBA are built on the Linked Data Platform, which in turn is based off of RDF. I’m admittedly biased against RDF, because it often brings with it an immediate sense of over-engineering — too abstracted, solving too many problems at once. I’m glad to see this activity around a distributed web, and I’ll be following Solid, but I also continue to believe that the simple microformats and APIs from the IndieWebCamp are the best place to start.
AUS/USA basketball game at the Olympics right now shaping up to be a good one. Australia up 5 points at the half. 3-pointers: Patty Mills 4-4, Carmelo 5-7.
Trump’s “2nd amendment people” comment seems like it could blow up much more than previous off-script blunders. Reading the text of his speech in context, and listening to it, multiple times… It’s clear what he meant. Terrible.
Posted Core Intuition 244. Daniel and I talk this week about Twitter verification, content filtering on social networks, and a 10-year challenge to become a successful indie developer.
Finished some server consolidation that cut about $100 off my hosting bill compared to a couple months ago. Next up: cancel cloud backup services I don’t actually use.
Erik Person wants to prove Marco Arment’s claim that indie success just requires working hard for 10 years:
In a follow-up post, 6 months later:
I’ve subscribed to Erik’s blog and look forward to following his progress. I hope he blogs more often about how it’s going. If you look at Marco’s blog even 5 years ago, he was usually blogging every day. (By the way, “blog more often” is my advice to nearly everyone, including myself.)
Taking my time reading Harry Potter and the Cursed Child. Really like the format… If they’ve been able to capture this on stage, seeing it live must be great.
Reloading news web sites multiple times a day, I’ve had to blacklist the New York Times, Talking Points Memo, CNN, and a few others, to force myself to focus on real work. I’ll check on election news once a day and then use SelfControl to shut everything off.
One year ago, I celebrated my first day without a boss. I had just written 2 weeks of daily blog posts about wrapping up work after 14 years at the same company. Today, I’m wearing the same Mac t-shirt and working from Whole Foods again to mark the anniversary.
So how has it gone, a full year as an independent developer? It depends who you ask. While I was leaving the best day job I’ll ever have, there’s still no substitute for the flexibility and freedom to work on my own projects. From that perspective, the last year has been amazing, with some great success on new revenue from Core Intuition and contracting too.
And I made a few decisions early on with how to manage the business that have proven useful to smooth over the bumps. For example, I pay myself a fixed salary on the 1st day of each month, and for 12 months straight I’ve always met that goal. This month, I gave myself a small raise.
On the other hand, I’m still bringing in less money than when I had a real job, and my wife might say that there’s a fine line between being self-employed and unemployed. We’ve let our credit card debt go unchecked. There’s been no slack in the high monthly expenses of the house, car payments, business costs like hosting, and everything else. My income from Riverfold has grown significantly, but not significantly enough.
Yet, I’m upbeat. I’m upbeat because of the potential for what I set out to do a year ago: ship Snippets.today and help revolutionize independent microblogging. That’s still the plan. That’s still why this experiment of working for myself is in its very early stages, even a year later.
John Gruber has an article outlining the 5 (or 6) most likely options for what headphones Apple should include with the new Lightning-only iPhone. His hope is on wireless:
Maybe. I’m not in any hurry to see a Bluetooth-dominated headphone world, and I’m not sure Apple Support is either. Wired headphones work every single time you plug them in.
As Gruber points out, wireless headphones are also an upsell opportunity. While cheap Bluetooth headphones can be found, Apple’s Beats are $100 more expensive for wireless. Seems like this extra cost would unnecessarily eat into their margins.
Of course, I have no idea what Apple will do. I just know what I think they should do.
Apple should include Lightning ear buds in the box, and an adapter for older headphones. I don’t expect they will do this forever — the first year would be enough. But this small gesture of including an adapter would mostly erase the negative reviews and user frustration for Apple’s biggest repeat customers: not me, because I intend to keep my iPhone SE for a while, but for everyone who buys a new iPhone each year.
Removing the 3.5mm headphone jack will be the first time Apple has removed a major feature on the iPhone. They can spin Lightning as an improvement all they want; customers with existing headphones will be annoyed. Including an adapter would minimize the inconvenience at launch, without locking Apple in to any long-term technical compromise.
Reflecting on the convention, Democrats really pulled off an incredible week. Both a progressive platform and a patriotic theme. And Trump is playing right into their hands: Hillary’s “Stronger together” slogan was revealed weeks before Trump’s “I alone can fix it”.
Watching the DNC roll call vote, and negativity from the disruptions yesterday are starting to fade away. Democracy is pretty great.
Reading a lot of political coverage lately, finally got tired of the New York Times paywall and subscribed. If I pay for tech blogs and ESPN Insider, might as well pay for “real” news too.
Only the most hardcore Bernie supporters are at the convention. The delegates on the floor still want a contested convention, going against Bernie’s own wishes, and they don’t represent most supporters.
The Democratic National Convention starts today and the latest round of polls are out. FiveThirtyEight’s polls-only estimate of the election now shows Trump in the lead. Just in case you think we can not vote or not volunteer, and Hillary will coast to a win anyway… we can’t.
As a long-time Hillary supporter — I recorded a podcast episode about the primary process back in 2008, which I’m still very proud of — I’m increasingly frustrated to realize how much damage has been done with the constant attacks against her character over 20 years. She’s held to a different standard of perfection than everyone else. But she’s a very good candidate and fundamentally honest.
Let’s not forget how historic this election is. From a New York Times profile by Gail Collins:
If Hillary wins, future generations will grow up learning about how Republicans (and even some Democrats) threw everything at her for decades, and she never gave up on politics. Success isn’t just the best ideas, the best product, the best marketing. Success is perseverance.
There are many people alive today who were born before women had the right to vote. Trump is wrong about what makes America “great”. The country is great because it is progressive, even if progress takes a long time. Electing the first woman president isn’t supposed to be easy. Hillary is a strong Democrat, and her place in history is worth fighting for and celebrating.
Dave Winer wants an open alternative to Twitter:
John Biesnecker, reading Dave’s post, suggested XMPP because it’s an open standard and federated. But as great as XMPP is for messaging, it seems too different from the web; it would be like starting over. The nice thing about building on independent microblogs is that we can leverage the existing open web infrastructure: all the WordPress installs, RSS feeds, and new work from the IndieWebCamp.
That’s what I’ve tried to do for Snippets.today. Learn from the UI innovations of Twitter — the fast timeline experience, the effortless posting — but without skipping the important first step of independent web publishing.
From the show notes for today’s episode:
Believe it or not, I was kind of holding back a little in my Swift ranting. But it was the most critical I’ve been on the show. And it’s totally okay for you to disagree! Maybe even good for the platform if you do.
I agree with Dave Winer’s summary of day 2 of the Republican convention:
History will reflect poorly on the Republicans of 2016. And nearly as bad, while flipping through national TV networks last night, I saw little or no condemnation from the news. Maybe we need a multi-party system just so the GOP stops getting 50% of the air-time.
I called it a mob last night. The only good news: the arena seemed literally half empty.
Stunning to watch the GOP convention turn into a mob tonight as Chris Christie spoke. I wonder how many undecided voters they scared off.
Not shocked that Swift classes won’t be subclassable by default. But it underscores Swift’s priorities. And for that reason, I’m out.
Backed the new Glif on Kickstarter. Love the idea of multiple tripod mounts. Also some nice shots of Austin in the Kickstarter video. (Hoping for a new episode of Thoroughly Considered this month with more backstory on the project.)
I’ve settled into a new work routine this summer at a co-working place. But after working at home for over 15 years, spending time with family and enjoying a flexible schedule, I’m not going to completely throw that out for a daily commute. Also, despite trying several options for parking or taking the train, I seem unable to shake the extra cost of just being downtown.
For 2-3 days a week, it’s worth it. Whether half days or all day, this time away from the house lets me focus uninterrupted. It doesn’t hurt that they have cold-brew coffee on tap, either.
The right balance of working from home or out of the house is different for everyone. James Glazebrook, writing for Basecamp, says that co-working doesn’t work for him, but that it might for you:
I’d add to his list: you might have kids at home who open your office door whenever they want. My home office is currently shared with anyone who wants to use the extra iMac or printer, and the kids often need rides to appointments, camps, and friends. For me, summer is the most important time to get a more formal schedule.
Focusing in that way actually frees up the rest of the week, letting me spend time away from work without the nagging stress that I’m not being productive enough. It’s widely understand that no programmer can be productive 8 hours a day, 5 days a week. Instead, limited runs of about 4 hours of work are perfect for me, and it doesn’t have to be every day. Co-working is just solid time that I can count on to move my projects forward.
Dave Winer has a good comment for anyone questioning the web:
Nothing is certain in business. For every success, there are many “sure thing” failures.
I posed a question on this week’s Core Intuition as we were talking about Automattic’s upcoming .blog domain name registration. The gist of it was: what is more likely to survive for the next 50 years, Twitter or .blog? Twitter is huge, dominating the news and seemingly unstoppable, but social networks don’t have a great track record. I’d put my money on a new top-level domain, both because of the vision of empowering users to control their own content and also because domains were designed to last.
Companies aren’t exactly designed to fail. But that is their default outcome.
Earlier this week I sent an email to subscribers of the announce list for my microblogging project. These are people who signed up, wanting to hear more about what the project was and when the beta would be available.
I talked about this on Core Intuition 241 today. Some people signed up a year ago, and the longer I went without sending an email, the more nervous I became that I was missing an opportunity to sustain interest in the project. I was stuck on the idea that the first email to the list had to be when there was a product to either test or pay for.
These decisions of when to release a product, what to write about, how to communicate new ideas without overwhelming potential customers — they seem so monumental, but the truth is it just doesn’t matter that much. When the feedback started rolling in over email, I quickly realized that I was worried for nothing. People were excited and supportive.
I have a lot of work to do over the next couple of weeks before it’s ready to open up to real users. As I’ve talked about a few times on my Timetable podcast, I’m planning a Kickstarter project to complement the web app. I’ll be sharing more soon.
On the latest Core Int, we talk about Pokémon, building a brand, Mickey Mouse, pre-announcing my microblog product, the open web, and more.
I’m sure you can download these games on the Wii’s Virtual Console, but I want the NES Classic anyway. Convenience + old-school NES controllers is a win. We already have one of these for Pac-Man games too and the kids love it.
Taking the train downtown to work today. Pretty sure if I stayed home I’d be watching ESPN all day and reloading news sites about Tim Duncan. Just gotta avoid searching Twitter hashtags.
This photo I took a few months ago is worth a re-post. Happy to have been able to see Tim in the finals and playoffs the last few years. I should’ve gone to more games, especially earlier in his career.
Tim Duncan retiring. One of the all-time greats. And he went out with a strong game: 19 points on 50% shooting, and the best +/- of anyone on the Spurs in game 6, nearly coming back to beat OKC. Congratulations on an amazing career.
Maciej Cegłowski of Pinboard has always been open about his stats for the service. Now, on the 7th anniversary, he also shares that revenue has grown to well over $200k/year:
Congrats to Maciej on his success. I’ve been a happy Pinboard user for pretty much all of those 7 years, and — as someone who also aspires to build a profitable web platform — I’m inspired by Pinboard’s consistency and growth.
Speaking of 6-figure income, I’ve also just finished reading Shawn Blanc’s write-up about launching The Focus Course, which had first-week revenue of over $100k. He describes the planning process and his strategy for using a mailing list to build awareness about the product.
Matt Mullenweg comments on whether choosing Medium is a good long-term bet:
10% chance of going out of business compares poorly to Matt’s Automattic itself, which as I’ve written about before is one of only a couple web publishing companies that I think could last 100 years. If your goal is to write something that many people can read for years to come, why risk it on an uncertain platform?
There’s a longer video interview with Matt from WordCamp Europe last month, where he goes into more detail on the role of Medium and WordPress. Highly recommended if you’re interested in the open web, or just curious how progress is made in the WordPress community.
Warriors going all-in on “small ball” for next year. Durant might be their tallest player. Throwing away half their bench. They’re beatable.
It hurts to lose Diaw, Boban, and West. But there is a lot to look forward to for the Spurs. Dejounte Murray impressed everyone last night.
Think I’ll pre-announce my microblog platform before the Kickstarter is ready. If you’re interested, last chance to sign up on the announce list today.
Just noticed this blog post from Fabian Steeg on the value of personal domain names:
Strongly agree with this. Having your own domain will future-proof everything you publish.
Just published Core Intuition episode 240. We talk more about travel, taking a break from coding, marketing with Kickstarter, and the iOS 10 beta APIs.
I didn’t post as much as I hoped to during WWDC 2016 — just a couple full posts related to the conference, a half dozen microblog posts, and one photo. But nevertheless I wanted to collect them together since I didn’t have a full wrap-up post like last year.
One of the advantages to hosting my own short posts — and only cross-posting to Twitter as an afterthought, not the primary location — is that I can easily tag all the posts in a series. This worked out really well while visiting coffee shops earlier this year.
For WWDC, I’ve used the tag #wwdc2016. I probably won’t go back to tag previous conferences, but I’ll use this format going forward for attending events where I publish a series of microblog posts and photos.
If you were to build a weblog publishing system, would you start from scratch or build on an existing tool? There’s a healthy market for WordPress-powered hosting, for example, from WordPress.com itself to WP Engine. People know and trust these tools.
I was faced with this question for my microblogging platform. My requirements were pretty simple:
Jekyll looked like a great choice. I’m so happy with how well this has worked that I mention Jekyll in the marketing and footer of published sites. It’s a brand that can help give users confidence that this is built on something solid, and that if they need to migrate to self-hosted, there’s a path.
On top of Jekyll, I built a web interface for publishing and deleting posts, changing themes, and I added XML-RPC support so that you can use external blog editors like MarsEdit. Plus there’s a native iPhone app for posting.
All of this enables another feature that I’m very excited about: full mirroring to GitHub Pages. When you publish a microblog site, you can have it upload all the Markdown and HTML to a GitHub repository. This is a great way to export or mirror your content.
I think it’s a good foundation. Publishing is actually a small part of the overall microblog platform I’ve built, but it’s an important one. I can’t wait to share more and keep building features up around Jekyll.
I’m writing a short e-book about everything I’ve learned, and I’ll have news soon about early access to the platform. You should sign up on the announce mailing list before next week.
Rumor that Ray Allen is considering a return to the NBA and that the Spurs are in the top few teams he would join… I don’t know. San Antonio is a welcoming town, but difficult to ever forget that game 6 shot a few years ago.
“Sick and tired of hearing about your damn emails.” — FBI Director James Comey. (Not really. But I’m glad this is over.)
Good news with Pau Gasol, but it’s bittersweet if the Spurs lose both Tim Duncan and Boris Diaw. Rooting for Diaw and Tony Parker this week to qualify France for the Olympics.
Didn’t expect I’d spend July 4th reloading NBA news sites. But after an incredible fireworks show in the neighborhood last night, feels a little like July 5th right now. Getting some design/marketing work done on my long-delayed microblog platform.
Kevin Durant to the Warriors. We knew there was a chance, but I’m still surprised. Hopefully we’ll get the Spurs vs. Warriors western conference finals I had wanted this year.
Back from camping, catching up on email and basketball news today. We also published episode 10 of Technical Foul to wrap up the NBA finals. And still more basketball to watch: Summer League, WNBA, and the Olympics.
Core Int 239 is out. We talk about Daniel’s trip, my server problems, iOS 10 betas, and the headphone jack.
The only silver lining to having to take a server offline — when a few services depend on it — is that I might as well upgrade a couple other servers while I’m at it.
I had been ignoring a lingering problem on one of my servers for the last few weeks, and this morning it came back to bite me. Apologies for the downtime to Tweet Marker and other services. Hoping to get everything back online soon.
Busy day. Finished editing Core Intuition this morning but forgot to post it! Episode 238 is out now. We talk about recording at WWDC, installing beta OS releases, and more about coworking.
Very excited for game 7. And just in time, a new Technical Foul is up — a quick 20-minute episode on being in Oakland for game 5 and our latest thoughts on the series.
Thought I’d try Xcode 8 with one of my current projects, then quickly reconsidered in the face of Swift 3.0 syntax errors. Probably going to sit out some of these early betas.
I’m back from San Francisco, catching up on everything I missed while traveling. I recorded a few podcast episodes during WWDC week, both my own and an interview.
On Core Intuition, Daniel and I talked right after the keynote about the morning’s announcements. From the show notes:
In the middle of the week, I talked with John Voorhees of MacStories about WWDC news but also a lot about microblogging. It may be the most I’ve shared about my latest project, all in one place.
Yesterday, I recorded a short episode of Timetable. I wanted to capture what the trip to San Francisco each year means to me, outside of the conference itself. I find the week a good opportunity to reset and think about where my focus should be across my projects.
Wandering around the Financial District to find the Transamerica Redwood Park. Beautiful spot to take a break from thinking about new iOS APIs.
Recording from San Francisco entirely on iOS didn’t go exactly according to plan, but we published episode 237 of Core Int. We’ll follow up next week on whatever we missed.
Thought I could edit Core Intuition real quick before grabbing lunch and then heading to the game in Oakland, but it’s not realistic. Good news is that in attempting to, I checked out the WeWork space on Market to work for a little while. We’ll get the WWDC episode out sometime in the morning.
I would’ve been happy just with the watchOS and macOS (!) changes, so pretty great to see all the new iOS APIs. About to record an episode of Core Intuition.
Big news day already and WWDC hasn’t even started. LinkedIn acquired by Microsoft, Storehouse shutting down… I’m at AltConf for the morning and looking forward to the keynote.
Beautiful day at The Presidio. I’m here to check out the Pinocchio exhibit at the Walt Disney Family Museum and stumbled on to the Off the Grid Picnic with a bunch of food trucks.
I’ll be in San Francisco for WWDC, although as usual in recent years I won’t be staying all week. While out there I’ll be attending AltConf and other events, recording a podcast or two, and catching up on some writing.
I probably should take my MacBook Pro to code on projects, but I never have time. And I’ve been working so much lately, I probably need a break from Xcode for a few days. So I’m going to travel light this time and only take my iPad Pro with me.
I used my iPad Pro often when working from coffee shops and libraries earlier this year. I think I have a pretty good sense of what I’m productive with on it. iPhone and Mac app coding is out, but email, chat, writing blog posts, and even light web site maintenance are all fine, and those are the kind of things I do while traveling.
That leaves podcast recording as the only question mark, but actually I’ve recorded every episode of Timetable using my iPhone specifically so that I could get used to recording away from my office. I wrote a few months ago about my microphone for Timetable. I’ll do the same thing when Daniel and I record our WWDC thoughts after the keynote, with editing on the iPad Pro.
I’m excited about the conference. I’m looking forward to catching up with folks, the news from Apple, and — because I won’t even have my laptop — a bit of a break from the stress of thinking I should be programming.
Most developers hope we get a Siri API, but I’m not sure they agree on what that means. It could be a native SDK or it could be a web-based API more like Alexa Skills. The latter seems to better complement Apple’s weakness in services.
Jason Snell closed his first take on App Store subscriptions with a question about iPhone app maintenance vs. web services maintenance:
As I wrote about in my post yesterday, users can more easily see the hosting costs for a web service. They’ve been trained by a decade of paying for web subscriptions. Maintenance for the app itself has some differences.
Think about how costs scale if an app becomes popular. A web service becomes expensive to run, often thousands of dollars each month. You could say that a developer’s time for app maintenance is also thousands of dollars, but it’s essentially fixed. Outside of customer support costs, the incremental cost to a developer for an app doesn’t increase in the same way it does for scaling a backend service.
I hate that Apple has the power to reject our business model for a potential app. I’m now leaning more to the idea that Apple should approve nearly everything and let customers decide on the value. But there is a difference between maintenance of an app vs. a web service, and the services that are clearly appropriate for subscriptions will be the most successful apps using this new model.
The Iconfactory’s BitCam is so well done. Makes me smile. Don’t forget to scroll through the about box.
We published Core Intuition episode 236 today, discussing the recent App Store announcements and a listener question about offices. We wrap up with plans for WWDC.
There has been a lot of great blog posts and podcast episodes already on the App Store subscription change. I listened to Under the Radar 31 and the Release Notes special edition today and recommend both. The most confusion seems to be around what kind of apps are appropriate for subscriptions, where by “appropriate” I mean “what Apple will approve”.
John Gruber also follows up at Daring Fireball on this question:
As I mention on Core Intuition, apps that have a backend service with obvious hosting and maintenance costs — a music streaming service, an invoicing web app, or a blogging platform, for example — are easier for users to understand as needing to be subscriptions. Twitter apps are an interesting example because some are pure clients to Twitter’s backend, but many increasingly have their own app-specific services like timeline syncing or push notifications.
For years Apple has allowed apps to use auto-renewing subscriptions. I had an iPhone app and companion web service that was approved by Apple for auto-renewing subscriptions, after I made the case for the service as a “cloud” archive. From section 11.15 of the App Store review guidelines:
From my experience and listening to other developers, I’ve had the impression for a while that Apple would essentially reject most auto-renewing app submissions by default. While we still don’t know what “all categories” means in the new announcement, I expect it means that there will no longer be a kind of blanket rejection. Apple will still reject many apps as poorly suited for subscriptions, though, and maybe that’s okay for now.
(I’m conflicted on this point. John Gruber’s suggestion to approve everything and let the market decide is compelling and fits better with my instinct that the control should be in developers' hands.)
“Subscription fatigue” is a real thing that I’ll occasionally hear from customers about. No one wants to pay $1/month to 40 different apps and services; it feels like a burden in a way that paying the same total price to just two apps at $20/month does not. Nevertheless, subscriptions are very powerful. Everything I’ve done over the last few years is to position myself to eventually have a recurring-revenue success.
California: don’t forget to vote today. Throughout the primaries I’ve made small ($5) donations to Hillary’s campaign to mark milestones, like last night clinching the nomination. But there are many, many delegates up for grabs today. Let’s wrap this up and unite behind the nominee.
Now that I’ve mastered having an expensive gym membership that I never use, going to move on to having a co-working place I never work at.
Just posted Core Intuition 235. I thought we’d skip talking about Swift this week, but we got into it anyway. Plus WWDC travel and predictions.
Tried Luxe yesterday instead of parking downtown for lunch. Worked great. I could get used to this… along with Uber, Instacart, Amazon Prime Now, etc.
Interesting Swift web server article comparing Vapor, which I tested last week, to other web server frameworks:
There is some further discussion from fans of other languages in the comments. Overall I think the article was fair. I’m not sure about the focus on “crashing”, though. This seems like a carryover from pro-Swift arguments on the desktop or mobile, and it has less relevance on the web.
For some web apps, it might be fine to throw an exception on bad input data, since it’s caught automatically and returned as a 500 error. I wouldn’t call that a crash anymore than I would call it a crash for a Mac app to present a generic error dialog on unexpected errors.
Finals game 1 tonight! We published Technical Foul episode 7 — “Regression to the Mean” — wrapping up the conference finals, what worked for the Warriors, and predictions for Cleveland vs. Golden State.
It’s 2 weeks before WWDC, which means it was also 8 years ago that we published the first episode of Core Intuition. At WWDC that year, Apple showed off iPhone OS 2.0, MobileMe, and the iPhone 3G. The yearly cycle of improvements to the OS and hardware don’t look much different today, but Apple keeps rolling, and so the total changes since 2008 are massive.
For as many years as I’ve been out to San Francisco for WWDC (and to San Jose before then), each year I have fewer expectations for the conference itself. Some years I don’t even bother guessing or dreaming about new features — I have no pressing needs, no critical missing APIs, no questions to ask Apple engineers in the labs — and I’m happily surprised by whatever Apple gives us.
This year is a little different. It’s the first year that I can remember since the Mac OS X 10.0 and 10.1 releases where an Apple platform needed significant performance improvements to be usable for anyone except early adopters. The first couple versions of Apple Watch were ambitious on features, but now it’s time to do the less glamorous work of making the platform fast. I hope watchOS 3.0 will be the same kind of milestone that Mac OS X 10.2 was in that regard. (And like Mac OS X, I hope it can be done mostly in new software.)
Back to WWDC the conference. I’m still thinking about the interesting venue change for Monday to the Bill Graham Civic Auditorium.
In the discussion on Core Intuition 229 last month, I kept coming back to the idea that this change has to be about growing the conference to allow more developers. Since more people show up on Monday (press and business folks, for example, who have less interest in the technical sessions or labs), you could have a bigger space on Monday and then oversell the conference as a whole, knowing that some ticket holders wouldn’t be around later in the week back at Moscone West.
Maybe that creates more problems than it solves because of packed rooms and long lines to get into sessions, though. Now that I’ve had a while to think about it, it seems unlikely that Apple would risk making the conference worse just to squeeze in another 500 developers.
Could there be some creative layouts in Moscone West that Apple hasn’t tried yet? There are so many downsides to changing the venue that I want to believe it’s part of addressing the biggest issue with the conference: most people don’t win the ticket lottery.
There’s still the problem of hotels. Linking to my post about not giving up on WWDC, John Gruber singled out Airbnb as a bad solution, since there just aren’t that many rooms available. That’s true. And even worse, potential last-minute cancellations make Airbnb less reliable. Where I said Airbnb, I should have just said “cheaper hotel”.
(Alex Cash also has tips for saving money at WWDC. Casey Liss has a good post about rising hotel prices.)
Nevertheless, I know some developers are using Airbnb this year, and I’d like to try it next year for a change of pace and scenery away from the conference. With the convenience of Uber, the risk of settling for a place farther away seems low.
And finally, I’ve enjoyed many recent podcasts about WWDC. Two highlights: Under the Radar episode 24, where Marco Arment and David Smith share their thoughts on whether to attend the conference; and Thoroughly Considered 12, about not just WWDC but the value of attending or exhibiting at conferences as a company.
We published Core Intuition 234 today, with a follow-up discussion on Swift, working toward software releases, and more. From the show notes:
One of the points I brought up on the show — and which I’ve hinted at here on the blog before — is that web developers will push Swift to become more dynamic. There’s a long history of building web server frameworks like Ruby on Rails that depend on dynamically routing requests to controllers and views, and flexible models that automatically adapt from your database schema. These features tend to get messy when faced with a more static, strongly-typed language.
There is good work being done in the Swift web community already, though. Today I spent some time building a sample app with Vapor, which is probably the closest I’ve seen someone get to the usability of existing web frameworks. I’m a little more optimistic now that we might eventually have a single language for server code and native apps.
NSDrinking is on for this week, Thursday 8pm at Radio Coffee & Beer. Come join us for a coffee or beer (or tacos!) and chat about iOS development and WWDC, which is less than 3 weeks away.
Because episodes of Timetable are short (usually just 5 minutes) and because they aren’t published on a consistent schedule (sometimes once a week, sometimes 3 times a week), I’ve wondered if it may be difficult for some people to fit the podcast into their routine of listening to longer, hour-long podcasts. If you only listen to podcasts while in the car, for example, a 5-minute show isn’t going to fill your commute.
Luckily there are easy solutions to this. The first is: they are so short, just listen whenever you want, while you’re at your desk or walking somewhere or having lunch. Another option: gather up a few episodes and listen altogether, as if it’s 3 parts of a 15-minute podcast.
If you’re an Overcast user, you can create a playlist that will play multiple Timetable episodes in sequence without requiring any tapping in the app to queue up the next one. Here are some screenshots showing one way to set this up after subscribing to Timetable in Overcast.
First, tap the new playlist button in Overcast. Then tap Add Podcasts and select Timetable.
The playlist should automatically show any unplayed episodes. Finally, tap the Playback button while an episode is playing and make sure to highlight Play Next for the When Episode Ends option. This will make sure that you have continuous playback from one episode to the next.
I’ve recorded 23 episodes of Timetable so far, equal to about 2 hours of audio. While consistency is the most important thing for my other podcasts, Core Intuition and Technical Foul, for Timetable I’ve liked the flexibility to experiment with different styles and show formats. Enjoy!
Two months since the iPhone SE first shipped, it’s still rarely available in stores and ships in 2-3 weeks. Best phone I’ve ever owned.
David Heinemeier Hansson has a great post today about Ruby’s advanced dynamic features. Some people would criticize Ruby (and Rails) for including “sharp knives in its drawer of features”, but David argues that it’s a worthwhile tradeoff to give developers such power and flexibility:
Given the recent discussions from the Apple community, I couldn’t stop thinking of Swift as I read David’s post. I wouldn’t go as far as saying that Swift is a dull knife; there is a lot to like about the language, and I feel reasonably productive in it now. But David’s “paternalism” line nevertheless rings true to me, that the Swift compiler is trying to protect us from ourselves.
I somehow recorded 4 podcast episodes this week. We just published episode 233 of Core Intuition, where Daniel Jalkut and I talk about the announcements from Google I/O and compare the latest Swift 3 news to our experience going through previous Apple transitions. From the show notes:
It was a big week for the NBA, too, with the first couple games of the east and west conference finals. On the latest Technical Foul, Ben Thompson and I recap round 2, especially the Spurs loss in 6 games to the Thunder:
And finally, I published 2 episodes of my microcast Timetable earlier in the week. Episode 22 was about dealing with recent stress — trying to see the bigger picture and focus on the good things. Episode 23 was about how to tell when it’s time to move on from a failed product.
I’ve owned an Amazon Echo since it first shipped and it’s great. I also use Siri and like it, though I use it less often for the kind of random questions I might ask Alexa. But after watching yesterday’s Google I/O keynote, I can’t help but feel that eventually Google is going to be far ahead of Amazon and Apple in this space.
Here’s John Gruber writing at Daring Fireball about the keynote:
The problem with a voice assistant is that the better it gets, the more you want it to do. You continue to ask it more complicated questions, pushing at the limits of the assistant’s capabilities.
Only Google has the expertise in web services and the massive amount of data to keep going beyond basic questions. I expect both Siri and Alexa will hit brick walls that Google will get past, especially in conversational queries that let the user drill down below the most popular, superficial facts.
That is, unless Apple can open up Siri. Not just plugging in new trigger keywords like Alexa’s “skills” API (which would be a good start), but maybe a complete way to extend Siri with third-party code that feels seamless to the user. Surfacing voice-enabled apps automatically through natural queries might be on the same scale of app discoverability as we saw when the App Store launched.
As Ben Thompson lays out well in today’s essay, Google faces a different internet than the open web on which they built their search engine. The default for all these new platforms — from Facebook to Siri to the App Store — is to be closed. There’s a narrow window, right now, for someone to take the lead on creating an open voice assistant standard built on the open web.
Watching the Google I/O keynote. I guess I’ve warmed to the things Google has been working on lately. (I still hate ads, though.)
I let myself go off into a bit of a Swift rant on the latest Core Intuition. I’ve been doing a lot of Swift development recently. The more I use it, the more conflicted I am. I really love some parts of the language, but it’s not what I would have asked for as a successor to Objective-C 2.0.
Remember when Steve Jobs came back to Apple and compared NeXTSTEP to constructing a building by starting out on the 20th floor, with so much of the foundation and common patterns already taken care of for you? Cocoa allowed apps to be built significantly faster than before. Steve said at Macworld Expo in 1997 that the goal was to “eliminate 80% of the code that every developer has to write for their app.”
Swift is not like that. Swift’s priorities are correctness and stability. These have more indirect benefits to developer productivity than we saw going from Carbon to Cocoa.
When Marco Arment wrote about Swift last month, he mentioned wanting a language designed for high-level apps:
This weekend, Brent Simmons has a new post about the loss of dynamic features in “pure” Swift:
I hope Brent’s right that this will be a core part of Swift 4. Leaning on the Objective-C runtime feels like a temporary solution because it only exists on the Mac and iOS. Great web frameworks like Ruby on Rails, for example, can’t be built without relying on a more dynamic language. (And to me a great promise for Swift is being able to use it everywhere.)
Daniel Jalkut followed up with a more optimistic post. He thinks Apple is on top of this, even as he acknowledges the clash between existing frameworks and the new language:
I think it’s telling that the “dynamic” keyword isn’t even mentioned in the main language guide. Anything related to Objective-C is off in a separate set of documentation, which includes discouraging statements such as “Requiring dynamic dispatch is rarely necessary” and “use of the performSelector APIs is discouraged”. For Swift to thrive in the future, as a great language for newcomers and long-time Mac developers, Apple will have to compromise on that mindset.
I’m mostly used to the new Instagram icon. What I’m not used to is the algorithmic timeline. Should be disabled unless you’ve missed hundreds of photos since last opening the app (and preferably even then, too).
I finally read Stephen Hackett’s article over at iMore about using “SE” in Apple product names. He lists the Macintosh SE, iMac DV SE, iBook SE, and others. Most are forgettable, but the SE/30 feels the most like today’s iPhone SE: better internals in an old package.
Stephen also pointed to a Macworld article with quotes about the SE/30 and other Macs. John Siracusa had this to say:
The very first computer I ever owned was the Mac Classic. It was the cheapest Mac at the time, but still very expensive for us. I insisted that we get it despite the cheaper PCs that were more powerful and in color.
What struck me when I later saw my friend’s SE/30 was that the Classic was actually slower and worse in a couple of ways than the SE/30, even though the Classic came out almost two years later. Still, I loved that little machine. Everything good that has happened in my life since can be traced back 25 years ago to when I brought it home.
There’s a lot of hyperbole in the tech industry about creating products that make the world a better place. But most products just don’t have that big of an impact. To me, the Macintosh was an incredible, wildly divergent fork in the road — a choice leading to new friends and a new career, meeting my wife and starting a family. It’s hard to even imagine where the original path was leading.
Glenn Fleishman writes for Six Colors about Medium’s subscription features that will let publishers charge readers:
While Medium is certainly doing a lot right, and I still think it’s not a bad place to mirror content, the “long run” Glenn mentions is really what we should think about when considering Medium. I have no confidence that Medium will last 5-10 years.
If my whole business was based on blogging, why would I trust Medium to control something so crucial? With iOS development, we have no choice but to use the App Store. Writing on the web isn’t like that, and voluntarily giving up both control of the publishing platform and 20% of revenue strikes me as very short-sighted.
When my family was visiting New York City a couple of years ago, we took a train out of Pennsylvania Station on the way up to Montreal for the second half of our vacation. It was raining a little as we walked from the hotel, but I thought we’d still have no trouble finding the station. After a few minutes we gave up and had to ask someone where the entrance was.
We couldn’t find it because it looked like every other street corner in Manhattan. But it wasn’t always like that. It used to look like this:
In the 1960s, facing declining train usage and financial problems, the Pennsylvania Railroad sold the rights to everything above ground and the incredible station pictured above was demolished. It was only afterwards, when it actually happened, that everyone fully realized what they had lost. Determined to not let other beautiful architectural landmarks get destroyed, the city passed a law to restrict similar demolition. Grand Central Terminal was preserved because of the lesson learned from letting Pennsylvania Station go.
I was thinking about this story — failing to do the right thing, but applying that knowledge to the next thing — while re-reading Marco’s excellent post on the future of podcasting. In it, he lays out the technical details for how podcasting works today, and makes the case for leaving it alone. I especially like this part, on his determination to keep Overcast a sort of pure MP3 client:
I should have realized it earlier, but I don’t think I really connected all of Marco’s goals with Overcast until Daniel Jalkut and I had him on Core Intuition episode 200. We talked about many of these same themes as Marco was finishing up Overcast 2.0.
There’s also a great discussion on Upgrade about this. It starts about halfway through.
In a response to Marco on MacStories, Federico Viticci writes about the parallel trend in the web industry toward centralized services like Facebook and Medium that allow “content professionals” to monetize their writing. In doing so, those writers give up many of the benefits of the open web:
While the open web still exists, we really dropped the ball protecting and strengthening it. Fewer people’s first choice for publishing is to start a web site hosted at their own domain. Like the destruction of Pennsylvania Station, sometimes you only know in hindsight that you’ve made a mistake. We were so caught up in Twitter and Facebook that we let the open web crumble. I’m not giving up — I think we can get people excited about blogging and owning their own content again — but it would have been easier if we had realized what we lost earlier.
Reading posts like Marco’s and Federico’s, and listening to Jason and Myke on Upgrade, I’m convinced that podcasting will remain open because we know better now. As a community we can learn from the mistakes with the web and the threats of closed platforms, making sure that podcasting is preserved as a simple technology that no one controls.
Big news from GitHub today about changing their pricing. Because I’m a tiny company, charging by users instead of repos cuts my usual $50/month bill in half going forward.
As I mentioned in my wrap-up post about working from libraries, spending so much time commuting all over the city (and outside the city) had really burned me out. Over the last couple of weeks, I’ve overcompensated a little and have been working from home almost exclusively. I’ve also been catching up on client work.
I recorded a new episode of Timetable this morning to try to capture this change in work focus. Talking into the microphone for 5 minutes actually helped me assess where I’m at with my projects, and what I need to adjust to continue to make this blog and my podcasts a priority.
And speaking of podcasts, Ben Thompson and I published episode 3 of Technical Foul last night. We talk a lot about the wild last minute of Spurs/Thunder game 2, which I’m still thinking about even a couple days later.
It used to be that I would stay up until midnight working in Xcode. This year, it’s more likely that I’ll stay up until midnight watching late NBA games played on the west coast. I’ve loved this season, from Golden State’s record wins to being able to visit San Antonio a few times to catch Spurs games.
So why not do a basketball podcast? Today, Ben Thompson and I released the first episode of TECHnical Foul. From the show notes:
We had a lot of fun recording this. If you’re a basketball fan, or just need some variety in your podcast subscriptions, I hope you enjoy it.
There’s a nice sale going on across several smaller, regional developer conferences right now. I think any of these conferences would be a great experience, so if you’re considering one you could save $100 by acting now.
I wanted to comment on something Joe Cieplinski said about WWDC while linking to this promotion:
Folks say that WWDC is the one time where everyone in our community can get together, but frankly, the price of hotels in San Francisco has made that statement a bit disingenuous. Many—if not most—of us can’t afford to make it to this party, so maybe this is no longer the party for “everyone.”
Curtis Herbert also echoed some of these themes in a post:
While it’s a shame to end the WWDC tradition, it makes sense to follow all the other technical communities out there and rely on smaller, more accessible and distributed, community-run conferences throughout the year. It’s a sign that our community growing up and leaving the nest. One city can’t hold us all anymore.
I think it’s possible to go out to WWDC without spending a fortune. You can attend AltConf, find an Airbnb room for $150/night, and stay a few days instead of all week. I downgraded my expectations for WWDC and booked a cheaper hotel room a couple of months ago. It’s about how much you want to be there.
In fact, I’d still argue that it’s less expensive to “attend” WWDC now because it has been proven how much you can get out of AltConf and other events without the $1600 conference ticket. When I went to my first WWDC back when it was held in San Jose (and the same could be said for the early years in San Francisco), hotels and flights were cheaper but it was pointless to attend without a ticket.
I can’t go to every conference. This year I’ve picked 2: WWDC (probably without a ticket) and Release Notes (in September). I wrote about Release Notes last year and highly recommend it again.
But I stand by the opinion that WWDC is worth preserving as the best place for everyone to go — with or without a ticket, with or without a fancy hotel room — because there’s room for thousands of more developers than at a small conference. I hope that Apple’s change of venue for the keynote and Monday sessions means they are trying to expand the conference to even more developers.
I’m so excited about Monday’s new venue that I’m actually thinking about trying to get a ticket in the lottery, to experience what it’s like and what it means for the conference going forward. The main thing holding me back is that it seems wasteful if I’m not staying through Friday, when another developer — maybe someone who hasn’t attended before — could get that ticket instead.
Watched the Q&A with Kawhi on Defensive Player of the Year. Always a great attitude. It’s not “I’m the best”; it’s “I want to get better”.
There was a nice bonus at the end of Connected episode 86: an interview with Henry Ford Museum curator Kristen Gallerneaux by Stephen Hackett. On the small number of Apple Is in existence, Kristen said:
The transcript is also available. If you’re an Overcast user, you can jump to the interview segment at about 70 minutes in.
I love the venue change for Monday during WWDC. Sends a clear message that Apple is trying to accommodate more developers. Almost makes me want to get a ticket again.
Reacting to a Bloomberg article about Apple adding paid search results in the App Store, John Gruber writes:
The Bloomberg article almost makes it sound like there’s a 100-person team working on paid search. I doubt that’s true. More likely, there’s a team working on several improvements to the App Store, including better search.
Daniel Jalkut is also very skeptical:
He rightly points out that making money from the App Store is Apple’s secondary goal. It’s more important to have an ecosystem of apps that make the iPhone itself indispensable. As I argued in a blog post in 2011 about free apps and distribution, I don’t think the App Store should be a source of significant profit for Apple at all.
And if we’re keeping score with old posts where I write not what Apple should do but what I wish they’d do, see “I hope iAd fails” from 2010. iAd is shutting down in June.
I just can’t believe Apple would prioritize paid search over all the other App Store feature requests that developers have. So I prefer to ignore the paid search rumor and instead take away from this article just the good news: Apple has a new team focused on improving the App Store.
After trying to work from a new coffee shop I had never been to before, every day for 30 days, I loved the routine of getting out of the house so much that I set on another challenge: visiting 30 libraries. This proved to be more difficult, mostly because of the extra driving required, but I wrapped it up yesterday.
I’ve put together a web page of all the libraries, with photos and links to the microblog posts for each day. The posts are also tagged with #newlibraries.
After wrapping up libraries, I thought I’d make it a trilogy of 30-day endeavors, with a final 30 days of working from city parks. This was a suggestion from Daniel Hedrick, who had worked from parks before, tethering to his iPhone since there’s usually no wi-fi. I loved the idea right away because it fit so well with the goal of getting out of the house and discovering something new in my own city. I even spent a couple hours earlier in the month researching parks and planning out whether I could do it.
But now that it has come to it… I am really burned out on commuting. Finding new coffee shops and libraries has been a great experience. There are several wonderful places that I know I will return to again, and I never would have found them otherwise. I just need a little break from the forced routine of driving somewhere new each day. Maybe I’ll pick up the parks idea next year.
Last of 30 days of libraries, working from the Architecture & Planning Library at UT. Thinking of Robert Rasmussen, because I think it was here that years ago he said he would come some days to work, to focus away from the usual routine of coffee shops or the office. Rest in peace, Robert.
One of the best pieces of advice that I never followed very well is that if you want to be a better artist, always have a sketchbook with you. That’s why I’ve been so excited about the Apple Pencil, since it transforms the tablet you might already have with you into a great sketchbook too. There’s only one problem: you have to actual remember to bring the Apple Pencil everywhere.
Myke Hurley gave an overview on his blog about some of the additions he’s purchased to customize his Apple Pencil, like a clip, stickers, and this loop to hold it to the iPad Pro:
And on the latest The Talk Show, Serenity Caldwell shares the tip of buying a $2 Micron pen and snapping off the clip to use on the Apple Pencil. See this tweet for what it looks like.
Lately I had been carrying the iPad Pro around without a bag. This also meant leaving my Apple Pencil at home. While I don’t use my Apple Pencil every day, I want to. With a bag I can carry the iPad more easily and also always have a spot for headphones and the Apple Pencil.
I ordered the Tom Bihn Daylight Briefcase and I’ve been using it all week. You can see it in this photo I took while setting up to work at a library the other day. I haven’t used a messenger-style bag in a long time, maybe in forever. (Apple handed out one to WWDC attendees years ago before they transitioned to the jackets phase of WWDC of freebies, but I gave most of my bags away.)
So far I’m really enjoying having a bag that doesn’t feel oversized for the iPad Pro. It’s much smaller than my full backpack. I expect that it will be perfect not just around town but also for traveling light.
Checking out Windsor Park Branch on another rainy day in Austin. Love the bronze lion sculpture out front, but otherwise it’s another fairly unremarkable library. Gets the job done.
I guess the IFTTT channel for ADN was removed in the auth changes, since my cross-posting stopped working. Looking at Zapier again.
We posted episode 228 of Core Intuition this week. From the show notes:
We talked a lot about Siri and the Amazon Echo — the problems with both and where voice software may be headed. After we recorded, Daniel wrote a great post with additional ideas for using Siri with distance-based reminders, for example the ability to ask Siri while driving “remind me in 15 miles to get gas”:
I hope you enjoy the podcast. I’ve been thinking lately that maybe the secret with Core Intuition is that it’s not actually a developer podcast. It’s a tech podcast with major tangents into software development and business.
Working from Terrazas Branch before lunch. I like that many Austin libraries are named in honor of a local Austinite. Henry Terrazas was a 20-year-old marine who died fighting a forest fire, 50 years ago this year. He was awaiting transfer to Vietnam.
Brewster Kahle has a post at the Internet Archive about getting back to the “view source” feature that made early web development so much more accessible than it is today. He thinks it can be achieved on top of a distributed web where all the HTML and JavaScript files are delivered to the browser:
He mentions IPFS in particular, which I’ve written about before. The bottom line is that static HTML sites are more portable. They more naturally evolve not just from host to host as necessary, but also to a possible distributed future web. That’s why that — even though I still use and recommend WordPress — I have a static mirror of my site too.
My commute to find new libraries is getting a little ridiculous. This morning I’m south at Pleasant Hill Branch. A shame these nice windows overlook a busy street and gas station.
Finally working on a project that is all Swift and storyboards, which I’ve long ignored. Feel like I’m relearning iOS development.
Switching back and forth between a few NBA games on an amazing night for basketball. Curry hits his 400th 3-pointer, Warriors reach 73 wins, and Kobe puts up 60 points for his final game. (Oh, and the Spurs rest 6 players and win anyway.)
It’s a rainy morning in Austin and I’ve headed all the way out to Leander to visit the Leander Public Library. Very nice building, with plenty of desks for working, and an attached used bookstore. Only four days left of #newlibraries.
Doing a little writing from the Bee Cave Public Library at the Hill Country Galleria outdoor shopping mall. Love the idea of having a library integrated into a place that so many people walk around.
There’s a great line from an iPad Pro article by Ben Brooks, where he’s discussing how Steve Jobs was always conscious of shipping only Apple’s best work:
I’ve been thinking about the time just before the iPad was announced. We didn’t know what form it would take, how much it would cost, or even what OS it would run. At the time, I even wanted it to run Mac OS X. From one of my blog posts in 2008:
It’s easy in hindsight to say how wrong I was, that of course it should run iOS. And today I’d agree; iOS 9 on the iPad is great. But I thought a tablet would be particularly good for artists, and basing it on the Mac would be the only way to hit the ground running with a stylus and mature graphics software.
That brings us back to patience, and how Apple rolls and iterates. It has taken 6 years from the original iPad introduction to the iPad Pros we have today that fulfill what I had hoped a tablet could be. Was it worth the wait? Yes. But that’s a long time, and a more impatient company might’ve taken a different path to get here, and they wouldn’t have been wrong.
I’m not actually thinking about Microsoft here, but Amazon. Amazon is so impatient not just with hardware development but everything else that even overnight delivery for their customers isn’t fast enough.
When I pre-ordered the Amazon Echo on a whim a year ago, I’m not sure that Amazon really had any idea what they were doing, whether it would flop or succeed, or if anyone would understand it. A year later, they own the market for this kind of device and it’s spread by word of mouth because the product is good. If Apple ever makes an Echo competitor it will be years from now and only because someone else proved the idea first.
Patience is good, and I’m glad that Apple has a great balance between innovating on brand new products and perfecting existing concepts. But I’m also glad that not every company is as patient as Apple. I think the industry makes better progress when some companies aren’t afraid to ship something half-baked too early.
Starting the final week of 30 days of libraries with coffee at Seventh Flag, then working from Twin Oaks Branch. When I was growing up, Twin Oaks was my closest library, but they’ve recently moved and have a brand new building. Very nice space.
For the 3rd Sunday in a row, I’ve taken a break from visiting a normal library and instead found a Little Free Library to exchange a book at. They’re all very unique, often made by hand. This one was made from a doll house, which opens both from the bottom front and roof for two floors of books.
Sorry it’s a few days late, but Core Intuition 227 is now out. We follow up on the iPhone SE and Typewriter Mode, then discuss hybrid native/HTML layout, producing screencast videos, and Kickstarter.
Lake Travis Community Library is another beautiful library, with tables to work at inside that overlook the pond, as well as seating outside on the patio. First library I’ve been to where you can pour a cup of free coffee.
Busy day so I’m off my morning routine of getting out of the house to focus on writing. After 20 days, actually a little burned out on visiting a new library every day. Nevertheless, here I am near Oak Hill to work from Hampton Branch. Nice oak tree and gazebo out front.
At the Round Rock Public Library this morning, catching up on email and chat with the iPad Pro before I need to run some errands. Realized today that I’ve been using the iPad Pro so much, I haven’t left the house with my MacBook Pro in a week.
I published 2 new Timetable episodes this week, with a shared theme around Kickstarter projects. They’re both just 5-6 minutes long.
Episode 19 is about how I finally sat down to record a video for my upcoming Kickstarter project. I still have editing to do, but I’m already feeling a lot better about actually launching this.
Episode 20 continues the discussion of Kickstarter, starting with my reaction after receiving the art book from Loish yesterday. I was really impressed with how well it was produced. Anytime I see something of such high quality I’m inspired to do a better job with my own work.
Down on campus to visit PCL as part of 30 days of working from libraries. It’s probably been over 15 years since I’ve been in this building. Altogether the UT library system ranks 10th among the largest libraries in the United States.
Finally sat down yesterday to record a video for Kickstarter, which I had been putting off for months. You can listen to how it went over on episode 19 of my Timetable microcast.
Over at the University Hills Branch for a short while before lunch. This library seems heavily used, which is great, but it’s loud and not particularly well-suited for working. Moving some tables to the back or sides of the library might improve the layout.
Brent Simmons has a good post about the pros and cons of bringing UIKit to the Mac. On the differences between iOS and Mac development, though, one point did stand out for me:
Brent’s right that most Mac apps don’t need navigation controllers. I don’t think I’d have any use for them in my Mac app, Clipstart, for example. But navigation controllers are becoming more common in Mac apps, starting with Twitter apps especially. I expect an important part of Iconfactory’s work on the Chameleon framework to bring Twitterrific to the Mac was supporting navigation controllers.
I’ll always consider myself a Mac developer first, even though most of what I do these days is on iOS and for the web. I’d definitely welcome UIKit for Mac. I’m getting closer to announcing a new iPhone app and web platform, and while I have a Mac version in development too, I can’t justify the time right now to finish it. UIKit for Mac would make that decision much easier.
I’m registered for the Release Notes conference, coming up later this year in Indianapolis. This will be the only conference I attend this year outside of another ticketless WWDC week. If you didn’t go last year and want to know more about it, check out the web site or listen to episode 151 of their podcast.
One of my favorite blog posts on this site from last year was my review of the conference, because I think it both described the conference itself and also captured that inspired feeling you get when you’re heading off to the airport and your head is buzzing with ideas. And because it’s a blog, where I allow myself to be informal, it also has the meandering narrative of the everyday — a stop for coffee, a conversation with an Uber driver. My memory of the conference wouldn’t be complete without those things.
I’m looking forward to visiting Indianapolis again. I may also look at flying into Chicago and taking the train down, then flying out. Sounds like some people did that last year, and I think it would make a great start considering the venue at Union Station. We’ll see if the schedule works out.
I’m back southeast to work from Ruiz Branch for the morning. Very nice library, built in 2004, with plenty of tables that look out to the field and trees.
Working from a library on the weekend is a lot more difficult than a quick stop for coffee was. Because last Sunday we walked up to a Little Free Library, I’ll make that a weekend tradition in these 30 days. Just got back from exchanging a book at another Little Free Library nearby.
John Gruber, writing about the Tesla Model 3 unveiling:
At the beginning of the presentation, Elon Musk references his “master plan” blog post, where he outlined Tesla’s plan to start with the luxury market and then use that money to build a less expensive car, and then use that to build an even more affordable car. That blog post was 10 years ago.
Vision takes time to execute. It’s incredible to reflect on the scope of what Elon Musk’s companies have accomplished. As I wrote about last year, Elon will be admired by my kids' generation in the same way that mine was inspired by Steve Jobs.
Had to be south this morning, so working at the Austin Community College library on their Riverside campus. Hardly anyone here on a Saturday, so it’s very quiet and plenty of desks to sit with my iPad Pro. Charging my car in the parking lot, too.
Lately I’ve been carrying the iPad Pro in my hand or under my arm because I don’t have a good lightweight, iPad-sized bag. Today this backfired, as I left the library downtown and got caught in the rain. Just a little wet and the Smart Keyboard and iPad were fine, though.
Following a similar pattern as my 30 days of coffee shops, my friend Jon Hays has started mapping out a challenge to hit a month of coffee shops in Portland. The twist on his visits will be to focus mostly on the east side of Portland, and to only have lattes. First post: Cathedral Coffee.
Jon is documenting the coffee shop visits on his new microblog. An indie microblog is a great framework for posting this kind of thing, without the overhead and pressure that many people feel when faced with writing full-length blog posts.
See also: the 500 latte photos project by Aron Parecki, which looks like it wrapped up at a (still impressive) 312 lattes; and Tiny Challenges, a site and podcast from Daniel Steinberg and Jaimee Newberry about trying something new each day for a month.
Found a nice corner on the 2nd floor of the Faulk Central Library to work this morning. It’s like having a downtown co-working spot, but without the monthly fee and I can’t bring a coffee to my desk.
On episode 18 of my Timetable podcast, which I just published this morning, I mention the new Nintendo game Miitomo. Federico Viticci also wrote about it today:
For a several years between 2006 and 2010, I sold and actively worked on a little Mac app called Wii Transfer. It was the first time I realized that I could make a living selling Mac software, even though it didn’t always have great sales consistently by itself. To this day, one of the features I’m most proud to have ever written is the Mii export, which could sync Mii data over Bluetooth from the Wii remotes and render it to let you save your Miis as PNG files on your Mac.
I’ve often mused on Core Intuition that I stopped selling the app too soon. At one point I worked on a companion app to the Nintendo DS with similar themes, but didn’t ship it. And I considered building a version for iOS just with the Mii functionality.
From a blog post in 2012, announcing that Wii Transfer would no longer be available:
I’ll never know if it was a missed opportunity — a mistake for the direction of my indie business to stop selling something that people liked — or the right call to refocus around what I actually cared about. In any case, I’m glad Nintendo is doing something new with Miis. As I play with Miitomo, there’s a part of me that regrets not doing more with Nintendo-compatible software while I had a competitive head start.
Working south for a little while at the Manchaca Road Branch. May or may not have picked this library location so that I could get a coffee outside at Radio afterwards.
“Our overarching goal is to maximize total customer happiness within the bounds of what is physically possible.” — Tesla Motors on the Model 3 rollout, which isn’t as easy to scale as software
Checking out the Pflugerville Public Library and happily surprised at how big it is. Lots of chairs, meeting rooms, reading area… even electric car charging in the parking lot. Not particularly quiet today, but a nice place.
Such a gloomy morning in Austin, not feeling inspired to venture out to find a new library. Also forgot to plug my car in last night, so working a little while at Whole Foods while it charges. Free electricity in exchange for ordering an iced coffee is the best.
Stephen Hackett loves old Macs. (And iPhones and iPods and Newtons.) His fascination with old Apple hardware and the passion to share it with a larger audience — many of whom weren’t around for the dark days when Apple was doomed — is one of the things I love most about reading 512 Pixels.
He’s slowly been expanding into video production with a channel on YouTube. The latest video covers the iPod Shuffle, the tiny iPod without a screen that Apple still sells. At just $49, it’s not much more expensive than a long USB-C cable and may be the best bargain in Apple’s lineup after the $399 iPhone SE. Stephen writes about the original Shuffle:
Ah, nostalgia. One of the reasons I blog at all, and have been for 14 years now, isn’t so much for today’s audience but tomorrow’s. Even the most mundane blog posts take on new significance with a few years' distance. Old technical topics have surprisingly poor representation on today’s web, as linkrot sets in.
I’m looking forward to what else Stephen has planned. I know from the Connected podcast that lately he has been trying to collect all the different original iMac colors. (Two other podcasts that are worth a listen for an additional trip down memory lane: The Record and Simple Beep.)
Natasha the Nomad has a post about prioritizing the “one thing” that has to be finished today, even if everything else slips:
I find this kind of approach really useful. Saying you’re only going to finish one thing is admitting the reality that for many days, if you’re unfocused or juggling too many tasks, there’s a lot of “work” but nothing gets done. When I work out of the house in the morning with my iPad Pro, my goal is equally simple: publish a single blog post. If I can take care of email, edit other draft posts, work on planning notes for a project, etc. — that’s great too.
The drive into the hill country a little was totally worth it to visit Laura Bush Community Library. Beautiful library with an incredible view. I’ve got my iPad Pro with me and plan to work here until lunch, just looking out the windows.
I haven’t built a new Rails app from scratch in years. The new “Yay! You’re on Rails!" drawing is a nice touch.
When I went to Open Coffee Club during SXSW week, I met several company founders and investors in Austin, and one was also an iOS developer. I usually do a poor job of promoting my own work in person, but I somehow managed to plug my Core Intuition podcast.
He hadn’t heard of the show before, and when he pulled it up to subscribe his comment was something like: “wow, you’ve been doing this for a long time”. It’s true. Daniel and I started the podcast in 2008. We only have 225 episodes, because we published episodes less frequently back in the old days, but I’ve always been proud of our consistency with the show format going back to the very beginning.
And it made me wonder: is there another Mac or iOS developer-focused tech podcast that has such a long history? Or really, many tech podcasts at all? The ones that come to mind are The Talk Show, which started in 2007, and This Week in Tech, which started in 2005.
It’s another reminder to me that a big part of success is consistently showing up to work. If you’re always starting over, you can’t build on anything and take it further. The secret with the “version 2.0” of most apps isn’t that it has new features; it’s just that it exists at all.
In a couple months, just as WWDC is about to roll around, we’ll celebrate our 8th anniversary of recording Core Intuition. Our audience keeps growing, which is amazing, but there are still a lot of people who have never heard of the show. If you like what we’ve been doing, consider telling a friend, or posting a tweet or blog post about the show.
We expanded to 2 sponsors per episode this year because we wanted to grow the podcast — to commit more time and resources to both recording and to companion web sites like the jobs site. I think 2016 will be a great year and I’m happy that Core Intuition is a key part of helping me stay independent. Thanks for your support!
I had planned to work downtown today, but it didn’t quite happen. Staying closer to home for the late morning at the Spicewood Springs Branch. I’ve always like the tables and chairs along the windows here.
Because all the public libraries were closed for Easter, we walked up to a Little Free Library in the neighborhood to exchange a book. Beautiful day to be outside in Austin.
After wrapping up 30 days of new coffee shops, last week I started visiting a library every day to work. Libraries and coffee shops don’t have that much in common, but they do share a couple basic traits that are necessary for working on a laptop or iPad: wi-fi and tables. In fact, I’ve found that it’s even easier to find an open table or couch in a library than in a busy coffee shop.
So far, so good. In the first week, I’ve visited Cedar Park Public Library, Wells Branch Community Library, Little Walnut Creek Branch, North Village Branch, Old Quarry Branch, Howson Branch, Westbank Community Library, and Yarborough Branch.
I also heard from readers who wanted to see more than the text microblog posts I did for coffee shops, so I’ve been trying to take more photos. These photos are tagged with #newlibraries too, so they’ll show up together with the library text posts. (Photos can be browsed over the web, but they don’t show up in the default RSS feed. The microblog posts also have their own feed.)
As I mention on episode 15 of Timetable, working out of the house in the morning helped provide some structure to the work day. I’d use the morning for writing blog posts and catching up on email, and the afternoon to focus on code. For libraries, I’m going one step further and only bringing the iPad Pro with me. This means that I’m using a small range of apps — Editorial, Mail, Safari, Slack — and reinforces the idea that I’m supposed to be writing.
Today’s library stop is the Yarborough Branch, a library converted from a 1960s movie theater. Great job by the city and neighborhood to preserve this place.
Spent some time this morning experimenting with WordPress comments, Webmention, and Brid.gy. Not ready to enable it, though. Needs work on formatting and readability.
As I mentioned when I first linked to Studio Neat’s Obi project on Kickstarter, I enjoyed the Thoroughly Considered podcast that came out of that endeavor. It’s now one of my favorites.
On the latest show, Dan and Tom and Myke talk about the press: getting press for your product, communicating with press folks, and the impact of being featured in the press. Because Studio Neat makes physical products and not just software, their take on these topics is always good.
While I’ve blogged from time to time about the press, there’s a lot that I get wrong or don’t make time for. I was impressed with David Barnard’s promotion for Rando, a new iPhone app that was a joint venture with David, designer Rick Messer, and Jonathan Hays and Ryan DeVore from Silverpine Software. The app got a lot of great press coverage. Even the reviewers who weren’t convinced they’d use the app couldn’t help but recommend that readers download it. Not just because of its novelty, but because David framed the app with such a clear story.
Self-promotion is hard for many of us. I try to remind myself that journalists want something interesting to write about. The community as a whole benefits when writers have good stories and developers have good traffic to their apps.
One of the approaches I’ve been trying with my upcoming microblog platform is to write about related topics for months before the project is officially announced. It’s great because these are things I would want to write about anyway, regardless of having an app to promote, and so the heightened level of interest from beta testers and bloggers is like a bonus. Now I just have to actually ship the product while the timing is right.
After a stop for breakfast along 360, visiting the Westbank Community Library in Westlake with the kids, since they’re out of school today. It’s a beautiful building.
Episode 225 of Core Intuition is out now. We talk about the new iPhone and iPad news from Monday’s Apple event, plus Swift. From the show notes:
Also there’s this line from Daniel in the podcast that I like:
We pull in some history from Daniel’s time at Apple, and from our experience building Mac apps in the 1990s and early 2000s, and how it relates to the current Swift transition. Hope you enjoy it.
Twitter has lost some of what made it special for communities 5 years ago. I’ve noticed a few trends:
Meanwhile, blog comments have slowly been killed off over that same period. The rise of social networks, combined with the technical problems of fighting blog comment spam, pushed most bloggers to prefer answering questions on Twitter.
Becky Hansmeyer writes about the intersection of these problems — that some Twitter users avoid public discussion, but most blogs no longer have comments to fall back on — by pointing to a post from Belle Beth Cooper:
We didn’t realized how much we lost when we turned our backs on blog comments years ago. Just look at one of Daniel Jalkut’s blog posts from 10 years ago, which he and I discuss on an upcoming episode of Core Intuition. 53 comments! And they’re all preserved along with the original content. That’s difficult to do when comments are spread across Twitter and easily lost.
It’s time to take what we’ve since learned from social networks and apply it the openness of cross-site replies. That’s why I want to support Webmention. As Becky mentions, Civil Comments look great too. I think we can encourage both in parallel: distributed comments like Webmention for sites that can support it and better centralized comments like Civil.
Love that the Howson Branch has electric car charging, powered by solar panels. It’s a fairly small library but nicely done, with tall chairs to work at near the front or a separate reading room.
At the Old Quarry Branch working for a little while with my iPad Pro and Smart Keyboard. It’s an old library, built in 1976, and definitely shows from the outside.
I’ve been conflicted about which iPad Pro to use ever since the 10-inch rumors started. If both sizes had been available right away, I think I would have bought the smaller version. Small is convenient; I still really like and use even the iPad Mini. But there was only one iPad Pro when the Apple Pencil was introduced, so I bought that one.
Luckily the 13-inch iPad Pro still has some nice benefits. More room for split-view apps, of course, but also 4 GB of RAM compared to the new iPad Pro’s 2 GB. Federico Viticci is sticking with the big one:
I realized this week that I was wasting time wondering which iPad is the best for me. It’s the ol' paradox of choice. So to cement the decision, I went by the Apple Store yesterday and picked up a Smart Keyboard for the 13-inch. I’ve been meaning to get one for months, and now that I have it, it makes even less sense to trade in my iPad for a different one. (The keyboard really does transform the iPad. It’s great.)
NSDrinking is on for this Thursday, back at the Ginger Man at 8pm. Come have a beer and chat about iOS development and the latest Apple event. I’ll have a leaked prototype of the iPhone SE with me (uhm, my iPhone 5S).
John Gruber runs down the list of yesterday’s Apple announcements. On the iPhone SE, he recognizes that it’s a great device especially in the short term, before the iPhone 7 is released:
Jason Snell follows up on the Dan Moren post I linked to by also covering the new products. Highlighting the sales potential for the iPhone SE, Jason writes:
I keep thinking about the iPhone SE price: $399 for essentially the power of a 6S, which is $649. That’s just a great value. I’ve said on Core Intuition recently that while the 6S and upcoming 7 will always remain the most popular phone, I think the SE could hold its own with the 6S Plus in units sold. Now I wonder if it could even surpass it.
According to David Smith’s stats, the Plus versions represent about 15% of active devices 4-inch or bigger. That share goes up to about 20% if you exclude older devices no longer for sale, like the 5 and 5C. That seems about right to me. If you sat around an Apple Store and watched 10 people buy iPhones, I’d be surprised if more than a couple were the Plus. Starting next week, a couple of those iPhones could be the SE, too.
Working from the North Village Branch this morning. It’s a very nice, new library, with tall ceilings and plenty of natural light.
After the Brussels attack, reminded that our community is very international. Feel grateful that we have readers, listeners, developers, and bloggers all over the world. My thoughts are with folks in Europe today.
Every since I started my blog, I’ve been using <blockquote> but also adding quotes around the text (which also means updating inline quotes). No one else does this. I’m retiring the habit today, and updating the CSS to better format quoted text.
Dan Moren writes for Six Colors about the structure for the 1-hour Apple event today, of which only about half the time was spent on new products:
I’d like to see this continue at future events. Leave the record sales numbers for the finance call, and instead focus on what good Apple is doing because they are big, not just how they are big. Even though I own some Apple stock, I do not personally care that much about the precise magnitude of iPhone shipments this quarter.
As for the new products, nothing to complain about. Since the $10,000 Apple Watch Edition didn’t get a $50-dollar price drop like the Apple Watch Sport did, guess I’ll skip that purchase and get an iPhone SE instead.
There wasn’t any doubt, but of course I’ll be pre-ordering the iPhone SE later this week. Probably will wait on the iPad Pro downsize until I try the smaller smart keyboard in the store.
Can’t decide if I’m more surprised by the Newton joke or how much time Tim Cook spent talking about the government case. Gives the event a very different tone than most of these start with.
Pretty excited for today’s Apple event. Queued it up on the Apple TV while I eat lunch. Following the Six Colors tweet commentary as well.
Working from the Little Walnut Creek Branch this morning. Lots of open tables. If I was designing a library next to a creek, though, I think I would have added more windows.
Difficult to focus on work in the couple hours leading up to an Apple event. Need to find something very simple to finish.
While my daughters are at a meeting, checking out Wells Branch Community Library. Again just working on my iPad to revise an upcoming blog post.
As I’ve written about already, I now post photos to my own site in addition to Instagram. I use the Workflow app to make this easier, automatically uploading a photo and making a new blog post for it from iOS.
Ryan Toohil has taken my rough workflow and improved it, adding support for prompting for the photo title, fixing the photo’s orientation, and a better dynamic folder name based on the date. You can see his updated workflow here.
I still have a lot to learn about using Workflow. It’s the kind of app that you can only really understand the potential for after diving in with a real problem. Now I find myself looking for more ways I can use the app.
I’ve also finally read Federico Viticci’s excellent intro to Workflow over at iMore, which includes this advice:
Of course, Federico has written many times about Workflow. He has an article about using Workflow to post to WordPress, and tips and example workflows in the MacStories Club email. His podcast Canvas with Fraser Speirs also routinely discusses workflows.
I’ll be getting the iPhone SE, but still conflicted about the right size iPad. I love the 13-inch iPad Pro but have also been using the iPad Mini a lot. It’s much more convenient for carrying without a bag, more like a journal than a computer.
Yesterday I wrapped up my endeavor to visit a new coffee shop every day for a month, making sure it was a place that I had never been to before. Every day I published a short microblog post about my visit. As I was nearing the end of the 30 days, I felt a little bummed out that it would be coming to an end. It was a lot of fun and gave my day a good structure.
I knew right away that I wanted to fill the next 30 days with something else, but probably not with drink or food again. I had a few ideas, including one outside that will be be better when the weather gets warmer. For this next month, though, I’ve decided to work from libraries.
So that’s where I am right now. Day 1 of 30, sitting in a comfy chair typing on my iPad at the Cedar Park Public Library. It’s a nice space and they even have an “internet cafe” outside the main books section. I’ll be trying to follow the same routine as before: morning out of the house for writing, afternoon usually back at my desk for coding. And as before, I’ll blog each day and tag all the blog posts. Here we go!
We posted episode 224 of Core Intuition today. From the show notes:
I like this episode because it touches a little on tech industry and business themes that we weren’t planning to talk about, so it captures whatever our gut feelings were on those topics. And as we talk about at the end of the show, I did end up wrapping up the coffee shop visits today. I’ve updated the coffee shop page on this site with the final list.
At Once Over Coffee Bar for the final stop of 30 days of trying new coffee places. Enjoying an iced coffee and listening to Bouldin Creek from the back deck. You can find all 31 microblog posts (there was a bonus coffee shop) under the tag #newcoffee. It’s been fun!
Dries Buytaert, founder of Drupal, gave a talk at SXSW this week and wrote a blog post about saving the open web from large, centralized platforms:
Matt Mullenweg linked to it and added: “I agree with and endorse basically everything in that post.”
Kind of a gloomy morning in Austin, but nothing that breakfast tacos at Torchy’s on South Congress can’t fix. Now working from Sage Cafe, which has a nice back patio overlooking the nursery.
Almost forgot to blog about today’s coffee. We were out at Lake Georgetown this evening and stopped at Cianfrani Coffeehouse on the way. Lots of specialty drinks with fun names, so I ordered the Sugar Daddy: an iced latte with caramel and hazelnut. Very sweet.
As I mention on the latest episode of Timetable, I haven’t attended SXSW in several years. I still think it’s right for me to skip it, but then sometimes I’ll hear about UX and iOS panels going on at SXSW, and I’ll remember some of the great parts of the conference that I do miss.
Conrad Stoll spoke on a panel at SXSW this year about his experience building Apple Watch apps. He’s had a few great blog posts recently, about both Apple Watch user interface design and also one on designing in Swift. For planning what features to include in your watch app:
Blogs like Conrad’s are a great reason to keep using RSS. He’s not posting every day so you may forget to check the site, or miss the links on Twitter if they aren’t tweeted or retweeted when you happen to be paying attention. The best way to guarantee you won’t miss it is to subscribe in an RSS reader.
There’s a related side discussion on the Bill Simmons podcast about reading headlines instead of full articles. There’s too much information out there, and it moves too quickly, so we’ve trained ourselves to just scan headlines and comment on Twitter without going deep. That leads to increasingly ridiculous click-bait titles as publishers try to grab our attention. The only way to fight back against that trend is to slow down and read a few thoughtful essays in RSS, or work through the queue in Instapaper.
Might not be downtown again this week, so hitting a bonus coffee shop while I’m nearby. Departure Lounge is half travel agency, half coffee and wine bar.
After taking the train downtown for Open Coffee Club, walked along the trail to Alta’s Cafe for coffee and a quick bite to eat. Nice back deck overlooking Lady Bird Lake.
The echo chamber. We only follow people who we already agree with. We only jump on the bandwagon of snark and ridicule when it’s already the accepted narrative, and thus safe to be part of the mob.
But sometimes you’ll find an area where you aren’t completely in line with the crowd’s opinion. There’s a topic that keeps coming up for which you have something to add. The default story is missing an important angle.
When you disagree, that’s what you should write about, and you should post it to your blog. 140 characters thrown against wave after wave of mainstream opinion tweets will be drowned out. A blog post isn’t a cheap opinion; it’s a statement that what you think matters.
Braving SXSW traffic to have an iced vanilla latte at Vintage Heart Coffee. 30 days of new coffee shops is just about wrapped up. 4 more days.
If they have something coffee-related on the menu, it counts. Checking out Juiceland with my daughter. I’m having the Percolator: cold brew coffee, almond milk, banana, cocao powder, coffee concentrate, and cinnamon.
Beautiful day outside for a stop at Beware Coffee. My son is having the Dr. Pepper float, and I’m having the cold brew coffee as a float.
We posted episode 223 of Core Intuition today. From the show notes:
I also posted episode 16 of Timetable. On this quick 3-minute show, I talk about trying not to panic when things go wrong, with a couple examples from this week.
After I blogged about Ulysses for Mac, a couple people told me that an iPad version was coming soon and that it was great. That new version shipped this week. I put down $20 immediately even before reading the positive MacStories review by David Chartier.
Unfortunately I can’t use it much because it has no native Dropbox support. For a market that has literally many dozens of Dropbox text editors, I didn’t consider that Ulysses would ship without something so integral to my writing workflow.
(The Mac version doesn’t have this problem because of the concept of “External Folders”. I simply add my Dropbox notes folder to Ulysses on my Mac and everything syncs.)
Last month I wrote a post called iCloud is too opaque, in which I made an argument against having important text files and photos synced to a backend that allows no visibility when things go wrong, and no compatibility with other apps. Ulysses for iOS falls into this trap. Its use of iCloud is private to the app, unlike iCloud Drive or Dropbox which are accessible from other apps.
I know I’m not the only one who feels this way. The FAQ for Ulysses spends considerable space trying to explain away their lack of Dropbox support, even attempting to pin the issue on Dropbox instead of Ulysses itself.
The Soulmen, makers of Ulysses, are talented designers and developers, and I’m typing this in Ulysses for Mac because their app has a great mix of features and attention to detail. I respect that they’ve grown the company to 11 people already. But closed syncing solutions aren’t a good choice for exclusivity. Having cross-platform syncing across competing Twitter apps is why I created Tweet Marker, so you can be sure I want the same for my text documents.
Another rainy morning, another trip out for coffee, this time Patika on South Lamar. Crowded since everyone’s inside instead of on the wet patio. But good weather for a very nice cappuccino.
Ignore that it’s hidden behind a gas station. Found the cozy coffee shop Sips Coffee & More in Round Rock today. Happily surprised that they make fresh crepes.
Very rainy day for the coffee shop commute. Marking the 14th anniversary of this weblog with a visit to a cafe that’s even older than that: Spider House. Trying the dirty horchata (rice milk, cinnamon, and 2 shots of espresso, shaken with ice).
Serenity Caldwell has a fantastic, hand-drawn review of the Apple Pencil for iMore. It reminds me of Scott McCloud. (I blogged about his book Understanding Comics about 13 years ago.)
I’d actually love to see this graphic review style used for other products too. It nicely balances against the trend of long written reviews. Both could have their place.
As for Serenity’s conclusions, I think you’ll hear widespread agreement from artists: the Apple Pencil is significantly better than any other stylus. The palm-rejection alone is reason to get one.
Today’s stop for coffee and a little coding is Fat Cats: Organic Coffee & Desserts. Their cold brew coffee comes with frozen coffee ice cubes!
Colin Devroe started microblogging on his own site, with separate sections for statuses and photos:
It’s the photos and their RSS feed that caught my attention. Others have done this too, but for some reason I rarely post photos here on my own site. I’ve stuck with using Instagram instead.
I need to change that. I do like the Instagram app, though, so I’m going to keep using it. I’ll just copy the photos over to my site as well, and I’ll use Workflow on iOS to help automate it. The basic steps are:
It’s not bad. You can see the workflow here. I’ve uploaded a bunch of my most recent Instagram photos this way. I’m not sure whether I’ll go back and mirror all the old ones.
These photos live under a new Photos category. I’ve excluded this category from the main RSS feed that I use for cross-posting, so they won’t automatically go to Twitter. You can continue to follow me on Instagram if you prefer that.
A little off my morning routine today, so working this afternoon from Kick Butt Coffee. Cool place with a stage for live music at night.
This morning’s coffee is from the Elixer coffee truck. Usually at Mueller, but parked this weekend at Staple! Expo. Coffee plus indie comics in one place.
Grabbing a quick breakfast and coffee at Cherrywood Coffeehouse before heading over to Staple! Expo to help set up. If you’re in Austin and a fan of indie comics and art, check it out today or tomorrow.
On this week’s Core Int, we talk about the routine of coffee shops, productivity, @AppleSupport, and shipping your 1.0. coreint.org/222
Much has been made of the Apple Watch not being fast enough. It’s too slow for full iPhone-like apps, of course, but that doesn’t bother me because I think the watch is pretty great at its core features. But I’ve noticed that it’s slow even for some of the simple stuff, and I don’t think this can be blamed on hardware alone.
Take notifications, for example. There are several distinct steps to notifications after you receive one:
There’s a tiny lag between all of these. I frequently can’t scroll right away, as if it’s not responsive until the animation completes. The Dismiss button also doesn’t seem to be enabled immediately, requiring a 2nd tap before it “clicks”.
I bet these are solvable with a software update. Shorter animated transitions or pre-loading notification text might go a long way to improve the experience.
Trying Stinson’s Bistro in Rosedale this morning. This area sure has some nice coffee shops. Obviously Houndstooth on Lamar, but also Pacha which I visited a couple weeks ago, and Thunderbird nearby too.
Tempted by the Amazon Dot. We’ve had the Echo for a while and use it all the time. Because currently only Echo customers can order the Dot, feels like it’s aimed at extending your Alexa-friendly house, e.g. putting the Dot in a bedroom or office.
In my posts about defining what makes a microblog post and guidelines for RSS, I talked a little about links but didn’t explore linkblogging. While many blog authors post primarily long essays, shorter link blogs are a common approach for bloggers who want to post new content several times a day.
Essentially two types of link blogs have evolved since the early days of blogging. The most traditional link blog can be seen in Dave Winer’s posts (click on the Links tab). These are links with a very short commentary. Many tweets are like this. In a way, this format is the purest form of microblogging.
The second type of link blog starts to fall outside the limits of microblogging. Instead of just including a URL, authors use a quote from the linked material as the foundation for the post. The majority of Daring Fireball posts adopt this format. While John Gruber is known for his full essays, those longer posts are infrequent today. He keeps his site active by linking to other interesting essays and tacking on his own brief opinion.
Daring Fireball has become so successful that Gruber’s approach to linkblogging has been copied by many other sites. MacStories, Six Colors, One Foot Tsunami, John Moltz’s Very Nice Web Site, and Marco Arment’s blog are just a handful that follow this pattern. All of these sites post the occasional essay, but most blog posts link away to an external site in the RSS item, not back to their own site.
At a technical level, this difference can best be seen in the RSS feed’s <link> and <guid> elements. These elements will contain URLs that either link back to the main site, or link away to an external site.
Here is where this evolving approach to link blogs starts to break down. Let’s take an example from Six Colors, one of my favorite sites. (I recommend subscribing. The members-only secret podcast with Jason and Dan Moren is really fun, and the email magazine is great too.)
In a link post about Hulu’s pricing, Jason Snell actually writes 4 paragraphs of commentary (plus a footnote). This is more like an essay than a short link post that points to the external site.
Another example is when MacStories linked to Twitter’s launch of Moments. A few paragraphs of quoted text, 5 paragraphs of MacStories commentary. The commentary is as important or even more important to read than whatever Federico is linking to.
Sometimes we read sites like MacStories, Six Colors, or Daring Fireball more for the commentary than for what is being linked to. But when using an RSS reader, there is too much confusion about where an item’s link goes when clicked if the site’s feed isn’t consistent about linking everything back to its own site.
And in fact Jason Snell acknowledges this problem by offering two separate RSS feeds: the default one, with a mix of links back to Six Colors for essays and pointed elsewhere for link posts; and another feed with everything linking back to Six Colors, where the commentary lives. He also attempts to minimize confusion on his own site by giving each type of post its own icon in the site design.
The less clear-cut the distinction between essays and link posts, the more confusion we introduce to readers. In some ways, this mixed approach really only works for Daring Fireball, because his feature essays are so long, and so obviously different in format to the rest of the link posts.
Good conventions for blogging have been at a standstill for years. While part of the appeal of indie blogging is there’s no one “right” way to do it, and authors can have a strong voice and design that isn’t controlled by a platform vendor, we must accept that Twitter has taken off because it has a great user experience compared to blogs. It’s effortless to tweet and the timeline is consistent. For blogging to improve and thrive, it should have just as straightforward a user experience as social networks wherever possible.
Luckily, RSS already has everything we need for clients to visually distinguish between link posts and regular ones. If the <link> element points to a domain other than the one for the site, it’s probably a link post. If the <link> and site domain match, it’s a full post.
I’ve adopted this in my new microblogging platform by exposing the domain in the UI itself, at the end of the title or microblog post whenever it’s a link post. If it’s a full post, the link isn’t added. And for either type of post, the timestamp links back to whatever was in the <link>.
Here’s a screenshot from one of Dave’s posts. Note that the link was not in the RSS text. It was added by my app automatically:
This has been a long post, but it boils down to two simple recommendations:
I believe that adopting these will bring more consistency to blogging. Users won’t need to hover over links, or guess what will happen on a click or tap. It’s a small change that will make reading blogs a little better.
I’ve been trying a lot of new coffee drinks on this 30 days 30 new coffee shops experiment. An iced latte remains my go-to drink if nothing stands out, but I always wonder at a new place if it’ll have too much milk or not enough espresso. That concern is unfounded at Figure 8 Coffee Purveyors, which I’m at today. Just right.
On the latest Under the Radar podcast, Marco Arment and David Smith talk about ways to make your app more robust. That includes tips for scaling your app with a lot of data, and also dealing with potentially hostile user data. It’s that last point that I’ve been thinking the most about lately.
With the experience of building Tumblr and Instapaper, Marco is clearly now hesitant to ship app features that accept arbitrary user-generated content, because a small indie company just doesn’t have the resources to deal with spam and abuse. Instead, he suggests outsourcing whenever possible. For example, letting Apple accept and reject podcasts, and basing the Overcast podcast directory search on that already-vetted list.
Let’s say you’re building a Twitter-like service. As we all know, hate is widespread on Twitter. At times, it seems impossible to even have a G-rated Twitter experience. But the problem is less that users can publish terrible tweets, and more that it is so easy to be exposed to those tweets with search, trending topics, retweets, and replies.
As I work on my microblogging project, I’m trying to be aware of these points in the platform where bad content can leak out. So I don’t have global search or trending topics. I also don’t make it easy to stumble upon random users. But I do have replies, which by default will currently go out as push notifications if you have the iPhone app installed. It’s that area that I should focus my attention.
Two options that come to mind for minimizing abuse in replies:
After listening to Marco and David, and reviewing the full scope of what I’ve been trying to build, I’m pretty concerned about this. I’m looking at Akismet, and other metrics internal to my app for judging content and suspicious user accounts, but I may be a little in over my head on this issue.
Still discovering new coffee shops that I’ve probably driven by many times and never noticed. This morning, working from Joel’s Coffee in northwest Austin.
Starting back in September 2014, I added microblog posts to this site. These are defined as short posts without a title. They have their own RSS feed, and they’re automatically cross-posted to Twitter and App.net.
In that time, I’ve posted about 300 microblog posts and about 230 essays, although many of my longer posts are really just a few paragraphs and a quote. I still find the microblog format very convenient for quick thoughts, or a series of related posts like all my coffee stops.
I’ve also switched from Gaug.es to WordPress.com stats. While I agree with Ben Brooks that analytics can be a distraction, I still like finding new referrers and having a sense of what posts have resonated with people. Not that it effects what I write about, though.
The key to blogging is still consistency and passion. Write about the things you care about, regularly, and the internet is a big enough place that there can be an audience for even obscure topics.
That’s the theme I’m trying to apply to my new Timetable podcast, too. I talk about microblogging, coffee shops, client work, but more important than any of that is the routine of recording it. The short nature of the podcast is itself kind of the story.
I’m at episode 15 now and have loved working on it. I now expect that all of these components of my blog — the longer posts, the microblog posts, and the companion Timetable episodes — will be something I do for years to come.
As I’ve written about here, I have a Nissan Leaf and it’s the best car I’ve ever owned. When the lease is up in a couple years, I’ll reevaluate whether to buy a new one or switch to a different make of car, but there’s no question that I’m never going to buy another gas-powered car for myself again.
In addition to the obvious benefits to the environment, how quiet the car is, and being able to “fill it up” at home, the Leaf is also shockingly reliable. No oil changes, no random weird noises or parts failing that seem to regularly happen with every other car we’ve owned. Simpler is better.
We’re crossing the point right now where electric cars are not only better in a novelty way for early adopters, but just actually better. Every year there will be more electric cars on the road, from more manufacturers, and every year they’ll chip away at the traditional problems of cost and range.
And there’s even fun stuff like Zelectric Motors, which I discovered via a great video from The Verge. I always thought that if I ever had $60k to blow, I’d get a Tesla. I may need to consider these retrofitted classic VW Beetles instead. They look beautiful. (Although probably helps to live in the San Diego area just in case it does need the occasional trip to be serviced.)
Just a little east of downtown this morning for a coffee at Wright Bros. Brew & Brew. If you’re in a Super Tuesday state, don’t forget to vote today!
Happy leap day! I just posted episode 15 of Timetable. On this episode, I focus on… well, focus. Specifically using the new routine of visiting coffee shops to provide more structure and productivity to my day.
Bill Simmons announced on his podcast last week that his new media site The Ringer will use Medium. He said they’ve been working with the Medium folks on it, although I don’t know if that means using existing features that are available to anyone, or if Medium has built anything custom just for The Ringer.
Digiday has a story about this, and about the larger context of how Medium is doing and evolving:
I’ve written several times about how Medium is worse than your own blog for building an audience, and worse for the open web if it continues down the Twitter-like path as a centralized social network. But encouraging larger publishers to adopt Medium is good, because custom domains will come along for the ride. Owning your domain and URLs is the first step to owning your content.
Sitting outside with Damon at Seventh Flag, having an iced coffee and breakfast tacos. Also updated the coffee page with specifically which coffee shops I’ll be trying this week if anyone wants to join me for a coffee or just stop by!
Dan Moren wrote an essay for Six Colors last week about why slowness is such a problem for the Apple Watch:
Both Dan and Jason Snell followed up on this topic in the latest Six Colors subscriber podcast. The problem, they recognized, is that the first Apple Watch tried to do too much. Apple should instead focus on a few core features and make them fast.
Which features? I still use the Apple Watch every single day, and I use it for just three things: telling the time, tracking fitness (including reminding me to stand up), and glancing at notifications.
Some people have stopped wearing their watch every day. Again, that’s fine. Curtis Herbert was falling into that category, until he went snowboarding with friends and realized how useful the Apple Watch is when you can’t get to your phone or tap buttons. In an article about the snowboarding trip, Curtis says the Apple Watch’s problems are solvable in future versions:
I’m not worried about the future of the watch either. Our early expectations were much too high — in contrast with the first iPhone, which exceeded all hopes because it was seemingly from the future already — and it will take a couple more years to catch up to where we’d all like the watch to be. In the meantime, the watch is useful today, even slow-ish.
It’s a good morning for donuts, beignets, and kolaches with the family at Angel Donuts & Treats. Great place, plenty of seating, and they’ve got a very nice sweetened cold brew iced coffee.
Published episode 14 of Timetable today, about writing a few blog posts while out at the coffee shop today. Also hint at a brand new web site, and end the show with a quick wrap-up about sending out stickers.
When I tell people that I’ve started going to a new coffee shop every day for a month — and importantly, one which I’ve never been to before after living my whole life in Austin, with no duplicates or separate locations from a coffee chain — they usually ask: are you going to run out of places to go? At the beginning I didn’t know. And that has made it a particularly fun challenge, because doing something that you know is possible is boring.
I’ve never been interested in building an iOS app that someone else has already done. I’ve never been excited to write a blog post that is just a rephrasing of someone else’s idea. Starting a new project with a unique twist, even a minor one, is what makes our job as developers and writers fun.
And it’s easy to take a simple idea and build it into a more advanced project. On the latest Core Intuition, Daniel continues to suggest ways to add layers to my coffee trips, from adding photos, to publishing future locations ahead of time so that anyone can stop by and join me for a coffee. (I’m going to be doing this.)
Now at day 10, I can more easily answer the original question, though. I have 16 suggested coffee shops in the queue, so if I visit all of those, I’ll only need 4 more places to hit 30 new coffee shops in 30 days. A few of these might seem like borderline cheats — a donut shop, or a food truck to pick up a Thai iced coffee — but being exposed to new places I would never otherwise go is the whole point.
Back in Round Rock to check out Lamppost Coffee. While they’re making my iced coffee, we chat about iPhone development (one of them is thinking about learning Swift).
Mark Gurman of 9to5Mac reports that the new 4-inch iPhone will be called simply “iPhone SE”, not “5SE”. As I said before, I don’t really care what it’s called, but this is good news nevertheless.
John Gruber adds:
I agree with John. Other than the screen size, this phone will feel a lot like an iPhone 6S. And because I love the smaller size, I personally think it will have the best of both the 5S and 6S.
Prediction: this phone is going to be much more popular than people expect. I won’t be surprised if it takes the 6S Plus’s spot as the 2nd most popular iPhone.
Starting to expand my coffee shop list with new recommendations, like today’s stop: San Francisco Bakery. Having a french press coffee, but they’ve got a tempting breakfast and lunch menu with fresh bread.
NSDrinking is at Radio Coffee & Beer tonight, 8pm. Reminder that anyone’s welcome. Nice opportunity to chat with fellow Mac/iOS developers.
Having a cappuccino at Cups & Cones. Very family-friendly this morning, with a music/storytime going on now for the little kids. It’s a nice space with lots of books to borrow, board games, and plenty of indoor and outdoor seating.
If you’re wondering what all these coffee posts are about, don’t worry. Maybe it’s all an elaborate stunt to test my microblogging platform.
I’ve now wrapped up the first week of my attempt to visit a new coffee shop I’ve never been to, every day for a month. To track the progress, I’ve created a web page with all the visits so far, the coffee shops I hope to try soon, and also a bunch of places I’ve already been over the years (and so which are disqualified from this endeavor).
This has required a little more planning than I expected. I’ll be going to all corners of the city to not repeat myself for a full 30 days. Even then, I’ll have to broaden my search to include more traditional cafes and donut shops too.
I’ve also realized that I need to do a better job of ordering something unique when it’s on the menu, or asking for a recommendation. After all, the point is to get out of the house more often — to take a break from the isolated work-from-home environment, be exposed to something new, even if it’s just a simple drink or view outside, and get back to my current projects refreshed.
Went to Dazzle Coffee today. Reminds me a lot of Dutch Bros. Coffee, which we fell in love with on a road trip to Oregon a few years ago. After picking up my drink, checked out the historical marker across the street on the founding of Pflugerville.
Maybe I misjudged Facebook’s Instant articles. Dave Winer is a supporter, because it builds on RSS:
I guess one question is whether there will be any other RSS readers that support Instant Articles. If we can get some of the benefits of Instant Articles, but outside of Facebook, that is something.
Facebook continues to roll out their Instant Articles format to more publishers. It’s now available to anyone, with this catch:
That’s just what we need: the worst part of the App Store approval process applied to the web. No thanks.
Google’s competing Accelerated Mobile Pages has problems too, as I mentioned in the last half of this post about the cost of links. Although unlike Facebook, which wants to trap content behind their own platform, AMP is at least more open and useful to the larger web.
I hate to say it but neither Instant Articles nor AMP are really good enough. I think we need a third standard for super-fast web pages. (Or do we? Maybe the web is okay as-is if we fight page bloat.)
Still trying to get into a routine with my new podcast, Timetable. Today’s episode is just under 3 minutes, following up on sending out stickers with my microblogging app logo, and thinking about what it means to be lucky.
Another day, another new coffee place I’ve never been to. Trying the iced toddy at Pacha and catching up on the morning’s email.
This morning, having a cappuccino and breakfast taco at Star Coffee Texas in Round Rock. Feels like more of a breakfast or lunch place, with a full menu. Hard to believe it’s only day 5 of #newcoffee.
Weather outside isn’t great, but nevertheless had a nice drive down 360 to check out Lola Savannah Coffee Lounge. They even have the Cavs/Thunder basketball game on here.
I was down on campus anyway with my daughter, so we’re trying the BarleyBean for today’s coffee stop. Nice little place, with smoothies and sandwiches too.
Installed my first Let’s Encrypt SSL cert. Haven’t even automated everything so that it’s easy yet, but already it feels like magic.
New coffee shop, day 2: Summer Moon near the Domain. A little crowded today, but lucked out with a table opening up. Good coffee.
On this week’s Core Int:
I like this episode because it has a mix of serious and fun topics. Toward the end of the episode we talk about my new goal of trying a new coffee shop once a day for a month.
When traveling, it’s always fun to discover new coffee shops. But what about in our own city? Starting today, I’m going to attempt to have coffee at a place I’ve never been to, every day for a month. Right now: Sorrento’s drive-thru, sitting outside on a beautiful day.
Back from a very quick trip to Oregon for a meeting. Still smiling at overhearing this in a Portland coffee shop: “My mom just texted me not to get a Bernie Sanders tattoo.” Captures a little something of the election as it stands today, and the fleeting nature of campaigns.
New printers, Kickstarter, sticking to commitments, and having an authentic voice in tweets and blogs. Hope you enjoy Core Int 219.
Last night, Federico Viticci tweeted that he lost a draft blog post he was working on because of an iCloud problem:
The story has a happy ending because he was able to manually recover the document from the app’s database, but that is well beyond the complexity that most users could handle. iCloud is usually so opaque that we just can’t see what is going on behind the scenes with our data.
Everything I write on this blog (and notes for all my projects) goes into simple text files on Dropbox. I can edit from multiple apps on different platforms, the files are synced everywhere, and Dropbox tracks the revisions of each file so that I can restore a previous version at any time. I could take the text file I’m currently typing in, drag it to the Finder’s trash and empty it, and restore from the web in 30 seconds even without any kind of traditional backup solution.
That’s why all my photos are on Dropbox too. Instead of being opaque like iCloud, with no easy way to troubleshoot or recover files when things go wrong, with Dropbox it’s all there in the local file system or over the web.
Dropbox has had a few side projects and distractions, but their foundation is obvious and accessible, so they can keep coming back to that. Here’s Stephen Hackett writing in December about documents and photos after Dropbox shut down Mailbox and Carousel:
I really like the clean UI in Dropbox’s Paper, but because it doesn’t yet sync with regular files like the rest of Dropbox, Paper isn’t building on Dropbox’s core strengths. Daniel and I use it for planning Core Intuition, but I wouldn’t use it for critical writing any more than I would use the new Apple Notes.
I hear that people love iCloud Photo Library and Notes, and that the quality of these apps and companion services has significantly improved. That’s great. (I also think that CloudKit is clearly the best thing Apple has built for syncing yet.)
But to me, it doesn’t matter if it’s reliable or fast, or even if it “always” works. It only matters if I trust it when something goes wrong. Conceptually I’m not sure iCloud will ever get there for me.
Feeling well enough to record a podcast, I published episode 11 of Timetable today. I talk about why I wish I could’ve launched my new platform on the same day as Twitter rolling out their algorithmic timeline.
The folks at Realmac have been blogging about their progress with Typed.com, a new blogging platform that successfully raised $120k on Indiegogo last year. In the latest monthly report, they announce a new free tier:
This blog is in the spirit of Buffer’s open blog or Ghost’s Baremetrics reports. It’s especially great to see a company sharing numbers when they know they still have a lot of growth ahead of them to get where they want to be.
If you’d like to start a new blog but aren’t sure where to host it, check it out. Typed.com has a well-designed admin UI that is refreshingly simple compared to much of the more bloated web software out there.
It’s also possible to use Typed.com as a microblog. I pointed to some tips for this last year. Since the title of a post can’t be blank on Typed.com, I suggest using a date/time for the title. My new microblog platform is smart about treating those kind of short posts correctly when reading from an RSS feed.
Two new microblog-related services have launched. This week, Dave Winer announced River5:
River5 is built on a few XML and JSON formats, including River.js. I’m pretty interested in River.js as a format for aggregating multiple feeds together, so I’ve supported it in my new microblog platform. As a next-generation RSS, though, I prefer the proposal I wrote about in a post called RSS for microblogs.
Next up is twtxt, which attempts to recreate Twitter as a distributed, command-line based system with self-hosted text files:
I’m less sure what to think of twtxt. The simple plaintext format is nice, but we already have a good infrastructure for this with RSS. And as I’ve noted before, having HTML in RSS with inline styles and links is nice for microblogs, and it’s not clear to me whether that would fit well with twtxt.
If you want to start an indie microblog, my suggestion remains to use existing blog software that can generate simple RSS feeds. Short posts, no titles. This is a widely-deployed format that we can continue to work with for years to come.
Dan Moren reports that Twitter is rolling out their algorithmic timeline, where tweets aren’t strictly reverse-chronological. It is opt-in for now, and likely won’t apply to third-party clients:
I don’t see the setting in my Twitter account yet. As a user, I hardly care, because I don’t read the Twitter timeline directly anyway. But I’ll be watching how people react to this and how it might affect my own microblogging plans.
A couple folks have asked me if I will have a Slack channel for my new app. Thinking about this today… no. I’m feeling pretty overwhelmed with Slack right now.
Slowly getting back into work after being sick for a couple days. Also took a break from the new podcast since my voice was horrible. Hope to get caught up on both coding and recording soon.
Charles Perry has started a microblog. On the balance of what he should post to Twitter and what he should post to his own site first, he writes:
I was really happy to see these posts show up in my RSS reader. There’s some momentum around indie microblogging right now. You should start one too.
Here are some more of my posts on the topic:
Listeners of my new Timetable podcast also know that I’m writing a short book about independent microblogging. You can hear a little about this on episode 9.
Enjoyed the CocoaConf podcast with Brent Simmons. Life before the App Store: “It was fun! We could release software any time we wanted to.”
Discovered @electionpunkass on Twitter. Nice commentary! Someone tell Daniel to start a blog. I know a good blogging app.
I have years of journals in Day One, but it wasn’t in my routine lately. Back into it. As I said on Core Int, it’s the kind of app I wish I had written.
Introduced more bugs in my cross-posting logic. This is one of those rare pieces of code that actually needs good unit tests.
On this week’s Core Intuition:
Toward the end of the show, I also discuss my approach to password-less accounts for Searchpath and my not-quite-released latest web app. While still far from perfect, I think getting away from passwords is an important next step for apps. Passwords are just too annoying for users to keep track of and enter, and a potential security issue and headache for system administrators.
Found an old EC2 instance and couple EBS volumes to delete, to trim my AWS monthly bill. Really just using S3 now.
The new Day One release reminded me I’ve wanted to import some entries from our Europe vacation blog last summer into Day One as an extra copy. Highly recommend private family blogs as a way to remember a trip and share with others.
Ben Brooks takes on the trend of cute stories inside of release notes:
I agree. These were fun at first, but the release notes don’t need to be entertainment. They should be a summary of what changed, with bullet points for key changes. (A single “bug fixes” line is also not helpful.)
I personally like to start each line with a clear statement: “Fixed <something>” or “Added <this feature>” or “Improved <something else> by <doing this>”. You can see this in the history of my Tweet Library release notes, for example.
Good progress this morning, finishing some work I had been putting off with the GitHub API, and converting to HTML email in the new app. I’m using these templates from Postmark.
A few weeks ago I started a new short-form podcast called Timetable. Each episode is 3-5 minutes. It has been really fun to record the show because I can try new things without investing too much time.
One goal from the very beginning was to record from iOS so that I could easily record outside the house. I wanted not just the flexibility to be away from my computer, but a stereo microphone that could capture some of the surrounding environment, to give it a more informal feel. (I’m actually cheating in some cases and using multiple tracks, to make editing easier, but I think the effect works. All the episodes have been exported to mono so far, though.)
I ordered this cheap iPhone microphone for testing — only $10 when I ordered it! — and figured after some experiments with my iPhone 4S, I would invest in something new. I liked it enough that I’m still using the mic with my 5S via a Lightning cable adapter. I’m also using a foam pop filter that I already had from a previous old mic.
This may be the single best value in a tech gadget I’ve ever purchased. Total cost for producing the podcast:
I certainly didn’t invent the idea of a “microcast”. There are other good short podcasts, such as Bite Size Tech. But I’m happy to see even more people trying out the idea. Michael even started a new podcast called Driftwood to chronicle the development of his Jekyll template for microcasts.
Ferrite also continues to impress. It’s a very high quality iOS app and is competitive with Mac multi-track audio editors. For a good introduction, check out Jason Snell’s review.
Posted episode 10 of Timetable. Recorded and edited with Ferrite, except for MP3 conversion. Still need a good iOS solution for that.
Some people say you shouldn’t mix personal and business blogs, but I do it anyway. I’ve been blogging for about 14 years. It’s all there.
As Iowa kicks off the election today, I thought I’d offer my 2 cents on the campaign. I’m a strong Hillary Clinton supporter.
Dave Winer writes that Hillary is what we need right now in terms of projecting a stable image to the rest of the world:
It’s great to see the passionate Bernie Sanders supporters, too. I was fired up for Howard Dean in 2004, so I remember what that excitement is like. But I believe Hillary would be a great president.
Eight years ago I put together a short podcast episode about the campaign, trying to capture something from 2008. You can listen to it here. My daughters — who were 7 years old at the time — make an appearance at the end of the episode. Now, of course, they’re 15, and the weight of time passing couldn’t be more clearly felt.
There’s a good line from Hillary in one of the first Democratic debates in 2015:
I think that sums up what we can expect from a Hillary Clinton presidency. I have no idea what a Bernie Sanders presidency would look like — what it would accomplish — and I’m not sure he does either. My concern isn’t in the ideas, but in the execution against a politically calculating, Republican congress.
Bernie and Hillary share something in a fighting attitude, though. Neither candidate will let the Republicans walk over them. If you don’t think Hillary’s got this, re-watch her speech at the 2008 Democratic National Convention.
Just published episode 9 of Timetable, following up on the iPhone app and what the Kickstarter is actually all about.
Core Intuition 217 is a big episode: releasing updates, App Store rejections, handling trials, and more. coreint.org/217
Getting some really good feedback on the new app. Lots to do! Sometimes I wonder if I’ll ever ship this.
There’s new activity at the W3C around independent blogging, with new proposals recently posted as working drafts. Helped by a push from the IndieWebCamp, two of the highlights include:
I want to support these in my new web app. At launch, I hope to allow Micropub POSTs alongside the classic XML-RPC Blogger API (and my own native JSON API).
And of course the IndieWebCamp is also known for POSSE: publish on your own site, syndicate elsewhere. That strategy has helped me refine my own cross-posting.
I don’t think it’s my imagination that more and more people are blogging again. Now’s the time to resume your blog, start a microblog, and take back the future of the web from silos. If we can roll some of these new standards into what we’re building and writing about, the open web will be on the right track.
Bad news from the Parse team at Facebook today:
For years I had always heard great things about Parse. I eventually used it for the first time a few months ago on a client project. It’s got a well-designed API, friendly monthly pricing (free for many apps), and it seemed well supported, with new features like tvOS support and a web dashboard redesign rolling out just a month ago.
Thinking about this tweet from Daniel Jalkut, I’ve always advocated for iOS developers to also be good at web services. Customers expect sync everywhere now, and you can do things with your own server that will give you an advantage over competitors who have a simpler, standalone iOS app. But being forced to migrate server data isn’t fun, especially on someone else’s schedule.
“Apple has also been testing versions of the 9.7-inch iPad panel that are compatible with the Apple Pencil, according to sources.” — Mark Gurman on 9to5Mac
Fixed more bugs in my new cross-posting code. The code already probably needs to be refactored… Lots of complexity and edge cases.
Nice observation by Jason Snell from the Apple quarterly report conference call:
Like Jason, I’ve long wanted a return to “Mac” as the most important part of the OS name, and have suggested it a couple times on Core Intuition. It was a missed opportunity to do this transition after 10.9, when it could have cleanly gone to Mac OS 11 without the .10 and .11 silliness.
The new tvOS and watchOS branding — combined with Apple’s quote above — makes an official rebranding to “macOS” at WWDC this year seem almost likely. The next major version should be macOS 11, without the “X” and “10.x”. That would still look a little wrong compared to simply “Mac OS”, but it would be much better than “OS X”, and the lowercase would be consistent with the rest of the platforms.
There’s a lot of great stuff in Panic’s 2015 report, but I’m especially struck with how well they executed on updates. This is something that successful companies get right, and which I still struggle with: continuing to make each app just a little better, with bug fixes throughout the year, instead of getting completely sidetracked with new projects. Cabel writes:
The product update grid that accompanies the report really underscores this:
Congratulations, Panic. I’ve been using the new Coda for iOS on my iPad Pro and it’s excellent.
Matt Gemmell has started including shorter posts on his blog. Today he writes about Twitter’s decision to not show ads to some popular users:
Ads are the worst. I don’t know if it’s possible to build a large-scale social network like Twitter or Facebook without being mostly ad-supported, but I’d like to believe it is. WordPress.com — which has elements of a social network, even though we don’t consider it one — might be the closest successful attempt.
When I was first trying to figure out how my microblog posts should look, I was thinking more like tweets and less like HTML. Eventually I settled on HTML for publishing and display, with Markdown for writing.
Here’s what a microblog post looks like in the timeline for my new web app:
You can compare that to how it looks when cross-posted to Twitter. It’s not exactly a fair comparison since the tweet was truncated, but it’s still incredible to me how much better these posts look if you allow inline links and some more characters.
Zac Hall of 9to5Mac follows up with a new leaked photo after the latest iPhone 5se news. It seems the hardware design may borrow more from the 6 than the 5. Zac writes:
NoooOOOooooo. I can understand wanting consistency between models, but the iPhone 6 sleep button is a major usability issue because it gets in the way when trying to use the volume buttons. I’ll be disappointed if the design trade-offs from the 6 make the 5se worse. (But I’ll buy one anyway.)
For the last couple years, I’ve ignored Apple changing to lowercase on the 4S, 5S, and 5C. Giving in for the 5se.
Rob Rhyne wrote an essay last week that caught my attention, on Tim Cook and the incredible pace of new major OS versions at Apple:
But I found it significant for another reason too: Rob hadn’t blogged on that site in over 2 years. He picked it up as if no time had been lost, hitting the ground running with a great post.
He’s not the only one starting to blog more. Matt Gallagher just rebooted Cocoa with Love after 4 years since his last post. Swift was a good excuse to resume writing, but he had wanted to continue the site anyway.
Most of my favorite blogs have new posts every day, or at least once a week. New posts bring more links and traffic, giving the blog life and momentum.
There’s no single correct way to blog, though. Blogs are forgiving. If you’ve neglected your blog for a while, you don’t owe anyone an apology. Just hit command-N in your favorite text editor and start writing.
Worked on emoji issues in MySQL today (hi again, utf8mb4!). Should’ve had this right earlier, but at least happy to fix it before launch.
Tried something new for episode 8 of my Timetable microcast this morning, recording in 3 quick segments: around 6am, 8am, and noon. Good reminder to myself how much I can get done in half a day if I start early.
Joe Cieplinski ported his iPhone timer app Fin to the Apple TV:
Hearing stories like this, and thinking about my own apps, I’m convinced that the Apple TV needs split-view support like iPad multitasking. Our apps could be off to the side of the screen while someone uses most of the TV for watching shows or running another full-screen app. Just as I suggested that lightweight universal apps are okay, there is a class of apps that would become more useful when they don’t have to monopolize the entire TV.
Soroush Khanlou, looking for more new blogs to read, makes a great point that the process of blogging leads to better writing:
I think there’s something to that. It’s often only after writing our thoughts down that we fully understand how we feel about a topic.
And here’s where I bring this back to microblogging. Because when starting a post, we don’t always know whether it will be long or short. How often have you seen a series of tweets that in hindsight even the author would agree should have been a blog post?
This is less of a problem if instead of tweeting you start out with the intention of posting to your own site. Short post can stay short, and posts requiring more words can naturally expand to a full essay.
I don’t think that our short-form, seemingly unimportant writing should exclusively be on centralized networks. If it’s worth the time to write something — whether a thoughtful essay or a fleeting one-off microblog post — then it’s worth owning and publishing at your own domain name.
Feels like we’ve been waiting all season for this: Spurs at Golden State tonight. Warriors undefeated at home, Spurs winning their last 13 games. And Kawhi quietly playing some of the best basketball in the league.
Mark Gurman reveals at 9to5Mac that the new phone I’ve been waiting for will be called the 5SE:
Seems odd to keep the “5” name for a phone that more closely resembles the iPhone 6/6S except for size. But I don’t really care what it’s called. This phone matches my expectations or exceeds them. Fantastic that it even supports Live Photos.
In the most recent Six Colors subscriber magazine, Jason Snell talks about adding an SSD to his Mac Mini home server. It got me thinking about finally upgrading our old family iMac (late 2009!) to give it a little more life, so I ordered a new SSD for it today.
A side note about email newsletters: I subscribe to several, and while I love reading them, I can’t help but think that this great content should be on the web instead. Perhaps a copy of the newsletter text could be subscriber-only on the web just for the first 3-4 months after it has been published, and then open up to everyone. Ben Brooks has some more thoughts from the skeptical side of the newsletter debate.
Back to the iMac. The new SSD cost more than I was expecting ($200 + $50 tools), so I think it will serve mostly as a fun exercise in taking apart computers with my son rather than a great upgrade value. A brand new Mac Mini is still only $500, for example. But because nearly everyone in the family already has their own MacBook, or wants one, doesn’t seem practical to buy a new shared desktop computer.
That app rejection resolved itself very quickly. In the time it took to record a podcast and leave a comment in the Resolution Center, the app got a second look by review and is now approved. Thanks Apple! Hopefully minor updates before launch won’t trip anything up.
Posted a new episode over at timetable.fm, talking about being distracted with backups and my iOS app rejection.
New app rejected because I have paid web subscriptions but don’t use IAP. Sigh. Thought I would be safe if I never linked to the web site.
We just posted episode 216 of Core Intuition: the Shush app rename, trademarks, business blogs, and the 5-year Twitter bet. coreint.org/216
Over the holidays, or while on any vacation, I usually use iOS more often than my Mac. It’s easier to quickly catch up on email or fun stuff like Instagram without getting too pulled away from what matters: spending time with family and friends. So as I use iOS, I’ve been thinking about what might make the iPad better.
Last year Jared Sinclair blogged about some of the problems with the iPad, with ideas for “saving” it. The most interesting of these was his suggestion of a “Gatekeeper for iOS”, where iOS apps could easily be side-loaded onto iOS without Apple’s approval:
Daniel and I discussed this on Core Intuition episode 207. We acknowledged that as great as it would be, this compromise of Gatekeeper apps being subject to API restrictions might not be possible. The whole point of Gatekeeper is to leave Apple out of the distribution process, so there would be no place to impose such restrictions except at the API level. Still, I’d welcome any kind of side-loading.
Most Mac developers have wanted a Gatekeeper-like solution for iOS since the very beginning of the iPhone. Back in 2011, I wrote a post about Apple’s 30% cut and the lack of side-loading for iOS:
But side-loading isn’t really holding back the iPad. What’s holding it back is the slow pace of progress in UI improvements. For example, the home screen remains virtually unchanged since iOS 3, and on the iPad Pro the classic grid of large app icons looks more like the Simple Finder than a way to manage and launch productivity apps.
More key areas of the UI need to take inspiration from iPad multitasking. While split-view and slide-over aren’t perfect, they’re something. Likewise for iOS extensions, which were such a step forward that we were willing to overlook the UI clunkiness. These new features helped Fraser Speirs switch to an iPad Pro full time:
I’d like to see Apple experiment more. To not be afraid to try something new with the UI and ship it, as long as they still follow up and refine it.
Here’s a great feature idea to take multitasking further, from Stephen Hackett’s iOS wishlist:
Nilay Patel, in a 2015 wrap-up for The Verge, wrote that Apple has been setting the groundwork for new platforms, and that this year they will have to iterate and improve on what they’ve started. He sees the iPad Pro in particular as a step forward without a clear defining feature:
That missing “thing” is clear to me: the Apple Pencil is the best stylus that has ever been made for a device — tablet, desktop, or standalone display. It’s so good that I assumed I would sell my retina iPad Mini and use the iPad Pro exclusively.
That hasn’t happened. I realized when making the choice of which iPad to take downtown the other week that the Mini is still my favorite size. I hope as part of the next phase to Apple’s iPad platform that the Pencil makes it down to the rest of the iPads. It’s important that developers can count on the common availability of the stylus, just as we can count on multitasking and app extensions to set the pace of UI progress for the platform.
Deployed my new cross-posting code, with better links and smart truncation. Making this post too long for Twitter just as another final test. So far, working pretty well to continue my microblog posting workflow, then handling replies on Twitter.
More good coffee shops starting to pop up in northwest Austin. Working from the new Two Hands Coffee over at the Domain this morning.
I’m finally trying Ulysses. After posting about how I write blog drafts, a reader pointed out that Justnotes for Mac isn’t actively maintained anymore. I think Ulysses will make a nice replacement, both for my Dropbox folder of 1000+ notes, and also for longer, more structured writing I want to do.
Ryan Irelan uses that structure to organize courses for Mijingo:
Ben Brooks is also trying to consolidate from the iOS 9 Notes app and others to just using Ulysses:
I can already tell that Ulysses is a great app. Looking forward to the upcoming universal version with support for the iPad Pro, too.
Not happy with IFTTT for cross-posting, because of poor truncation and obscured links. Working on a new custom solution.
I’ve said before that there’s something about the 140-character limit that brings out both the best and worst in people. Nick Harris hints at this while writing about taking a break from Twitter:
He also talks about the obsession with stats and follower counts, which Brent Simmons picks up on and carries further:
When designing my new microblogging platform, I made a conscious decision to not even show follower counts. You can get the followers from the API, but I didn’t want to have the numbers right in your face when viewing someone’s profile. It’s too easy for us to make a judgement based on how many followers they have, and so miss out on whatever they have to say.
When I blogged about Brent Simmons’s list of women bloggers, I said that we need more diversity in what we read. That will naturally lead to more diversity in other areas, such as conferences.
But not everyone can easily get access to conferences or take advantage of everything they offer. Sound Off is trying to help with that, through efforts like funding for sign language interpreters, child care, and scholarships. Gus Mueller, also with a quote from Brent, says it well:
And Ashley Nelson-Hornstein adds this:
I’m a little late linking to Sound Off, but it’s a good cause that needs our support. You can learn more here.
Some thoughts about basketball and Kickstarter on episode 6 of my new short-form podcast, Timetable.
Had to run to the dentist right after posting to my blog, so now catching up on some Twitter replies. Thanks everyone! Fun experiment so far.
Whenever someone says “I don’t read RSS”, I actually hear “I don’t read Manton’s blog”. I could give plenty of reasons why they’re missing out by ignoring RSS — it’s still the best way to keep up with bloggers you like who aren’t linked or retweeted often enough to bubble up on Twitter — but some people won’t be convinced.
Over three years ago I stopped posting to Twitter. I know it was the right move on principle because there was a real cost in exposure, with fewer people actively keeping up with what I’ve been working on. As I’ve said before: it wouldn’t mean anything if it didn’t cost me anything.
And yet, many people get their news from Twitter. Since I started microblogging on my own site, I’ve had time to reflect on the role of indie microblogging and cross-posting. I think the IndieWebCamp has it right: publish on your own site, syndicate elsewhere. I wrote more back in July about cross-posting.
Most importantly, as I work on a microblog publishing platform of my own, how can I develop a solid cross-posting feature if I don’t actively use it myself? I’ve recommended IFTTT to beta testers, but only by using it myself can I know where the gaps in functionality are.
So I’ve been experimenting. All of my posts now go out to the Twitter account @manton2. This was an account I created 6 years ago for testing. Except for a few of the first tweets, I’ve cleared out the test content and given it a new life.
It’s worth noting some advantages and disadvantages to this:
You can follow @manton2 on Twitter. Thanks for reading.
When the iPad first shipped, many developers embraced completely separate apps for iPhone and iPad. The argument was that they were different platforms and deserved special design attention (and separate revenue). I never bought this argument, and eventually — with the iPhone 6 Plus and multiple screen sizes — everyone agreed that it just made more sense to use universal apps.
At the same time, there’s a parallel argument that an app on the iPad shouldn’t just be a “scaled up” version of the iPhone. That if you can’t invest the time to do a universal app properly, don’t bother.
The redesigned Twitter iOS app was a great example of this. It was widely mocked for it’s poor use of space on the iPad.
With the iPad Pro and widespread iPad multitasking, I think this changes again. An iPad app that is designed exactly the same as its iPhone version is still very useful in slide-over and split screen. In fact, for many “iPad” apps I use every day on the iPad Pro, I use them in their compact layout more often than full screen.
My next app was designed for the iPhone. I spent some time trying to rework it with split views for the iPad Pro, but I just can’t justify the work right now to finish that effort. I’m going to ship it as a “lightweight” universal app anyway, though, so that it’s available in slide-over. To me, that’s a worthwhile compromise, significantly better than no offering on the iPad at all.
Submitted a new app to Apple for review this morning. Not sure when it will be released yet, but felt like it would be good to get it through the App Store review process just so that it’s ready.
I was confused at first by Apple’s iAd announcement to developers. I read it as iAd completely shutting down, but apparently it’s just the “app network”. Still, it’s a welcome setback for those of us who were never fans of iAd.
John Gruber doesn’t think Apple’s heart is really in it:
I agree. Back in 2010, I said that I hope iAd fails. It seemed at odds with Apple’s focus as a product company, not to mention hypocritical for a company with ad-blocking APIs. Apple and third-party developers should be united in encouraging users to pay for apps; iAd is a distraction from that.
As a follow-up on Twitter and links, I want to point to this great post from Rian Van Der Merwe about platform silos as “shortcuts”:
My current thinking on Medium is that it’s a shortcut to building an audience for a single post, but doesn’t really help build a true audience. In other words, you will get more exposure, and maybe one of your posts will be lucky enough to be recommended and included in Medium’s daily email, but after someone finds it they aren’t as likely to read your other posts and subscribe to your entire site.
We can’t talk about silos like Twitter and Medium without talking about cross-posting. Noah Read says:
I’ve been thinking a lot about this too. For beta users of my new product, I’ve been telling people to use IFTTT to wire up cross-posting to Twitter. But that’s another step that will be confusing to people — an opportunity to lose interest and give up. Cross-posting should be a core feature.
On this week’s Core Intuition, Daniel and I start with a recap of Daniel’s time at the tvOS Tech Talk in New York City. More from the show notes:
It’s not too early to start planning for WWDC. Hotel pricing is a major issue this year, and I have a feeling people will be more scattered around the city than usual.
Disappointed in ticket prices for the Warriors game in San Antonio in March. We’ve already been to several Spurs games this season, so going to save my money for the playoffs.
Ended up cancelling Gauges. No complaints, it served me well for 2 years. I exported the most important stats as a set of screenshots from their web dashboard. Faster than writing an app to hit their API.
Now that I’m using Jetpack for most of my WordPress sites, I’m tempted to just stick with WordPress for stats. Currently using Gauges, which is good and only $6/month, but yet another JavaScript hit.
Federico Viticci covers the news that Twitter will expand from 140 characters to 10,000, nicknaming the feature Twitter Notes. His nickname is appropriate given this latest transformation to become more like Facebook, since Facebook’s Medium-like capability for long posts is also called Facebook Notes.
The tweets and blog commentary on this have really missed a key aspect and cause for concern, though. Many posts – including even my own first attempt – have focused on whether Twitter Notes would water down Twitter’s unique strength. They then conclude that it’s better to include a long-form text feature rather than the compromise hack of screenshot text and tweetstorms. Federico sums up this endorsement with the following:
Here’s why this matters, and it gets back to my post last week about the hyperlink. Closed platforms want to trap all activity, not send it out. The danger in Twitter Notes isn’t that they will replace textshots, it’s that they will replace external blogs.
For all of Twitter’s problems, at least right now most of the good writing we see on Twitter is actually linked out to external blogs (and yes, increasingly Medium posts). To shift that to be stored more on Twitter itself would be a setback for the open web. It would slowly train a new generation of timeline surfers to prefer Twitter-hosted content instead of blogs.
I wrote the above in draft form, and then later saw Ben Thompson’s daily update about the Twitter news. His take is the first I had seen that directly covered the issues of linking, even suggesting that no one really clicks on links anymore. But while he’s worried about Twitter from a business standpoint, I’m more worried about the attack on the web.
Ben also mentioned the clever trick Jack Dorsey used in writing his response as a textshot. Daniel Jalkut pointed out the same thing in the latest Core Intuition. Jack could have posted it to a blog, or to Medium, but he deliberately picked the worst way to work around Twitter’s current 140-character limit, to underscore his point.
Now, Will Oremus writes for Slate about the potential new Twitter walled garden:
I know we can’t rewind the clock to the heyday of the blogosphere. But we can still do more. More to encourage bloggers, more to spread awareness about how the web is supposed to work, and more to value open APIs. I think it starts with 2 things:
I was encouraged when I saw that Known had added support for AMP. They have their doubts about AMP, but at least they were quick to try it. From the Known blog:
Maybe AMP ends up being too ad-friendly to become a good standard. I don’t know. But if so, we’ll move to the next idea, because the web has to be faster. Slow pages are like a disease for links.
Anyone with a blog should be concerned about what could happen with Twitter’s 10,000-character push. We won’t feel the effects right away, but years from now it will matter. We should do more not just to promote blogs and writing on the open web, but to also make it easier for Twitter alternatives to exist through independent microblogging.
Finished writing up some more thoughts on the Twitter 10k-character length change, for posting to my blog tomorrow. Funny that it feels like “old news” even though the feature hasn’t launched.
I’ve talked about my hope for a new 4-inch iPhone several times on Core Intuition, and a few times on this weblog, like here and here. The rumors keep growing, and Stephen Hackett has written out his thoughts on a potential iPhone 6C:
I’d love to see an A9, but I’m not counting on it. I think an A8 is fine too, mostly matching the internals of the latest iPod Touch. This wouldn’t be competitive with the iPhone 6S but it would still be a great upgrade from the iPhone 5S, which is the primary phone for anyone (like me) who still clings to the 4-inch design.
The larger 4.7-inch and 5.5-inch designs will remain the top of the line iPhones for years to come. The 6C doesn’t need to change that; it’s not a peer to the larger phones. It just needs to clean up all the money Apple’s left on the table from customers who want a smaller phone. I’ll buy one right away.
I love Matt Mullenweg’s long tradition of blogging each year on his birthday, with a look back at the year. I try to do something similar on my blog anniversary, but not quite as consistently.
Remember last week when I said I wouldn’t register any new domains? Well, decided to grab timetable.fm after all.
I just published episode 5 of my new short-format podcast, Timetable. I’m having a lot of fun with this. Producing an episode that’s only 5 minutes long means I can experiment without investing too much time.
As I was listening to some other podcasts this week talk about the Twitter news, it occurred to me how important it is to have a good mix of podcasts, just as it is with blogging. Many of the most popular Apple-related podcasts hit the same news stories each week and have nearly the same opinion. Don’t get me wrong; I listen to a bunch of them and they’re great. But it’s a reminder to me that for Timetable, and especially for Core Intuition, not to be afraid of having a more contrarian role when it’s appropriate.
There’s nothing controversial in the latest episode of Timetable, though. Just me talking about getting some stamps to finally send out stickers.
Looks like old Yfrog and Twitvid URLs are broken, and some Twitpic ones too. I thought Twitter would maintain Twitpic after the acquisition.
Starting to get some nice feedback on my new podcast. People like “microcast”, too. Seems like this could be a thing.
Posted another episode of my new Timetable podcast. Realizing now that the short format will allow plenty of opportunities to experiment with how I record and edit the audio.
I’m launching a new podcast today. For a while I’ve felt like there could be something interesting in a very short podcast, where I talk a little about what I’m working on or thinking about throughout the week. Each episode is going to be just 3-5 minutes.
It’s called Timetable. I’ve published 3 episodes, and have a 4th that will go out later today. I think of it as a “microcast”, complementing the informal nature of my microblog posts. And just as I have longer essays on my weblog, of course I’ll continue to explore larger topics for indie Mac and iOS developers on Core Intuition with Daniel Jalkut.
If you check it out, let me know what you think at manton@manton.org. Thanks!
I’ve been experimenting with starting a new podcast. I’ve recorded 4 episodes now, so will probably announce it today… Very short, 3-5 minutes, to complement my microblog.
Dave Winer gives 3 reasons why you should be posting short items to your blog, including:
I’m counting on this. I have a separate RSS feed for microblog posts, and it doesn’t look great in some news readers because the title is blank. Some folks have asked whether I should include a fake title there — the first few words of the post, or a timestamp. But the RSS spec is clear that title is optional. Only by breaking things a little will RSS readers improve to gracefully support title-less short posts.
Since moving to WordPress, I haven’t changed much with how I write blog posts. But there are more tools available now, so I thought I’d revisit my workflow.
The key is being able to work on a blog post from any device and any text editor. I have a Notes folder on Dropbox that I use for draft blog posts and notes about other projects. When I have an idea for a post, I create a new note there and either start writing it, or leave a link, quoted text, or a few topic ideas to come back to later.
On the iPhone, I use Editorial. On the iPad, I use Byword, since Editorial hasn’t been updated for the iPad Pro yet. And on my Mac, I use Justnotes. All of these sync from the same Dropbox folder. They are plain text files, so I can edit from anywhere and they’ll survive platform and hosting changes over the years.
If I’m on my Mac, when I finish a post I’ll preview it in Marked and then copy it into MarsEdit for posting. On iOS, I’ll copy it into the WordPress iOS app. For microblog posts from iOS, I use an unreleased iPhone app that’s part of the microblogging stuff I’ve been working on.
I’ve also been using the Calypso-based WordPress UI a lot lately. I usually work on several blog posts at once, and if a few are ready to go at once, I schedule them to go out later in the day or over the next couple of days. WordPress’s web UI makes keeping track of scheduled posts pretty nice.
It hasn’t been all perfect switching between multiple apps, though. I noticed today that some of my new posts, which I always write in Markdown, were converted to HTML for publishing (likely by Calypso on WordPress.com). But for the most part, no regrets switching over to WordPress. The added flexibility and future-proofing have been good.
Excited about the first episode of Canvas, a new Relay FM show from Federico Viticci and Fraser Speirs. Queued up for the car later today.
Trying to update my iPhone 4S from iOS 7 to 8, so it’s still useful as a test device. Not easy when Apple wants everything on iOS 9.2.
The first Core Intuition episode of 2016 is out. We talk about Twitter’s potential 10k-character change and much more. From the show notes:
For 2016, we’ve decided to expand the length of the show a little. Most episodes will be around 45 minutes to an hour. This gives us more room for topics, and allows us to accommodate 2 sponsors per show.
I’ve also cleaned up the logo a little for the podcast feed, including adding the “Core Int” text to the graphic itself. It should look much better in your favorite podcast client. Thanks for listening!
Spending more time with the audio editor Ferrite. It’s one of the most impressive iPad apps I’ve ever used.
Not a good start to the day. I’ve been preoccupied and frustrated by this Twitter 10k news, which I’ll blog more about later. Also had a dentist appointment.
Feels like years in the making, but I’ve finally moved all my domain names to a single provider: DNSimple. The last 3 domains went through toward the end of 2015. They were .io domains, and required calling Network Solutions to unlock. (I own 13 domains, and don’t plan to add any more for a very long time.)
I’ve found that the simplicity of having these kind of things consolidated in one place really improves keeping up with hosting and renewals. It’s the same reason I moved all my private projects to GitHub, even though it would cost more per month. It means less to worry about, so more time for coding.
Since I’ve often been thinking about the lack of permanence on the web, I also want to be more proactive about extending my domain registrations. I renewed manton.org until 2021.
If you’re interested in using DNSimple, use this referral link for a month free. All my SSL certificates are there too, although I’m keeping an eye on Let’s Encrypt.
First, Twitter experimented with changing the timeline, so it’s not strictly reverse-chronological. Then, they renamed Favorites to Likes. Soon, they will remove the 140-character limit, becoming Facebook, and the circle will be complete:
The learner is now the master. Welcome to the dark side.
Speaking of the health of the open web, Maciej Cegłowski gave a talk on web page bloat at the Web Directions conference, and he put the slides and notes online (via Daring Fireball). It’s fun to read and there are many great points, but I want to focus on Accelerated Mobile Pages:
Sarcasm aside, I think Google’s involvement is mostly transparent, and I was hopeful about it when I wrote about this in November. Google wants the web to be fast. A faster web includes more ad impressions and is more competitive with native mobile apps. I don’t think this disqualifies Google from proposing this project.
High Scalability has a long article exploring AMP:
I’m willing to give Google the benefit of the doubt on AMP. The alternatives are too focused on specific platforms and so even less available to the rest of the web.
Created a new WordPress blog for something today. Going to be tinkering with it throughout the week until it feels ready to launch.
Switched to only drinking tea over the holidays. Today’s the first day with the kids back to school — in theory I have the whole day to work uninterrupted — so made myself an iced coffee to get started. Maybe coffee will be a weekly instead of daily thing for me going forward.
Hossein Derakhshan spent 6 years in jail in Iran because of his blog. Now, with the clarity of seeing years of changes to the web and social networks all at once after his release, he’s written an important essay on the value of hyperlinks and the open web:
He mentions apps like Instagram, which have no way to link to the outside world. Too many apps are exactly like this: more interested in capturing eyeballs for ads than opening up their platform. The default for native mobile apps is to become silos, while the default for web sites is to be open and support linking.
There’s a second part to Hossein’s essay that I don’t agree with, though. He writes that “the stream” – a.k.a the timeline, a reverse-chronological list of short posts or links – is turning the web into television. But I think there’s a lot we can learn from the timeline. It’s a valuable user experience metaphor that we should take back from Twitter and social networks.
Building on the timeline is basically the whole point of my microblogging project. We should encourage independent microblogs by using a timeline interface to make them more useful. (Interested? Sign up on my announce list.)
Back to links. Dave Winer, who has been cross-posting recently to Facebook and Medium, posted about how Facebook doesn’t allow inline links in the text of a post. As a new generation grows up on these kind of posts instead of real blog posts, will people understand what they’re missing? Dave writes:
This is a great challenge for 2016. Not specifically with Facebook, but with the larger idea of bringing back the web we lost, retrofitted for today’s app-centric internet. I hope to spend a good part of the year working on it.
Noticed that LongPosts.com is gone. I only had one meaningful post there, so I’ve moved it over to my blog, filed under December 22nd, 2012. The web is fragile.
Increasingly frustrated to type on the iPad Pro. The software keyboard changes depending on whether it’s an updated app (with support for iPad multitasking), and the number keys and punctuation all seem mixed up or unreliable.
Stephen Hackett posted an Apple Watch follow-up recently. He has mostly stopped wearing it:
The Apple Watch is a very personal device. It’s okay that it’s not for everyone. There’s no network effect; the watch isn’t better or worse if other people don’t use it. And it’s even okay if most of the apps are too slow to bother with. Fitness tracking, notifications, the time — for me, those 3 simple features are enough.
Casey Liss also writes that notifications have been one of the most important features, letting him keep his iPhone ringer off:
Once every couple of months, I leave the house in a hurry and forget to put my Apple Watch on. I survive without it, of course, but I do miss it. After not wearing a watch for most of my life, it’s weird now if I don’t have the Apple Watch with me. I expect to use it for years to come.
I’ve been working on the first few posts for 2016, and stumbled into a bit of nostalgia reading posts from 10+ years ago. Such a clear reminder of how important it is to have a blog, even if some are short microblog posts like this one.
Star Wars seems a good time to get back into comics. Browsed around in Comixology and also picked up a Marvel Unlimited subscription to catch up on the new Star Wars series.
Just in time for the holidays, we posted Core Intuition 212. Daniel and I talk about the iTunes Connect shutdown, the Slack API and new fund, and web app pricing.
Nice write-up at The Verge on the proposed Lowline Park, an underground park built in an old trolley terminal in New York City. The space has been relatively untouched for over 50 years:
One of the highlights to our trip to New York City a couple of years ago was the High Line, a park built from an abandoned elevated freight train line originally scheduled for demolition. As a train fan — I did a podcast episode about trains and animation 10 years ago — I love to see any of these historic lines preserved in a new form.
Finally saw Star Wars: The Force Awakens yesterday, and woke up today still thinking about it. Very happy to have gone 4 days without spoilers.
Went in to Honda service for a simple oil change and slow tire leak. They quickly added other problems, totally $1k. Contrast with my electric Nissan Leaf, which I’ve still yet to take in for anything. Just seems to work.
Today on Core Intuition, Daniel and I talk about my time at the tvOS Tech Talk and the recent executive changes at Apple. From the show notes:
We wrap up the show with a conversation about taking risks and setting the right priorities for an indie business. Along the way I mention this tweet from Kazu Kibuishi, which I misquoted slightly. Here’s the actual text:
If you enjoy the show, consider letting a friend know about it, or leaving a mini review on Twitter or iTunes. Thanks!
Apple announced some leadership changes today, including that Phil Schiller will now lead the App Store on Apple’s various platforms:
You may remember that Phil Schiller has gotten involved in controversial App Store rejections in the past, going back to 2009. See this post from Daring Fireball about Ninjawords, and another article at Techcrunch by MG Siegler.
On recent episodes of Core Intuition, and in a blog post, I’ve argued that Apple can’t just make small improvements to the Mac App Store anymore. The time for slow iteration is over; now they have to make big changes to get developers back. I’d like to believe that putting Phil in charge is exactly that kind of first big step.
Update: Less optimistically, though, there was this post in 2012 from Rogue Amoeba.
Forgot to watch the Republican debate last night, and now that I’ve reviewed a few of the quotes and video snippets, glad I missed it. Wow, these candidates.
Decided to bring my iPad Mini to the tvOS Tech Talk today instead of the iPad Pro. Just much more convenient to carry around the smaller device without needing a bag. And my backpack seems like overkill for an iPad.
On the latest Core Intuition, we talk about open source Swift, it’s potential for web server frameworks, and more about blogging tools. From the show notes:
There were also a few new jobs posted to jobs.coreint.org yesterday. Check them out if you’re considering a change for 2016, or just curious what is out there for Objective-C and Swift jobs.
Thinking about starting an “iPad Pro work day” where I use the iPad Pro exclusively all day once a week. I could still keep up with email, chat, and news, but mostly it would make me focus on blogging and writing. No Xcode.
Lots to work on and finish today. Started the morning with breakfast tacos and coffee, hoping to focus in Xcode for a while.
Missed the U2 concert last night, so put the replay from HBO on in the background while I work today.
Nice that the new iPhone 6S case charges via Lightning and displays the battery percentage in iOS, but I’d never put a case on my phone, and definitely not one with a giant battery sticking out of it.
I like what ESPN is doing in the sidebar on their NBA scores page. It’s a timeline of both tweets and short ESPN posts, integrated together with a clean design that fits the rest of the site.
This timeline is a great use of microblogging. The short posts aren’t limited to tweet-length — they’re often around 200 characters instead — so they can feel complete and informative while still being concise. I’ve suggested 280 characters as a guideline for microblogs, and having the extra characters to work with really makes a nice difference.
I took an example screenshot from ESPN and included it to the right of this post. The first two posts are these special ESPN microblog posts, and the third is a tweet. I don’t know what CMS-like system is driving this, but you can imagine using WordPress post formats, custom fields, or categories to achieve something similar.
I’ve become quite the fan of WordPress and Automattic over the last year, since finally switching. WordPress still has some problems — mostly in self-hosted web admin performance, and the clunkiness of editing themes — but Automattic is a good company. Around web publishing and hosting, I think 2 platforms are going to last for decades: GitHub and WordPress.
There’s a great interview with Automattic founder Matt Mullenweg on the Post Status podcast:
After listening to this episode, I’ve subscribed to the podcast. Looking forward to being a little more aware of what is going on in the WordPress community.
Like many developers, I’ve spent the morning looking over the Swift open source release. I continue to be intrigued and look forward to working Swift into more of my routine.
On today’s Core Intuition, Daniel and I talked about Swift for about half of the 50-minute episode. We recorded the episode yesterday afternoon, before the open source announcement, so we’ll be following up next week on everything that has changed. I bet there will be some more progress in Swift web server frameworks by then, too.
I knew it was December, but didn’t really hit me until today that months have gone by without shipping the app I’ve wanted to announce all year.
Getting ready to record another episode of Core Intuition. You can bet we’ll be talking about the Mac App Store. When listeners get tired of that, we’ll go back to complaining about Swift. (Kidding! Mostly.)
You’ve probably heard the news about Sketch. I found this section of their announcement the most interesting, because it highlights that this isn’t just about technical and strategic problems with the Mac App Store, but also about having a direct relationship with the customer to provide the best experience:
Of course, Sketch joins a growing list of apps unavailable in the store. From John Gruber:
Federico Viticci writes that Apple has to do something:
Daniel and I talked about this on Core Intuition recently. Developers have been complaining about the Mac App Store for years without seeing any progress. It was over 3 years ago that I pulled my app Clipstart from the Mac App Store to sell direct-only instead, because of my concerns about adapting to sandboxing.
All this time, Apple could have been iterating on the Mac App Store, improving sandboxing entitlements, improving review times, customer interaction, and more. Yet they have not. At this point, Apple can’t just do “something”. They can’t just improve the Mac App Store a little. They have to significantly improve it, addressing many issues at once. And even then, some of these great apps — Sketch, BBEdit, Coda, RapidWeaver — may not come back.
It’s time to stop giving Apple a pass on this Lightning audio cable rumor. Seems very misguided. We have so few truly open, compatible standards left, why kill off the ones that work fine?
Annoyed going back to Photoshop for some iPhone mockups, after a few months exclusively using Sketch and Acorn. I don’t think Adobe is “doomed”, but feels like their market dominance is over on the Mac.
As we talk about on Core Intuition episode 208, I finally got an Apple Pencil. It’s great. My experience matches Gus Mueller’s, about how good the Apple Pencil is after years of using Wacom tablets and third-party iOS styluses:
On the question of whether it’s a “stylus”, Ben Brooks sums it up this way:
I’ve also been improving the Apple Pencil support in an iPad app I’m working on. I haven’t completely finished reading Russ Bishop’s article on supporting the Apple Pencil, but looks like it has a bunch of additional tips in it that I’d benefit from. It covers not just the API changes to UITouch, but also gestures, coalescing, and predictive touches.
So many people have created a /now page, there’s a new site at nownownow.com with author profiles. I also updated my page this morning.
Still can’t believe that crazy Clippers/Warriors game last night. But somewhere in there is the key to beating Golden State if teams are paying attention. It’s going to be an incredible year for basketball.
I read a lot of weblogs. RSS is a great way to keep up with sites that update infrequently, or that aren’t popular enough to bubble up on Twitter with dozens of retweets. But the Mac and iOS community has grown so much over the years. I know there are many new writers who haven’t been on my radar yet.
Brent Simmons has posted a great list of tech blogs by women that I’m going through now. There should be something there for anyone interested in development or design:
The list grew to include over 50 blogs as suggestions arrived to Brent via Twitter. I’ve already subscribed to a bunch and look forward to discovering even more.
One of my favorite new blogs is the travel blog complement to Natasha The Robot, which made Brent’s list. Natasha was recently hired at Basecamp, runs the This Week in Swift newsletter, and writes on her new blog about working remotely. From a post about taking her laptop to restaurants in Europe:
When I quit my day job this year, it was partly so we could travel more without worrying too much about my work schedule, outside of when the kids are in school. In fact, just days after I finished writing my two weeks notice blog posts, we went to Europe and started a private family blog about the trip. So I’ve been inspired by Natasha’s blog as she shares her experience working in different cities.
And that’s a theme you’ll find in many of the developer-oriented blogs on Brent’s list. Wanting to get better, learning something new, and then sharing it with everyone else. Take this advice from Becky Hansmeyer, who wrote a daily series of posts about what she learned building her iPhone app, one post each day while she waited for her app to be approved by Apple. From day 4, on design and color:
Or this quote from Kristina Thai, who wrote a post about preparing to give a talk for the first time:
Kristina also gave a talk called Become a Better Engineer Through Writing. You can get a sense of the talk by downloading the slides. It covers the value to programmers in keeping a private journal, why you might write tutorials for your site, and makes a strong case for blogging.
Blogging isn’t difficult, but it’s still not yet as easy as tweeting. By creating a blog, you’re making a statement that you care about something. As I go through Brent’s list of bloggers, that’s what I’m looking for: what does the author care about, and what can I learn from or be inspired by in their writing? Because the more diverse our RSS subscriptions are — the more varied the opinions in what we read and share with others — the closer it gets us to a strong, healthy community.
Jason Snell has posted his initial thoughts on using the iPad Pro:
I don’t think Jason got an Apple Pencil or Smart Keyboard, although maybe he’ll have one of each in time for his full review. If you’ve enjoyed reading Six Colors as much as I have over the last year, consider subscribing too.
I haven’t seen Adele’s When We Were Young show up on Apple Music yet, so I used Audio Hijack to make an MP3 that I can put on repeat. Great song that has set the mood for my work today.
Jussi Pekonen has relaunched his weblog, with a new focus on microblogging:
He calls the short posts “blips”. I call mine snippets, which I borrowed from Noah Read. I like both names, but even more importantly, I like Jussi’s approach to owning his own content and providing a simple RSS feed of microblog posts. (I wrote more about RSS and microblogs a couple weeks ago.)
Wrote for a while today on the iPad Pro (using the software keyboard, typing with 4 fingers like I’m a Simpsons character). Even with the big screen, it’s really a nice lightweight coffee shop writing experience.
Great video from Studio Neat showing how they make each Apple TV remote stand: https://vimeo.com/145653051
Stopped by the Apple Store this morning to try out the Pencil. It’s incredibly good. Sounds like most stores only received 3 yesterday, might get a few more today.
Yesterday we published episode 206 of Core Intuition. From the show notes:
I really love how this episode turned out. It hits on several themes that have run through our show since the very first episode: a little tech news, some high-level coding talk, a bit of business analysis, and wrapped up with just how we feel right now about being indie developers. I hope you enjoy it.
Let’s start with a quote from the MacStories review by Federico Viticci:
I’ve been using the iPad Pro a lot in just the last two days. Apps that have taken advantage of the larger screen — and that support iPad multitasking well — are just much more useful. It’s great to have Slack or Tweetbot in the sidebar and a writing app in the main part of the screen. (Until Editorial is updated, like Seth Clifford I’ve switched to Byword.)
As a developer, going from an iPad Mini to an iPad Pro has opened my eyes to what Federico says above. You simply can’t have a great iPad app today if it doesn’t attempt to fit well on the iPad Pro. So although I said I would discontinue my app Tweet Library, I’ve actually been spending some time this week to update it to support iPad multitasking.
The key to iPad Pro support is actually less about auto layout (although that’s helpful too), and more about split views and size classes. For a modern app, this is an easy transition. But Tweet Library was written for iOS 4. Back then, UISplitViewController was extremely underpowered. I had used MGSplitViewController instead, which I’ve modified over the years to adapt to multiple screen sizes from the iPhone to the iPad. So the first step to real iPad multitasking was to rip out most of the split view code and start over with a clean foundation based on iOS 8/9 and UISplitViewController. Not exactly trivial work that I could knock out in a day, although I tried.
I remain very optimistic about the iPad Pro, especially when the Apple Pencil is actually available. From a business standpoint, it also seems like a better investment in time than either the Apple Watch or Apple TV. There are so many platforms and distractions now. If I can’t focus on a single platform, I want to at least be proactive in saving some attention for the iPad.
In the spirit of replying to podcast topics with blog posts, I have some comments after listening to a recent Clockwise. It was another great episode, featuring hosts Jason Snell and Dan Moren, and guests Christina Warren and Susie Ochs.
The panel was split on the likelihood of a new 4-inch iPhone from Apple. Apple is a company of patterns, so it seems counterintuitive that they’d release a new phone in the Winter or Spring instead of the Fall. But doing so has a couple of nice advantages: first, you can bump up an otherwise slow sales quarter with a new product; and second, you don’t hurt sales of the primary iPhones (the 6S and 6S Plus) by confusing buyers with another choice. Customers perfectly happy with their iPhone 6 from last year, and who were planning on buying a 6S as a natural upgrade, now would be faced with an unexpected choice in screen size if the 4-inch phone had been announced alongside the 6S.
Everyone also seems to forget about the newest 4-inch iPod Touch. It went on sale in July, features an A8 processor, better camera than the iPhone 5S, and sells for only $199. It’s easy to imagine Apple basing a new 4-inch iPhone on this design, reusing both the screen and many of the internal components from the iPod Touch.
Apple has sold a lot of iPhone 6 and 6S phones. But there are also a lot of 4-inch devices out in the world: of course the iPhone 5, 5C, and 5S, but also every iPod Touch sold in the last few years. There are many people who would love to replace their old phone with a new one that’s better and faster, but not bigger.
New morning routine: make coffee, then check the Apple Pencil page for in-store availability. I bet they get a small shipment in a couple weeks.
I ordered my iPad Pro online and picked it up in the store today. My excitement for this device is all about the Pencil, which doesn’t ship for a few more weeks. The store didn’t receive any and employees have no idea when they will get it. They didn’t receive any Apple keyboards either, so I left with the only remaining accessory in stock: the white smart cover.
I don’t think I’ve ever been less excited to walk out of a store with a brand new $800 gadget. The iPad Pro has so much potential. I think it’s going to be a success and I’m building apps for it. But without the Pencil and keyboard, a significant part of the appeal is missing. And worse, developers who need a Pencil to start testing their apps — especially those apps like the one I’m working on that already supports third-party stylus pressure — are put at a month-long disadvantage compared to Adobe and the other early partners.
I enjoyed reading the iPad Pro reviews this morning, especially from Daring Fireball and MacStories. But those reviews describe a product that just doesn’t exist today. The iPad Pro as advertised on Apple’s web site and in beautiful marketing videos isn’t ready, and I wish Apple had delayed the whole launch until they could deliver these important accessories for a complete user experience.
In an essay about Twitter written in 2014, Ben Thompson described why he believed in the service:
I’ve always thought the same thing. That Twitter started out so good, with such strong core features, that those basic features have carried it through all the years of missteps and inaction. But it’s not just that the features are “good” (although they are); it’s that they are unique.
Listening to the Connected podcast the other day, Federico Viticci and Myke Hurley made the statement that only nerds care about Twitter changing stars to hearts, favorites to likes. I was nodding in agreement until I talked to my daughter. She also didn’t understand why they would change away from stars, and she’s been on Twitter less than a year.
It’s not just nerds. Many new Twitter users recognize the subtle difference implied with hearts. But I realized that there’s something even more important about what this change says. Why is my daughter even on Twitter, in addition to Snapchat, Instagram, Facebook, and Vine? Because — even if most people can’t pin down exactly what makes it special — everyone knows Twitter is different and interesting.
All Twitter has going for it is its uniqueness. The timeline user experience, the retweets and favorites, the hashtag, and the short 140 character posts. Changing any of those key strengths to be just like every other social network means they’re watering down their own potential impact. Eventually that approach will produce a bland product that has no unique qualities.
We’ve already seen the timeline experience significantly altered. Promoted tweets, “while you were away”, inline conversation threads, and Twitter cards. Twitter in 2015 looks a lot more like Facebook than it did a few years ago, to everyone not using third-party Twitter apps.
Growing the user base is fine. But making Twitter more accessible to new users won’t do any good if you lose the much larger base of passionate users who have loved the product for years because it’s unique. You’re not going to beat Facebook by becoming even more like Facebook. If that’s Twitter’s strategy, then the service is already in decline.
On today’s Core Intuition, Daniel and I talk about public speaking, being inspired by Mac apps, and our first thoughts on the new Apple TV.
Found via Paul Kafasis, REI is closing for Black Friday to encourage their employees to spend time outside on a paid holiday. Great idea.
Going to drive downtown for lunch and a meeting today, so ready to queue up the first episode of Under the Radar, a new developer podcast from Marco Arment and David Smith. Looks great.
Changing stars to hearts seems like something to do when you’ve run out of new ideas. Maybe Jack Dorsey’s first misstep.
Looks like a great new product: 1Password for Teams. Makes a lot of sense for the AgileBits folks to expand like this.
RSS is solid. It’s lasted a long time with very few changes, and forms the foundation for subscribing to weblogs and delivering podcasts. It’s huge and the open web is a much better place because RSS exists.
But even if RSS doesn’t need to change, some types of apps would be better off if we took a fresh look at the elements in an RSS feed. What is really needed, and when faced with multiple “correct” options, which should we choose? As more writers embrace microblogging, it’s an opportunity to simplify our feeds and tools.
This is my proposal for a bit of housekeeping around microblogging. It’s not a new format. It’s just a guide for producing the best RSS. I’d divided this proposal into 5 sections below.
Minimum viable elements
Look at the average RSS feed and there’s a lot of junk in it that most RSS readers ignore. While there’s nothing wrong with including extra XML elements, we should strive for a feed that is simple enough to be easily read. The fewer redundant and unused elements, the more consistently that different RSS readers will interpret it.
Here’s an example of an RSS feed whittled down to its essential elements. Most feeds should look like this by default, and only add additional elements from the RSS spec or RSS extensions when it’s absolutely required (such as the enclosure element for podcasting).
Title is optional
The existing RSS spec says that title is optional. In fact, in the early days of blogging, tools such as Radio Userland and Blogger didn’t even have titles. We got away from that with the popularity of Movable Type and WordPress, even though some modern apps like Tumblr still look at a title as unnecessary for certain post types.
With microblogging, the title will frequently be empty or missing. Do tweets have titles? No, and neither should short microblog posts published through a traditional blog platform. Skipping the title removes some friction in the writing process, making it easier to write a quick post and send it out.
RSS readers must be prepared for a title-less RSS item. Instead of inserting “Untitled” as the placeholder title, think about how your reading UI can accommodate microblog posts gracefully. Blank titles (where the title exists but is an empty string) are equivalent to a completely missing title element.
HTML post text
The description XML element in RSS wasn’t originally intended to support HTML. It was often a text summary or opening paragraph of an article, rather than full text. With microblogging, you always want the full text inside the RSS feed, including any styled text or inline HTML links.
Some feeds will include the plain text version of a post in the description element, and the HTML version in a content:encoded element, as specified by this RSS namespace extension. This should be avoided in favor of a single description element with the full HTML, using CDATA syntax to avoid escaping characters.
In modern apps, rendering simple HTML is common. If an RSS reader can’t show HTML, it should strip out the HTML tags itself. It’s not up to the feed to provide multiple versions. If both description and content:encoded are present in a feed while parsing, for compatibility it’s acceptable to prefer whichever includes HTML.
JSON
I said this isn’t a new format, but we should have the option of expressing RSS in JSON instead of XML format. Back in 2012, Dave Winer wrote about producing a JSON-based RSS feed, with a very literal mapping of elements. If our goal is to cleanup some of the edge cases of RSS, though, we can further simplify it. I’d suggest collapsing a few of the elements, so that it isn’t overly nested like XML, and to JSON-ify the item elements into a simple items array:
This preserves the element names and overall feel of RSS, while being cleaner and more JSON-like. Note that it’s easy to embed HTML directly in the JSON description field. Because there’s no room for an isPermalink attribute, if the guid is a URL, it is always the permalink.
Authors
A feed for a microblog platform, or a group weblog, might include multiple items each from different authors. The RSS spec says that the XML “author” element is an email address, but that is very rarely used in real feeds.
Instead, the author element value should vary slightly from the original specification to include either a simple full name, or a username prefixed with the @-sign: <author>Manton Reece</author> or <author>@manton</author>.
What do you think? I’d love to hear any feedback via email. If you write on your own blog about this, send me the link.
Over 2 years ago I backed the movie Anomalisa on Kickstarter. Today the trailer is out, and it’s even more extraordinary than I had hoped.
Daniel Jalkut has a nice MarsEdit “quick post” script on the Red Sweater blog. Great for microblogging.
The project technical overview for AMP has the goals and basic info. In a nutshell, the new format encourages a return to more bare-bones HTML, with some added functionality for common web patterns. On the balance between bloated ad platforms and user experience:
Instead, “tracking pixels” are used for analytics. These should be easily skipped by ad blockers, but apps that support AMP will need to use a custom web view anyway, where ad blockers on iOS aren’t allowed. This may continue to limit the appeal of Safari View Controller.
Wired covers the announcement and describes how AMP might be integrated into Twitter and other native apps:
There’s more on GitHub. On the surface this seems like a more open approach than Facebook Instant Articles or maybe even Apple News Format (which is finally public). That WordPress is supporting AMP is a good sign.
We’ve had fun since Friday exploring the App Store on the Apple TV. There are a lot of expected apps but also some nice surprises. The only app that’s really missing for us is Sling TV. As soon as that ships, we’ll no longer need the Roku.
I love apps that use full-screen photos to take advantage of the big screen — obviously games and streaming video, but even apps like Airbnb. Conrad Stoll also released a new game called Picturesque, where you try to identify photos of national parks in a time limit that varies by difficulty:
It’s also great to see Space Age make the jump to the Apple TV. We’ve been playing a few games that are free downloads because we had already purchased them on iOS, including Oceanhorn and Crossy Road.
Last week, Derek Sivers had a great idea. We’re constantly writing about the things we care about and whatever we’re working on, but the nature of blogs is that posts are always falling off the home page. There’s rarely a single place to get the tl;dr summary of what someone is working on.
This idea hit home for me last week at Release Notes when several people asked how to sign up on my microblog project announcement list. I’ve linked to it several times in blog posts, but I didn’t have an easy place to point people to without asking them to dig through the archives. A /now page is the perfect place for that kind of thing.
Shawn Blanc linked to his page too, which reminded me to put my own /now page together. You can read mine here: manton.org/now.
Pouring rain in Austin, and worse elsewhere in central Texas. Hope folks are staying safe on the roads. It’s a good morning to make a cup of coffee and work from home.
When working with someone, the difference between asking for something and telling them to do something means everything.
Ev Williams announced a batch of new Medium features recently:
Those updates include new mobile apps, @-mention support, a publishing API, and editor improvements. There’s also a new logo. (I know they put a lot of thought into this, and it’s a strong idea, but to me the logo’s design is so clever it’s actually kind of distracting. A little more subtlety in how they’re using depth could improve future iterations.)
Daniel Jalkut blogs about what’s included (and what’s left out) in Medium’s new API:
While I generally think the trend to centralized writing platforms is bad for the web, I’m happy to see these changes from Medium, especially the API and expanding custom domain support. Medium has grown very slowly and carefully. I expect we’ll see quicker iteration on these new features now that they’re officially out.
In the process of experimenting with Medium posting, Dave Winer shared his take on post title support:
I’m very interested in this because microblogging shouldn’t include titles. While Medium is mostly traditional essays, clearly comments don’t need titles, and Medium’s quick-posting UI encourages short posts. I hope this approach will get more RSS readers to gracefully handle title-less posts.
Dan Moren, writing at Six Colors about the rejected app Gravity:
I love this idea. It would both minimize unfair app rejections and help innovative apps bubble up to the featured sections in the App Store.
The best blog posts we write are as much for ourselves as for our readers. That’s one of the traits that makes personal blogging so special.
I published my essay last week from the hotel at Release Notes, right before heading downstairs as the conference got underway. Almost no one had read it yet, but the essay still helped me because it made me even more aware of when I accidentally monopolized a conversation. I did end up talking a lot about my new project while at Release Notes, but I also caught myself many times, making sure to turn the conversation around and listen.
And there was plenty to hear at Release Notes. I got something out of every talk and from many conversations with developers who I had never met before. Congratulations to Charles and Joe for putting together a great conference.
Highlights for me included Myke Hurley’s opening talk on Wednesday night about quitting his job and the first full-time year of Relay FM; Rob Rhyne’s fantastic whirlwind tour of accounting, which scared me a little because of everything I still don’t know about being independent; Jean MacDonald’s talk about podcast sponsorships and the fundraiser for App Camp for Girls; Pieter Omvlee’s advice on aiming to build a bigger business; and David Smith’s talk, which I’ll get to later. I could pull out lessons from each of these talks as well as the others from Rachel Andrew, Georgia Dow, John Saddington, Chris Liscio, Daniel Pasco, and Jim Dalrymple.
Thursday night was the “dine around”, a clever idea to split attendees into groups of about a dozen people, each meeting for dinner at an assigned restaurant. It’s easy to fall into cliques at conferences. This was a great solution to mixing it up, all but guaranteeing that you’ll meet someone new.
It’s worth saying something about the venue. Converted from the Indianapolis Union Station, which was built in 1853, the conference center and hotel served as a beautiful backdrop to the conference. My hotel room was even made from an old train car. As we left the conference center late Friday afternoon, I took another look up at the vaulted ceiling and stained glass windows, making a mental note to read more about the history of the original train station.
On Saturday I checked out of the hotel, walked up to Bee Coffee Roasters (where I ran into a couple other attendees who were also still processing everything we learned at the conference), and then took an Uber to the airport. My driver was a musician; he had toured the country playing with bands, was working on a soundtrack which he played on CD for me, and had such an optimistic take on the world that it struck me in obvious contrast to the negativity we see online sometimes.
And he said something that stayed with me even longer while I waited at airport security and for my flight to board. He said that everything he had wanted to do in life, he had done. Sure, he’d love to tour with another band, he’d love to find success with his new music. But already he was content. He laughed when he said he could die happy, and he was not old.
David Smith mentioned in his talk at Release Notes that he used to want to do everything. Have a best selling app, win a design award, be admired by his peers, and other goals that many of us share. It was only when he set out with a more singular focus — judging every decision by whether it moved his business forward so he could continue to support his family — that all the other secondary goals started taking care of themselves as well. It was a great talk and something I needed to hear.
As a community we’re ambitious. We want to build something amazing and we want to make a positive impact on the world. But this week was also a reminder to me that it’s okay to be more focused, to tackle niche vertical apps, or make small boring decisions that will help our business. It’s okay, even as we want to do more, to slow down and be proud and content with the path that we’re on.
It’s March 2009, the height of SXSW in Austin before the conference gets too big for itself. I’m hanging out downtown with tech folks from a blogging startup, having dinner and beers before we head to the party they’re putting on. The CTO, one of the first employees at the company, is talking about Memcache servers and MySQL scaling, and I’m hanging on every word. I love this stuff.
I’m a Mac and iOS developer, but I often take a break from native app development to work on server software. So I’m asking him about MySQL replication and what it’s like to run a schema migration without the database falling over. The conversation sometimes shifts back to Apple platforms, and he says he’s been thinking about going to WWDC. I had been attending WWDC for a while, so I say sure, it’s expensive but you should consider it. If you’re doing more web stuff, though, maybe it’s not as important that you attend.
We walk over to the party venue. It’s bigger and more crowded than he thought it would be. Their company has really taken off, growing well beyond the early days when it was just him and the founder trying to build something new. And it’s at this point that he turns to me and asks a question that brings us back to iOS development:
In answer to Marco Arment, at that time the CTO of Tumblr, I mutter something about liking it, but I haven’t really gotten it into my workflow yet. Hopefully whatever I said was encouraging. In subsequent years, of course, Instapaper would be one of my favorite apps.
Later, replaying these conversations, I realized that I asked the wrong questions and gave the wrong advice. About WWDC, I should have said “Yes, absolutely!” with an exclamation point. Buy a ticket. If you can’t afford it, go anyway because you need to be there.
But I didn’t say that because I wasn’t listening closely enough. I was so busy asking questions about Tumblr, that I wasn’t listening to the excitement in his voice about Instapaper. I was so busy thinking about server scaling and databases and all this other stuff that I could’ve learned from a book, that I didn’t hear what he was really saying.
I should have asked about iOS pricing, free versions, sales, UI design, who did the icon, what does the private API look like. But I didn’t ask those things because I missed the big picture, how dominant the App Store would become for distribution, and so I missed what mattered. I’d like to think that since then I’ve gotten better at listening.
Daniel Jalkut and I had Marco as a special guest on Core Intuition 200 not just because he’s a friend but also because he so well represents the goal that many of us have and our listeners have — to start our own company, to find success not just one time but again and again, and to have as thoughtful an approach as possible in the craft of software development.
This week I’m in Indianapolis for the Release Notes conference. While I will have some stickers for anyone interested in my new microblogging platform, and I’ll probably ramble about it at some length if asked, I’ll also be listening. I’ll be listening because you never know which random developer you just met will end up doing their best work in the years ahead, and you want to be as encouraging as possible, offer the right kind of feedback, and also learn from their perspective.
There’s a great line in the Pixar movie Ratatouille:
I believe that’s equally true for developers. We often see someone go from nothing to a top app in the App Store. We often see someone start without an audience and then make friends on Twitter and blogs through the quality of their writing alone. And so we welcome new voices all the time if they’re respectful.
There’s been some debate about Overcast 2.0’s patronage model. Some of the discussion is healthy — how does a successful business model for one developer apply to other apps? — and some of the discussion is divisive. Instead of asking the right questions, it’s easy to jump straight to a conclusion with the dismissive statement: “that’s fine for Marco, but his approach would never work for other developers”.
The “that’s fine for Marco” attitude is poison for our community because it takes the opposite approach as that Ratatouille quote above. It implies that some developers have such an advantage that the rest of us shouldn’t even bother, because it’s not a level playing field. It’s true that some developers today have an advantage, whether through good timing or just a long history of shipping apps, but the lesson isn’t to give up; it’s to instead learn from it, and look at our own strengths. What small head start do we have that could grow into a great success tomorrow, too?
Rewind a handful of years, back to that day at SXSW when I could name plenty of developers who had more attention and success in our community than Marco Arment. You can be damn sure that didn’t discourage him from taking Instapaper from an “in my spare time” niche app to the top of the News section on the App Store.
I’ll never accept the implied negativity in the “that’s fine for Marco” argument. I’ll never accept that we should be jealous of another developer’s success instead of inspired by it to do our best work.
We posted episode 202 of Core Intuition yesterday. This was a fun episode because we didn’t plan for it; we just started talking. From the show notes:
Make sure to listen through the end for why I ordered stickers for my new app. If you want one, you can email me or send us podcast feedback.
As I said on the show, I highly recommend checking out Thoroughly Considered, the companion podcast for Studio Neat’s Kickstarter project. While you’re there, also consider backing the project, at the podcast level or the full Obi product if you have a pet that would love it. Even if it doesn’t successfully fund, I really enjoyed the first couple episodes of their podcast and hope it continues.
Monday morning. 1) Wake up and have breakfast. 2) Make coffee. 3) Delete __nullable from any auto-completed delegate code. Need to finish my essay about how Swift is getting better while making Obj-C worse.
Caught the first Spurs preseason game last night on NBA League Pass (via a VPN tunnel, because of region blackouts). Great to see Aldridge and the new guys on the court.
Today we published episode 201 of Core Intuition. From the show notes:
And speaking of podcasts, congrats to Marco Arment on shipping Overcast 2.0. It’s a great update.
Scott Knaster blogged about his day advising the crew of the new Steve Jobs movie:
Apple seems intent on downplaying this movie as inaccurate and unfair to Steve, but it’s not supposed to be a documentary. It’s promising that they asked Scott Knaster for help getting some of the everyday details right. I’m really looking forward to it.
Finished reading The Martian. I had picked it up a couple months ago but didn’t get far, so started over at the beginning several days ago and read it straight through. Fantastic. Hoping to catch the movie this weekend.
Three years ago today I posted my last personal tweet. That time and distance away from mainstream social networking has given me a new perspective on the importance of independent microblogging. It has shaped where I write and what tools I build.
But Twitter remains as fascinating as ever. Just a few weeks ago, the board seemed unsure about letting Jack Dorsey split his time between Twitter and Square:
Then they backed away from that:
Today they officially announced that Jack will return to lead Twitter. Of all the recent articles, my favorite is this one from Recode, a long profile on Jack’s role and changing attitude:
And it goes on, showing how Jack has matured as a leader. Everyone will be watching what he does, and how Twitter evolves. Every article written about an upcoming Twitter feature will mention Jack’s involvement, no matter how insignificant. He’s a big part of the story now.
Ev also wrote about the official announcement:
The greatest challenge for Jack will be figuring out how to take whatever those thousands of employees are working on and turn it into actual user-facing features that ship to customers. Federico Viticci, reviewing the new Tweetbot 4 release last week, wrote about how Tapbots has built something more ambitious than the official Twitter for iPad app, even though Twitter has a much bigger team:
I still run Tweet Marker, which was created during that period of innovation that Federico refers to, but my focus now is on indie microblogging and the open web. I’m content to watch Twitter from the sidelines and wish Jack the best of luck.
Took my daughter to see The Iron Giant: Signature Edition in the movie theater yesterday. It includes a couple extra minutes of animation by Ken Duncan’s studio. So clear when seeing this on the big screen again that it’s a masterpiece.
Last night we published our 200th episode of Core Intuition. To mark the milestone, Daniel and I welcomed special guest Marco Arment. We talked about the goals behind Overcast, his thoughts leading up to version 2.0, the podcast industry, and supporting our products, with a closing discussion about the new iPhones and proper use of 3D Touch.
Thanks everyone for your support of the show. I hope you enjoy this one.
We recorded episode 200 of Core Intuition yesterday with a special guest. Should be posted later today after I finish editing it.
In 1999, I started a link weblog to collect news about animated films. I updated it for a few years, until there were plenty of other good news sources from industry writers more qualified than I was to run such a site. I was just a fan.
The site was a homegrown MySQL database and set of PHP scripts. Somewhere along the way, I lost the archive, and never noticed that the site had broken until today. To make matters more difficult, I had blocked it in my robots.txt, so the Internet Archive copy (which existed, at least in parts) wouldn’t load cleanly.
I took some time today to piece it back together as a new static HTML file and (partial) RSS feed. I’ve preserved the original design and HTML tags. Fun rediscoveries in the HTML include spacer GIFs, <blockquote> to indent the entire page, and RSS 0.91.
I called it The Lightbox. It was just a linkblog. But now 16 years later, I’ve enjoyed skimming through the old posts.
I was looking for a different old post in my archives, and stumbled on this one: “I hope iAd fails”, which I wrote 5 years ago this month. One of my points was that we had a healthy marketplace in the App Store for normal people to actually pay for apps:
Fast-forward 5 years to today, and well, we’re on that hill right now. Except there’s a landslide and I don’t know who’s going to get buried.
On the Upgrade podcast, Jason Snell and Myke Hurley talked about whether iOS 9’s Apple News was relevant: what problems is it solving, if any, and — because it will feature unblockable ads powered by iAd — how does it fit into the larger issue of blocking web ads and closed platforms? The discussion starts about an hour in.
(If you’ve used Apple News already, you may not have even seen any ads yet. But Apple’s page on Apple News Format makes it clear that they will be encouraging iAd for publishers: “Monetization is made simple with iAd”.)
I stand by the opinion that iAd is a mistaken strategy. Apple, if you’re serious about this fight with Google, go all-in on the fight and abandon iAd. It seems hypocritical to attack web ads while rolling out your own news platform with ads that can’t be blocked.
Added a 3D Touch quick action to my in-progress iOS app. Almost makes me want to actually order an iPhone 6S.
This week’s Core Intuition is out with a discussion about new and old iPhones, the latest rumors about an Apple Car, and a follow-up on WebKit for Apple TV.
I probably shouldn’t have started installing watchOS 2.0 right before needing to leave the house. Taking… for… ev… er.
From Graham Spencer at MacStories, commenting on the latest Instagram numbers and that the service is only 5 years old:
Impressive growth, but it fits. Instagram has crafted a user experience that encourages thoughtful posts and never feels overwhelming in the way a Twitter or Facebook timeline can be. If Instagram was a paid product, I bet Instagram’s churn rate would be the lowest of any of the big social networks. They did it with a small team and weren’t afraid to grow slowly.
I’ve been blogging here for 13 years. If you take any random post from that first year, the majority of the links to other web sites are broken. The default outcome for any site that isn’t maintained — including the one you’re reading right now — is for it to vanish. Permanence doesn’t exist on the web.
We can solve this, but it will take time. For now I think mirroring our writing is a great solution, to guard against domain names expiring and other inevitable failures. But where to mirror to?
Only 2 companies keep coming to mind: WordPress.com and GitHub. I believe both will last for decades, maybe even 100 years, and both embrace the open web in a way that most other centralized web sites do not.
Even though I self-host this weblog on WordPress, I’ve chosen to mirror to GitHub because of their focus on simple, static publishing via GitHub Pages. It has the best chance of running for a long time without intervention.
I exported all of manton.org with the httrack command-line tool and checked it into GitHub, with a CNAME for mirror.manton.org. It works perfectly. I still need to automate this process so that it updates regularly, but I’m very happy to finally have a complete mirror for the first time.
I watched two documentaries last week. The first was “Steve Jobs: The Man in the Machine”, which I somewhat regret paying $7 to rent. It had its moments, but also seemed to become more negative and dramatic the longer it went on. I guess we should all hope to be so lucky and famous to have people try to bring out the best and worst of us.
The second documentary I watched was “Atari: Game Over”, which was free on Netflix. It was great, interspersing a history of the rise and fall of Atari with the effort to dig up the ET game cartridges supposedly buried in New Mexico. Highly recommended.
You’ve probably heard that Marco Arment has pulled his content-blocking app Peace from the App Store. The app was extremely successful:
I’ve seen some comments asking why he didn’t think to do this sooner, before he even shipped the app. But we are just now starting to understand the impact of ad blockers in iOS 9. I don’t think it’s an exaggeration to say that the web is different than it was a few days ago, and so our choices — and Marco’s — are different too. As I mentioned yesterday, content blockers are one facet of an overall shake-up for the web.
Brent Simmons writes that only indies can do what Marco did. Marco must have left a lot of money on the table with this decision. It will always look like the right call to me when someone goes with their gut feeling and not with profit.
On this week’s Core Intuition, Daniel and I spend the whole show talking about the Apple TV. The first half is about the Apple TV dev kit lottery, and the second half is about whether we need the web on our TVs.
There’s also a good discussion on the Accidental Tech Podcast about this. Here’s an Overcast link about halfway into the episode.
I’m going to mostly let John Gruber have the last word on the Apple TV vs. the web debate, because I could write about this every day and my readers would run away before I run out of material. I’m glad John addressed the Mac vs. the command-line argument, though, because it didn’t seem quite right to me either. He says:
This is the most hopeful part of the Apple ecosystem as it relates to the web. Apple’s other platforms really do have a great web experience. Remember when web sites were faster and worked better on a PC than a Mac? If anything, the opposite is true now.
One of the themes I keep hearing is that a “web browser” on a TV will make for a poor user experience, so don’t bother. I tried to correct that misunderstanding in this post; it’s not about standalone Safari, it’s about web technologies that could be used in native apps. But ignoring that, I think everyone too easily forgets what the mobile web was like before the iPhone.
Steve Jobs, from the original iPhone introduction:
That was a breakthrough. I believe the same evolution is possible on tvOS — to include parts of the open web and do it with a great user experience. You can start by weaving it together inside native apps. (I filed a bug with Apple yesterday with a suggestion. It was marked as a duplicate.)
The web is at a fascinating, pivotal time right now. It has been shaken up by centralized publishing, closed platforms, and now content blockers. Users no longer value the concepts that made Web 2.0 special. The web can still have a strong future, but we have to try something, and we have to try it on every platform we can.
2015, the year that web server logs mattered again. Can’t trust the numbers from Google Analytics and related tracking services anymore.
I put Ghostery on my Mac. Only problem so far is I must have been a little aggressive about enabling all the options, because it was even blocking Gravatar.
I very rarely file bug reports with Apple, but I did write up a quick one for WebKit on tvOS. Radar number 22738023.
I haven’t paid too much attention to ad blocking until this week, even though I had been running the iOS 9 beta since WWDC. Several content blockers were released yesterday, like Marco Arment’s new app Peace. Marco writes:
Today, Nilay Patel has an essay framing the issue as a fight between Apple, Google, and Facebook, with the web as a casualty:
I’m conflicted on this. I hate ads, and I think good publishers can adapt, but I’m also concerned that some progress we’ve made in native apps and user experience could be offset by steps back in open platforms. The health of the open web is more important than any one company, including Apple.
On Twitter, Alex Fajkowski responded to my blog post about tvOS with this:
I disagree with both of those sentences. Maybe Alex didn’t read my full post, because I wrote that web services are not enough. HTML and links and URLs are equally important parts of the open web. NSURLSession gets you web services but nothing else.
(As an aside, HTML turns out to be a pretty useful format for styling text, too. Why wouldn’t you want to use it for iTunes movie descriptions on the TV, for example? That seems completely appropriate.)
Think about the full scope of the internet. What percentage of content is available via web services — that is, structured data that can be parsed and displayed with a custom, native UI — compared to all the traditional, HTML-based web sites? You’ll find that there is an almost unimaginably large number of that latter kind of web site, and the only way to access and display that content is with an HTML renderer.
Now imagine a world with only native apps. You’d need custom apps and web services for different kinds of content, just as we have native Twitter or Instagram apps today, but we’d need these for many thousands of categories: tvOS with TVML, recipe or cooking apps with FOODML, and so on. Eventually, having so many formats would get unmanageable. We’d need to invent a general purpose format that could accommodate many app formats, and (surprise!) that general format would look a lot like HTML. Why break old content and essentially reboot the web, when we already have a capable format in HTML?
Of course, there’s no immediate risk of getting to that hypothetical native-only future. But when a company with the size and influence of Apple has 4 major platforms and only 2 of them have access to the open web, that should give us pause. Let’s reflect on how this plays out, so we can get back on track if the web does become marginalized.
John Gruber commented that these new devices don’t need the web at all, comparing it to the original Mac shipping without a command line interface. I realized while reading his closing paragraph that my own blog post had been poorly titled, and so the whole point too easily misunderstood. John wrote:
Apple TV’s success doesn’t change my argument. My Apple TV dev kit arrives on Friday, I’m going to build an app for it, and I can’t wait to watch Apple’s latest platform take off. When I wrote that the Apple TV “needs” the web I didn’t mean that it would be crippled and unsuccessful without it. I simply meant that the web should be there in some form, even if limited.
(It doesn’t even have to be Safari. There just needs to be enough web technologies to make some part of the open web possible. Again, that means web services, HTML, and links.)
Yesterday, John Gruber also wrote about web apps and native apps, and what each should focus on:
That’s good advice. There are plenty of important tasks for the web community that should be top priorities, such as encouraging a return to independent publishing and trying to fix the lack of redundancy. The web will always be playing catch-up with native apps for user experience, but the web will always be ahead as a distributed, open publishing platform. And that is such an important feature, it should be available on as many devices as possible.
The new A8-based iPod Touch would be my ideal phone if it had cellular. Maybe a 6C will still happen next year, but in the meantime, it’s time to upgrade. And that probably means getting a 5S.
From a rough transcript of an interview with Evan Williams:
I’m concerned about this. Evan is reading into the current rise of centralized services and thinking it’s more than a short-term trend. But I believe strongly that the open web will bounce back.
Putting all of our writing in one place like Medium goes against our hope of permanence, because there’s no guarantee Medium will be around in 20 years, and so all of that content will disappear from the internet if it fails. At least with independent sites and custom domain names we have a chance. We have control, so it’s in our hands to succeed or fail, not left to the whims of Silicon Valley startups.
In a widely-linked post to Medium, Daniel Pasco writes about the problem of not having WebKit available on tvOS:
I’ve argued on Core Intuition that even with the Apple Watch — as silly as it might seem to want to browse the web on your wrist — there should still be some basic access to the web. If not a full browser, at least a webview so that developers can style short content.
Daniel Jalkut suggests a related compromise for the Apple TV:
This is much better, but I think we should aim higher, since giving up on the web seems to admit early defeat to what Daniel acknowledges is probably WebKit’s politically-motivated omission. The web might not be the most usable medium on all devices, but it is arguably the most important one. Just because we all love native apps doesn’t mean we should trade in the significant value that the web provides, especially for independent writing and a permanence that can outlive silos and platforms.
Apple has 4 major platforms now: iOS, tvOS, watchOS, and the Mac. It’s a dangerous precedent for 2 out of those 4 to not have access to the open web. Web services are only part of the story; HTML and the hyperlink are also both fundamental components of web access. A platform is too shut off from the rest of the world without them.
Here’s a wonderful video of Glen Keane drawing with VR goggles. I’ve been watching and listening to Glen explain animation for a long time, on bonus videos going back to my small collection of Disney feature LaserDiscs. It’s great to see him still in the spotlight after leaving Disney, and the great work he did on last year’s Duet.
Speaking of the Disney company, I really enjoyed last night’s American Experience on Walt. Part 2 airs tonight on PBS.
Update: Shortly after posting this, a new film from Glen Keane showed up in my newsreader. It’s a good month for animation.
Dave Winer on the continued disappearance of old web sites:
Earlier this week, Steven Frank pointed to a new format and protocol called IPFS, which Neocities is embracing. Copies of your content would live in multiple nodes across the web instead of in a single, centralized location. From their blog post:
I took some time to read through what it can do, and I’d like to support it for the publishing platform that’s in my new microblogging project. I don’t know if it’s technically feasible yet, but I love that someone is trying to solve this. We just have to start somewhere.
Recorded right after yesterday’s Apple event, Core Intuition 197 is now out. Our reaction to tvOS, iPad Pro vs. the Mac, and more. coreint.org/197
Apple’s hitting their stride now. Two brand new development platforms in a year. I’ve just been poking through tvOS and it’s pretty fascinating so far.
No last-minute predictions for me. I’m mostly curious at this point about the pressure on the iPad Pro. I have a new Wacom Intuos Creative 2 which has 2048 levels of pressure, but regardless, seems like native hardware support from Apple could be great.
Marco’s review of his favorite microphones is comprehensive. You can’t go wrong by following his advice. I recorded my first podcast 10 years ago, and Daniel and I are about to hit 200 episodes of Core Intuition, yet I still learned a few new things from reading Marco’s review.
As with most things, though, it’s a personal choice too. Take this part:
I did the opposite of this. For years I used an XLR mic along with a chain of two additional audio devices: the M-Audio FireWire Solo for getting the audio into the Mac, and the PreSonus TubePRE preamp for boosting the signal. This produced a nice sound and gave me knobs to fiddle with, but the extra complexity was just not worth it. I now use a simple USB mic and prefer it. (It’s the Rode Podcaster, which gets a mediocre endorsement in Marco’s review.)
This kind of “downgrading” is a common pattern with me and computers. I used to run a Mac Pro with 2 external Cinema Displays. Now I exclusively use a 13-inch retina MacBook Pro without a monitor.
In both cases — Macs and microphones — I find the trade-off worth it. If I want to work from a coffee shop, it’s the same resolution display, so I don’t need to change how I use Xcode. If I travel and need to record a podcast, it’s the same as if I was home, so I don’t need to risk messing up my audio settings. You give up some performance and flexibility, but in exchange you get the simplicity of having the same setup no matter where you are. And best of all: no more cables all over my desk.
I was interviewed for two podcasts recently. The first is the CocoaConf Podcast. Daniel Steinberg does a fantastic job of editing his show with a tight format, mixing together interviews and community news.
We talked a lot about my new microblogging project and working on things that matter. I told the story of shutting down my Mac app Wii Transfer to focus on other projects:
The other podcast I was on is a new one called Consult. It’s an interview show all about consulting and client work. I had a good time chatting with host David Kopec about evolving Riverfold Software to include consulting while at the same time expanding into a full-time indie business.
Sometimes I forget I’m not a full-time blogger. Accidentally spent all morning writing instead of coding.
On the latest Core Intuition, we preview the September 9th Apple event with a discussion of new iPhones, the Apple TV platform, why I think a new 4-inch iPhone needs to happen eventually, and the iPad Pro stylus.
Everyone’s thinking the same thing: Samsung’s new smartwatch looks significantly better than the Apple Watch. Even the rounded scrolling control looks as usable or more usable than Apple’s digital crown. If Apple tried multiple designs internally, including a round watch — and I’m sure they did — why did they opt for a nerdy square shape that looks more like a computer than a watch? Especially in a product with such a focus on fashion that they felt the need to charge $10,000 for the high-end models.
Surprisingly, this might be Apple showing they can still choose a functional user experience over purely beautiful form and design. Square looks worse but it’s just more practical for reading text. The digital crown is a better fit for scrolling vertically.
It’s rare in the modern era of Apple (post-2000 or so) for the company to sacrifice beauty for usability. The iPhone is always thin at the expense of battery life. Mac scroll bars are hidden in the name of cleanliness. The new MacBook has a single new cable type which no one owns peripherals for. But with the Apple Watch, I think they built something with a foundation that could last for years, despite its initial awkwardness, and square was the right call.
The flip side to the optimism of my last post is the hard reality that sometimes the doubt is warranted. Sometimes, a little caution could lead to better, more reasonable business decisions.
I like this post from Brett Terpstra about how his wife provides some balance:
I’ve been trying to do a better job of bouncing ideas off other people before fully committing, while still holding on to a strong enough original concept that I can’t get too distracted or discouraged. I also have a new idea to help lay the groundwork for my new microblogging service, before actually shipping it. Hope to announce more in the next couple of weeks.
Sad to notice that the First & 20 web site appears to be gone. It’s still preserved on web.archive.org. A simple but important part of the history of the iPhone.
Ordered a couple of those Amazon Dash buttons (for coffee and ziplock bags) because the launch deal means they pay for themselves right away, and because I love it when Amazon invents crazy new products.
Finished writing a basic XML-RPC parser this morning. I forgot how verbose that format is. We’ve been spoiled on JSON.
I bought the DVD months ago, but finally set aside some time yesterday to watch Ghibli’s The Tale of Princess Kaguya. Beautiful, stunning hand-drawn animation. There’s never been a film like this.
My good friend and Core Intuition co-host Daniel Jalkut isn’t convinced. After we recorded last week’s podcast, we talked privately about the direction I’m headed in. He’s seen the projects I have in development, but he thinks working on Mac apps is a safer bet than web services. And he works on a blogging app, so if I can’t convince him that the goals I have around microblogging-related tools can be a real business, how am I going to convince the rest of the world?
Earlier this year I gave a talk at CocoaConf about tips I’ve learned to be productive while juggling multiple projects. But as I worked on the talk, it turned out to be about something else. It was about Walt Disney moving from Kansas City to Hollywood. It was about crazy side projects that no one else believed in. It was about Texas Hold ‘Em poker and risking everything for an idea.
The new microblogging app and service I’ve been working on, off and on for the last year, is the most ambitious project I’ve ever attempted. It is difficult to explain and market, it might only resonate with a niche audience, and it is going to increase my hosting costs. So part of me knows that Daniel is right — that the smart business decision is to put it on hold and focus on my Mac apps, which will probably have more predictable revenue.
And yet, this project is also the most meaningful. In the words of Peter Thiel, it could take independent microblogging from zero to one. A new push forward for weblogs, maybe the first in a while. Therefore, I must do it, and I must accept some risk in the process.
Lately I’ve been working on the iPhone version. When you look at these screenshots, it might be tempting to compare it to Twitter. Don’t. Instead, think about how the plumbing fits together: RSS, microblogs, and the open web.
I can’t wait to officially announce and ship this. If you’d like to get an email when the beta is ready, sign up on the announcement list.
Added push notifications to the new iPhone app. Still kind of feels like magic when all of that works.
We’re nearing episode 200… New episode of Core Intuition out this week, talking about Twitter, the open web, and Apple’s new ATS requirements for SSL on iOS 9 and Mac OS X 10.11. coreint.org/195
Pretty hilarious guide to San Francisco startup life from Padlet on Medium. Here’s just one small part:
I’ve been fascinated with Medium lately, and have cross-posted a couple recent posts over there to better understand it. Is it a blogging tool? Sort of. Is it a social network? Not exactly.
While you can follow other users there, I find that even with the 100+ people I’m following, the posts I see on Medium are almost exclusively popular essays written by people I don’t know. They’re recommended enough that they show up in Medium’s daily emails, or on the home page, or linked from other blogs I read. But it’s like if you signed in to Twitter and only saw retweets.
This may explain Medium’s design changes to encourage quick, microblog-like posts, in addition to full essays. Longer blog posts just aren’t written often enough to make for a meaningful social network.
Rediscovered using the Safari web inspector to debug a UIWebView running in an iPhone app. So helpful.
NSDrinking is on for this Thursday 8pm, back indoors for the summer at the Ginger Man. Hope to see y’all there!
Really wish I could use TestFlight for Xcode 7 / iOS 9 builds. I like having Fabric around for daily builds, but I want to send this new app to a wider audience.
On this week’s Core Intuition, we talk about my trip to Europe, working while on vacation, the App Store, and AppHub: http://coreint.org/194
Flying Meat’s Acorn 5 is out. I’ve been using the beta for a while and it’s a great release. Read Gus Mueller’s blog post for some of the features, including neat tricks you can do with the new Shape Processor.
I also love this section about focusing on bug fixes:
Congrats to Gus on another big release. You should check it out here.
Built a documentation site for my new project this morning, powered by Jekyll. I’m either close to shipping the actual app, or I’m procrastinating.
Casey Liss summarizes the excellent first year of new podcast network Relay FM:
Congratulations to all the podcast hosts, and of course to Relay founders Myke Hurley and Stephen Hackett. Stephen posted about how his time as an indie is going:
Rewinding a few weeks, this is what he had to say about the shift to indie work:
It’s fun to watch the rise of podcast networks. It has now been a little over 5 years since I first wrote about the 5by5 launch. Daniel and I will probably keep Core Intuition independent forever, but I hope that the continued success of larger networks means that the overall podcast market is still growing.
Once again struggled for hours getting something very simple to work in Ember.js. Finally solved it, but not entirely sure why the first 10 slightly different attempts didn’t work.
Remember when I said yesterday that I had adopted some Swift shared code to use in my app and it was working well? Forgot it required Xcode 7 to compile, and this app needs to ship before 7 will be GM. Reverted to Obj-C version.
I still don’t think Swift is for me, but I integrated some open source Swift code into the app I’m working on this week. Went smoothly, requiring just a couple tweaks for properties that weren’t exposed to Objective-C.
As I’m catching up on some news, two posts today about Twitter caught me eye. First, very big news via Federico Viticci, that full tweet search is available even to third-party apps. Twitter’s limited search was the main reason I originally built Tweet Library. It’s fantastic that this data is now more easily available.
But it was this opening paragraph from Jason Snell’s article on Macworld about Twitter neglecting the Mac version that got me thinking:
It was around this time, nearly 3 years ago, that I posted my last tweet. My bet with Daniel is over whether I will return to Twitter within 5 years. People ask if I’ll come back sooner, and if I did, what it would take. I’ve often struggled to articulate those conditions, because I think we are seeing slow but consistent progress to unwind the developer-hostile decisions made a few years ago. It may be that in a couple years the environment will be much improved, but there won’t be any single decision that “fixed” it, or it may be that Twitter is doomed to have changing leadership and there will never be any guarantees.
There is one thing, though. There is one change that was made while rolling out the version 1.1 Twitter API: they removed support for unauthenticated RSS feeds of user tweets or timelines. If they reversed that one decision, the next day I would be back on Twitter.
I can pick out a single feature like this, among every other improvement that third-party developers would love to see, because the combination of removing RSS and at the same time locking down the API — those changes together best represent the move away from the open web. Any other incremental improvement short of unauthenticated RSS, no matter how welcome, isn’t enough.
After blogging every day for a couple weeks at the end of July, I decided to take a break while my family and I took a vacation to London and Paris over the last 10 days. Instead we kept a private-ish travel blog of the trip. It’s similar to what I might post in a private journal (handwritten or Day One), but accessible to family in a richer “own your own content” way than just Facebook photos.
I also posted 7 photos throughout the trip to my Instagram account. I like to use Instagram to capture just the very best photo from something, so the timeline never feels overloaded. Of course we took hundreds of photos overall. Some went to the trip blog, some went to Instagram and Facebook, some went to Snapchat (teenagers!), and the rest we’ll sort through as we have time. We had wi-fi in the apartments and so I made sure everything was synced up to Dropbox at least once a day.
I worked a little while traveling, but could only be so productive without getting in the way of enjoying the vacation. I’m catching up on some email and client work this morning. Feeling fairly rested despite a very long travel day coming back home.
Maybe when most American families visit France, they don’t spend the first full day at Disneyland Paris. But that’s how we roll.
Back in April, the App.net app Riposte was removed from sale. Riposte wasn’t just the best client for App.net; I think it held its own against even the best Twitter apps, too. The push notification server for Riposte (and its messaging app complement, Whisper) was to keep running for some months and then shut down this summer.
Even if App.net is slowly fading away, like many users I still have Riposte on my home screen. I cross-post all my microblog posts from this blog to App.net. When I get replies and mentions on App.net, I like to see them as push notifications in Riposte. I can reply in the app easily, or skim through the timeline to see what else is going on.
Now the developers have launched a crowdfunding campaign to keep the Riposte server running. Their goal is a modest $500 per year to cover AWS hosting and time to keep everything running smoothly. Even if you’re not very active on App.net anymore, consider donating as a thank-you for everything Riposte did for App.net, and for what it did to advance the state of UI design in social networking apps.
“Am I always starting over
In a brand new story?
Am I always back at one
After all I’ve done?”
— Always Starting Over, from the broadway show If/Then
Daniel said on the latest Core Intuition that it’s important to celebrate major work milestones, like shipping a new app or quitting a job. I didn’t think I’d be celebrating right away, but as it turned out, my wife met me for lunch on Friday and we had a beer to mark the occasion. She snapped this photo:
Some things just work out. I couldn’t have picked a better t-shirt to wear if I had planned it.
When 5pm came around I made a final comment on Confluence, replied to a couple emails, and then signed out of HipChat. But I didn’t have time for much reflection. My son and I were busy packing up to head to a campout with Boy Scouts. Then as soon as we arrived back the next day, I turned around again to take my daughter to see Idina Menzel.
The concert was incredible, somehow including both Wicked’s “Defying Gratify” and Radiohead’s “Creep” — and yes, of course Frozen — to make a show with both the occasional explicit lyric and little kids pulled up from the audience to sing. It was only while driving home from the concert that I had a moment to think what I need to do next. Idina’s lines from If/Then at the beginning of this post kept coming back to me.
I’ve worked a long time on a few things, and they were pretty good, but now it’s time to start over. I turn 40 in a few months. It’s time to figure out what the next 10 years of my life should be about.
Three weeks ago I had about a dozen open Jira tickets. Today, my last day with the company, most of those are still open. I was able to update some documentation and do minor maintenance work, but a bigger change I had hoped to deploy turned out to be impossible because of a missing internal API.
It’s unsatisfying to leave unfinished work. There’s only so much that can be done in a limited time, though, and as we all know software (especially a web app) is rarely ever completely finished.
Bittersweet, moving on after so many years. The folks I’ve worked with have been really great. I’m going to enjoy keeping an eye on what they ship long after my GitHub access has been revoked.
This morning, my (now) former boss and good friend Willie Abrams linked in the company chat room to some of the photos that he had taken over the last 14 years. Brought back a lot of good memories, from brainstorming app features in a conference room to wandering around San Francisco before WWDC.
I think I’m going to let this be the final post to wrap up the “two weeks notice” series. I’ve accomplished a lot but there is still plenty left, especially shipping new products. It’s been good to force myself to write every day, so I’ll keep that going with the usual full posts and microblog posts.
You can find all 14 posts under the tag “2weeks”. Thanks for reading.
Continuing from last week’s Core Intuition, today Daniel and I talk more about how things are going with the final days of my job winding down. We then take the second half of the show to catch up on recent news around Twitter’s leadership.
From the show notes:
You can listen or subscribe at the Core Intuition web site. Special thanks to returning sponsor CocoaConf. They’ve got conferences coming up in Boston and San Jose, and then Yosemite National Park next year.
Terrible wi-fi again. I don’t usually notice, but then try to upload a 20 MB file and it wants to take 15 minutes. Switch to phone tethering, takes a couple minutes even with only 3 bars on AT&T.
I mentioned in my first post in this series that I need to figure out healthcare for my family now that we’ll no longer be covered under the company’s plan. We spent some time digging into this recently, and basically came away with these points:
We’re still learning details about this process every day, so some of the above may not end up representing our best options. Just yesterday we realized that there’s some flexibility in what we continue with under COBRA. For example, sticking with existing dental and vision but choosing something else for primary healthcare.
Since it’s already nearly August, I’m trying not to worry too much about these decisions. If we choose poorly, we’ll be stuck with mediocre insurance for a couple months (until my wife starts a new job in the fall and we can consider her group options) or until the end of the year (when the enrollment period for the Affordable Care Act resets).
Related, from 2009: Matt Haughey on the entrepreneurial case for national healthcare. And, more recently: Paul Krugman on the triumph of Obamacare. With everything else to worry about as an indie, at least it appears I won’t have to watch the progress we’ve made on healthcare start to unravel.
I published the 1000th post to my blog this morning. After 13 years, seems like there should be more, but posts weren’t as frequent in the earlier years. With microblogging, I expect to hit the 2000th much more quickly.
Disney Legend Floyd Norman has an excellent blog, usually recollecting on the early days of the Walt Disney studio, or more recent animation ventures. This week he wrote about Steve Jobs:
The post includes a fantastic sketch of Steve. My only regret from WWDC this year is that I didn’t have a ticket to see Floyd speak at the conference. Although Apple doesn’t usually release the video of lunchtime sessions, I very much hope it was filmed and will show up on YouTube or Vimeo one day.
WWDC 2015 now feels like it took place in the distant past, not a month ago. For the last few years I’ve attended the NeXT-themed fundraiser for the Cartoon Art Museum, and this year there’s video from the event. Check it out for a view into the museum and some of the talks.
It’s always a highlight of the week for me to visit both the Cartoon Art Museum and the Walt Disney Family Museum. This year Cartoon Art had pre-production drawings and paintings from the hand-drawn film Song of the Sea, one of my favorite films of the year. Really beautiful stuff.
Bookkeepers, accountants, lawyers… I should get one of those at some point. Instead I seem to waste time moving from one accounting app to another — Xero, QuickBooks Online, Less Accounting — hoping that the next one will solve everything. Then I go back to tweaking monthly revenue summaries in Numbers because it turns out that spreadsheets are still pretty useful for this sort of thing.
This year I did sign up for what has turned out to be a game-changing app for my business: Baremetrics. I dragged my feet subscribing because it starts at $79/month, but it’s worth it. The way it breaks down which of your web subscriptions — in my case Searchpath, Watermark, and Tweet Marker — is the most profitable or has the highest customer churn or best average lifetime value… It was just eye-opening to me and led to finally taking some action to invest in the products that are doing well.
I still have a lot to figure out with this. The one thing I am doing right, on the advice of several folks over the years, is paying myself the same amount once a month from my business checking account, as if it was a normal salary. This helps in forecasting how much income I need in the near-term to keep enough padding in the bank to cover the slow months. It also makes sure I don’t spend everything too quickly.
We haven’t traditionally had the most strict budget. It’s easy to get lazy with finances at a regular job where you seemingly have a never-ending paycheck supply. The freelance or indie software world is quite different. I’m learning quickly.
I need to set aside some time to contact folks in the press about my new project. I can tell just explaining the app to my friends that it’s confusing to understand on first glance. It’s different enough from existing social networks that it requires a high-level explanation for why I designed the architecture this way.
The short answer is that I wanted to build something open and extensible. Something that embraced the open web. By necessity that makes the concept a little more geeky than what has come before it. Having reviews of the product out in the wild even before the app is fully released may help get people thinking about what to expect.
After installing the latest El Capitan beta, went a few hours this morning without realizing that Mail.app wasn’t running. Nice way to accidentally focus on writing code.
It’s so tempting when learning a new framework to give up and do things the wrong way, just to solve a problem. Spent hours struggling with something in Ember.js and finally got it.
I get so used to fast, reliable wi-fi that when everything breaks down it’s much more frustrating than it should be. Lost an hour as both wi-fi here and tethering to my phone were unusable.
With just 5 days left at my regular job, it’s time to get serious about wrapping up my work. I have a small change mostly ready and tested locally, but need to push it up to GitHub and finish testing on the dev server. I have a couple open Jira tickets to look at after that.
Over the weekend I spent a lot of time with the Stripe API, trying to improve how I manage user subscriptions. Stripe has some new features since I first started using it. For example, options for sales tax and a quantity field. The latter is convenient if you have something like the ability to pay for multiple hosted web sites in a subscription, rather than deal with adding custom line items on an invoice.
Deadlines are an excellent way to push yourself to actually finish something. So this deadline of Friday is good, in a way, but unlike most of my other deadlines, I can’t miss it and keep working for another week. That finality is a little daunting right now, as I look at the week ahead and everything I want to get done.
For the first time in weeks, we had nothing going on this morning and could sleep in. After a late breakfast I worked on implementing a better trial for my new product, letting the business model advice I mentioned yesterday sink in.
Ryan Irelan, who founded Mijingo to create books and video courses for developers, wrote today:
I probably needed to hear that. I’m increasingly worried about launching this new project either half-baked or too late, so I’ve been trying to ramp up the hours I dedicate to it each week. But I’m scrambling to quickly change fairly major aspects of it. It may be better to slow down to make sure I still have the bigger picture correct.
We’ll be traveling some in August, so that rules out releasing anything brand new before the trip. I’m thinking my focus leading up to that is to send this to the subscribers of my beta announce list first. Both the free parts and paid plans will be open as if it was a finished product, but it will just be limited to an invite-only group. Based on that feedback I’ll know how close it really is to shipping for everyone.
Discovered today that the Gowalla blog still exists. Last updated 3 years ago, but still good. Love rewinding through the old screenshots and how the app evolved.
We just published Core Intuition 191, the first episode recorded since I resigned from my regular job. In a way, it feels like this episode was 7 years in the making. Although I clearly wasn’t about to go indie that long ago, the topics that we’ve chosen to discuss on the podcast over the years have always followed that basic narrative: what can we do to improve our apps and business.
And as I hinted about earlier this week, this episode also features the return of our sponsor Twitter to promote their Fabric suite of tools for developers, including Crashlytics and Answers. Great to have them back.
From the show notes:
This is a milestone episode for me. I hope you enjoy it.
How is it Friday already? I have just one week left at my regular job. In addition to looking at documentation, I talked on a video call with the lead engineer who will take over a couple of my projects. We went over my current bug list (exactly 13 lucky tickets in Jira) and reviewed a few of the trickier outstanding issues.
Nothing like walking through old code, even at a high level, to discover so much outdated cruft that could be redesigned or cleared out. There’s always a little bit of regret: if only I had fixed this one last problem before leaving, or smoothed over this one confusing part of the web UI. But that’s a slippery slope that could go on indefinitely. Web software in particular is evolving and never fully complete.
Meanwhile, I continue to get great feedback on my new Riverfold project from the very early beta testers. Bug reports, new ideas, and sometimes a series of questions that basically ends up as: you’re charging the wrong users, what if you tried this completely different way to make money instead?
While I don’t think there’s any direct competition for what I’m building, there are a lot of related services. I’d count even parts of Tumblr and WordPress among the services that are both complementary and in a similar theme to what I want to do. Tumblr makes money primarily through ads. WordPress has ads but (I expect) makes more money through their upgrades: paid custom domains, VaultPress backup, and premium themes.
When choosing a business model for my app, I’ve also been inspired by GitHub’s simplicity. Free for open source projects, which allows you to get a feel for how the entire system works as long as you don’t need private repositories. Paid for organizations, scaling up based on how many projects you have. The success of my project will hang on whether I can mix some of all these models without confusing potential new customers.
John Saddington, who develops the Mac blog editor Desk, pointed to one of my recent posts and wrote:
Which in turn makes me reflect on my own career. I’ve been extremely lucky. The right jobs just seemed to have presented themselves to me when I needed them. I hope that luck hasn’t led to overconfidence as I take these next steps to become more independent. It would be a glorious failure if my luck runs out just when I need it most.
So I’ll have to work harder. I’ll have to better manage my finances, better plan and execute on new products, and better support each app so they’ll form a sustainable business. As I type this, I’m actually a little nervous for the first time since I put in my notice. Lots to do.
Tonight’s challenge: finish integrating CodeMirror into my new app, to provide Markdown syntax highlighting. I had never heard of this JavaScript library before this week. It seems very capable — a big jump forward on a feature I didn’t even think I could provide for 1.0.
Tonight I worked on some bug fixes to one of the new apps I hope to ship for Riverfold Software. I have just a handful of beta users, but got some good feedback and bug reports last week, things I want to address before opening it up to more users.
When I think of the in-progress apps that I can ship soon to help increase revenue, there are really only 2:
The problem with Sunlit for Mac is that I’m requiring 10.11 El Capitan. So no matter how much progress I make on it, I can’t ship it until Apple releases their next version of Mac OS X. I want to chip away at the new features, but I can’t spend all of my time on it yet. I need to focus attention on projects that have a chance of bringing in additional revenue in the very near future, not by the end of the year.
So the microblogging app — the one I worked on tonight — keeps coming to the front. Since it’s mostly a web app, it has the least number of external API and App Store dependencies that would hold it up. I can ship the core functionality whenever it’s ready. The sooner I get it out the door, the sooner I’ll know if it’s something I can count on as business income.
Boy Scouts have a saying: leave no trace. One of its basic principles is that when you pack up your camp site, make sure you clean up all the trash. The place should look even better than when you found it.
It’s not a bad principle to keep in mind when leaving a job, either. Projects should be in a good state. I’ve fallen short in one key aspect of this — a conspicuous lack of unit tests in my web apps — but I’ve been more successful in other areas, like up to date versions of Rails and pretty comprehensive documentation.
Documentation is also an easy thing to improve at the last minute. Today I’m reviewing some API docs from top to bottom again, making sure that the confusing edge cases for how an app works are well covered. For my job at VitalSource, this means editing in Confluence.
The apps in Atlassian’s main suite that I’m familiar with — Confluence, Jira, and HipChat — have improved in small increments over the years. I makes sense that they would move fairly slowly; the apps are heavily used in larger companies, so a major redesign or feature change would not be well-received by many of their customers. Of those 3 apps, HipChat seems easily the best designed, and I expect having Slack as a competitor will keep them focused and driven to improve the app.
This post isn’t meant as a rant against Confluence, but as I use it’s default markup language or WYSIWYG editor I’m reminded of just how much I enjoy writing in Markdown instead. For my own apps, I’ve experimented with writing documentation in Markdown hosted on GitHub, which gives me easy publishing and version history. Tweet Marker, for example, pulls a Markdown file from GitHub directly and formats it inside its own web interface for Twitter app developers.
As usual, open formats like simple text files are a great choice for any writing that you want to last. For my new microblogging project, I need to repurpose a lot of writing I’ve done on this blog and move it into more formal documentation. I’ll probably use Markdown and GitHub for that as well.
The movie Draft Day doesn’t really have any business being good, but somehow it is anyway. I don’t even like football that much — who has time for it when there’s basketball? — but I’ve now seen this movie several times and love it. The movie actually gets better instead of worse on multiple viewings.
It also has a number of memorable lines. One of them is this, said by Kevin Costner’s character about the college football star who everyone thinks is the next greatest thing: “I think he’s a bust.” Five simple words that undo all momentum.
And unfortunately that’s still how I feel about Swift. I’m following Brent’s blog posts about learning Swift and I’m trying to come to terms with whether to adopt the language, and I finally got it. I already have a capable quarterback in Objective-C, and I’m not ready to rebuild my roster yet, risking everything on a young language with so much promise but less real-world success.
No matter how much Swift has improved, no matter how much everyone fawns over it, I still can’t shake the feeling that it’s a hype that someone else’s team needs. For me, it won’t end up solving the problems I have when building apps. For me, it’s a bust.
Ordered the board game Small World and it arrived today. Getting started was more complicated than I expected, but we finally got it. Hoping the next play-through goes more smoothly before the kids lose interest, because it seems great.
In my first post I framed the situation as pinning my indie hopes on two things: my own apps and client work. But as Daniel points out, I’ve actually lucked into several distinct revenue sources. And one of the most promising continues to be our Core Intuition podcast sponsorships and the companion jobs site.
The podcast got some good news over the weekend as we’re adding another long-term sponsor. We’ve had this company as sponsors in the past, and I’m looking forward to having them back and talking about how I use their products.
Like software, revenue from Core Intuition comes in waves. Sometimes we’ll be booked up for months, other times there will be a drought of sponsors, so we’ll focus on pitching the jobs site instead. Sometimes we’ll get new job listings every day, other times a week will go by with nothing. Since we’re not actively marketing it as if it was a full-time business, we can’t count on any kind of consistency from it.
It’s funny how the podcast worked out, though. We started it just because we thought it would be neat — because we thought we had something to share with the community, back in 2008 when there were very few developer podcasts. We added sponsorships to help justify the time and keep us to a weekly schedule. And now, ironically, the podcast that was about running an indie business will actually help me do just that.
I’m so grateful to listeners new and old who have supported us. I received a bunch of nice “congrats!” emails and mentions on our Slack channels yesterday. We’re approaching 200 episodes now, over 7 years, and I hope we can continue to keep the podcast interesting for some time to come.
Great to see Becky Hammon lead the San Antonio Spurs to a Summer League championship. The last few games have been fun to watch.
Sunlit 1.3.1 shipped today. It’s a minor update focused on fixing bugs, but it is also the first version to remove App.net support. Existing users still have access to all the App.net features — the code still exists in the app for now — but the App.net sign-in button and settings have been removed for new users to simplify the requirements and UI.
It was difficult to let go of the App.net-specific features. A significant amount of the codebase was around syncing and collaboration features via App.net. There was also some great location check-in support built on App.net locations and compatibility with Ohai. I had to remove screenshots and prune down the App Store description to account for the removed features.
What’s left is an app that has fewer features but which feels light and simple again. Maybe this should have been our 1.0 version all along.
Two years ago, I wrote about waiting for App.net’s killer app:
This vision didn’t pan out. But I’m proud that we gave it a shot and put a lot of effort into the platform even after others had given up on it. Now that we’ve finished this “reset”, of sorts, we’ll move forward to build other features we always wanted in Sunlit.
I have some big news to share, so obviously I’m going to write a bunch of blog posts about it. This is the first one.
For a while now I’ve been juggling working on my own projects, with my indie company Riverfold Software, and having a regular job at the education e-book software company VitalSource, where I’ve been for over 14 years. As much as I felt like this balance mostly worked, lately it has become clear that the “nights and weekends” approach to Riverfold just isn’t going to be enough time going forward. Last week I resigned from my job at VitalSource to focus on growing Riverfold and shipping new apps this year, some of the most ambitious products I’ve ever tackled.
I thought it would be fun to do a series of blog posts about the early part of this transition. For the next couple weeks, as I wind down one set of projects and ramp up new ones, I’m going to post here with the slightly-catchy title prefix “Two weeks notice”. It will be me thinking out loud about the transition, kind of in the informal spirit of Brent’s syncing diary, or like a more serialized version of the classic indie posts from Gus Mueller and Paul Kafasis.
But unlike the authors of those posts, I can’t claim to have found success yet. If you take Scotty’s definition from the iDeveloper podcast, in fact, I’m not “indie” at all; I expect some percentage of my time will have to be reserved for client projects to help pay the bills. While I used to find that idea distasteful — why give up a consistent salary if you’re not even going to call the shots? — I’ve come to realize that client work can be pretty interesting. The cycle of starting new projects and shipping them is a good way to learn new APIs and iterate on how to build an app from scratch.
While reading all these 2005-era indie blog posts, I was surprised to rediscover that Daniel Jalkut also mentioned mixing in consulting work:
Of course he wanted more than that: to build a great company based around his own apps. I’m sure Daniel and I will be talking about this on Core Intuition later this week.
So it is a little in the vein of “leap and the net will appear” that I’m moving on from a stable job, where I worked with great developers and friends, to something new that is a lot less certain. I thought that would make for a stressful week, but so far, everything seems okay.
There’s paperwork to do and code to write. There’s health insurance to figure out. But there are also some things that have already been wrapped up. My projects at work are in a good place, hopefully not needing constant maintenance. We just refinanced our house, so that’s a monthly savings, and something that I’m told is difficult without a “real” job.
Friday night I started catching up on some late business taxes (whoops). Saturday I finished editing the podcast (which we recorded over a week ago). The rest of the weekend I tried to relax with family (but I worked anyway). It’s Monday now and there’s a busy week ahead. Let’s see how this goes.
Really enjoying the NBA Summer League games, especially the Austin Spurs d-league players on San Antonio’s team. They go to the semifinals on a buzzer beater.
For this week’s Core Int we spent the whole episode talking about customer support, sustainable pricing, and building a company that fits your values.
When App.net was first taking off, many microbloggers struggled with how to decide where to post their short-form writing. Should they post some topics to Twitter and others to App.net? Should they cross-post everything to both services? At the time, there was an informal consensus that cross-posting was a cheat. It couldn’t take advantage of each platform’s strengths, and followers might often see the same post twice.
I now believe that cross-posting is a good thing. Photos, as one example, are frequently cross-posted to both Instagram and Facebook. Tweets can be sent to Twitter as well as our own blogs. Many apps like Instagram or Foursquare support and even encourage cross-posting. It’s good for developers because it helps spread knowledge of the publishing app, and it’s good for writers because it means there are multiple copies of our content.
It’s no secret that I’m building a microblog aggregation and publishing service. The goal is for us to get back to our roots with blogging — to write on our own web sites first, not as an afterthought to Twitter. Cross-posting is an important bootstrap for that.
If you don’t have a blog, start one today. It takes minutes to set up, and hardly any more time to wire up automatic tweeting via IFTTT from your RSS feed. Start with cross-posting and see if something interesting evolves from there.
Summer weather in Austin now. It’s the time of year when we start counting down the days until we leave for a vacation.
Business Insider quotes Evan Williams on the developer-hostile attitude of previous Twitter management:
Just acknowledging this publicly is progress. It’s now been almost 3 years since my last tweet. I don’t expect to return to Twitter, but I’m still very interested in whether there’ll be a noticeable change in direction from the new CEO.
The new iPod Touch looks like a great device. It’s exactly what I want in my next phone: A8, 4-inch screen, better camera than the 5C. Just missing cellular.
“We’ll be okay. And I’m going to take my one client and we’re gonna go all the way.” — Jerry Maguire: small business owner, optimist
Here’s a screenshot of the new microblogging project I’m working on. It’s almost ready for more beta testers. If you’re a fan of RSS and the open web, sign up for the announce list.
Yesterday I wrote a blog post and ended it with: “Tomorrow anything is possible.” Well, today was a big day. I plan to write more about why throughout the week.
Dave Wiskus follows up on the response to his post about Apple Music’s Connect:
Strongly agree. This fits into a larger theme that has been on my mind today.
As kids, we needed encouragement even to pursue our dreams. Too much negative feedback could quickly derail someone with the most hopeful intentions. Society said: if you’re not good enough today, give up. Tomorrow is hopeless.
As adults, encouragement from peers is still great, but by now we should have enough experience to realize that defining who we are comes from within first. The line of work, the projects we tackle, the hobbies on the side — we can change any of that with enough determination. Tomorrow anything is possible.
Sent a minor update to Sunlit off to Apple for review. Felt good to take a break from other projects and work on this app again.
“Choosing the right pricing model for an app is simple… pick anything other than freemium.” — Dan Counsell
Last week I mentioned Typed.com and Elliot Jackson’s tips in the Realmac forums for posting via Drafts and Editorial. Now Elliot has expanded his solution into a full blog post:
I’ve been using Editorial as my default iOS text editor for a while. I have a “Notes” folder on Dropbox that I use like Simplenote, but driven from Justnotes on the Mac and accessible via Editorial or any iOS editor. But I’ve just barely scratched the surface of what is possible with Editorial. It’s one of those rare apps that is fine for new users, but which also contains a great depth of features when you’re ready to explore underneath the initial layer of its UI.
On the latest Core Int, Daniel and I talk about Safari, Apple’s priorities, and the slow pace of web standards, plus AVMovie and more from WWDC.
Went to a Twitter dev meetup last night at Capital Factory, put on by Twitter’s dev relations team to talk Crashlytics and open source. Twitter is such an interesting but different company now… Still crazy to me that they have 2000 employees.
Randomly had a long talk with a Leaf owner in the parking lot who doesn’t love his car. He doesn’t miss gas, but… range anxiety.
I’ve always said the iPhone 6 and 6 Plus are ginormous. In an interview with the Concord Monitor, San Antonio Spurs player Matt Bonner speculates that reaching his fingers across that screen contributed to an elbow injury:
Bring on the iPhone 6C in a 4-inch plastic design. The current phones are dangerously too big.
Jared Sinclair says that a successful app has nothing to do with writing clean code. Thinking about Riposte:
Most programmers try to improve their code a little from one project to the next. But obsessing about how the code looks and how it’s structured might mean that you’re not spending enough time worrying about the things that matter even more: what the app looks like and what it does (and ever shipping it).
Happy July 4th! Going to see Inside Out today. Somehow managed to avoid spoilers this whole time. I’ve even had the Art of Inside Out book for weeks and resisted reading it.
Charles Perry follows up from Brent’s post on the App Store with this point of view:
I really like this analogy. However, if you take everything Charles says as truth, it reveals an even more serious problem: the 30% that Apple charges for distributing bits on their truck is outrageous. It’s flat-out wrong to charge such a high percentage if they are providing no value above credit card processing and file hosting.
Speaking of Tesla, I’m almost finished reading the new Elon Musk book. Fantastic look behind his life, early internet startups, and of course Tesla and SpaceX.
EV spots are crowded at Whole Foods this afternoon. I was about to take the last spot, but then saw a Tesla pull up… Feels right to defer to the nicer car, right? I parked elsewhere but they ended up going past too.
Core Int episode 188 is out. If you have off from work today, or have a weekend away from the computer planned, queue it up. We talk 10.10.4, Apple Music, and more.
Dave Winer writes about Circa and their fundamental mistake of not embracing the open web with easy linking:
We can be cynical about what the “open web” means, thinking it’s just marketing or spin. But it’s real and Dave shows how obvious it is to understand. It doesn’t matter if a web site or iPhone app is based around web technologies like HTTP and HTML. If it can’t be linked to or there’s no web API, it isn’t part of the open web.
Linkblogging is a special form of microblogging, and a significant part of Twitter is actually linkblogging. Tools that understand linkblogging will typically reduce the friction of writing by prompting for a quick note to go with a URL that’s already on the clipboard, for example. I don’t usually blog in this style, but I made sure these linkblog posts look great in the platform I’m working on.
Dan Counsell wrote a long post this week about the planning and executing of Realmac’s crowdfunding campaign for Typed.com. It’s worth a read for the careful thought he put into it:
The beta for Typed.com is well underway, and linked in Dan’s post is a support forum for users. This post by Realmac designer Elliot Jackson especially caught my eye:
He details a way to send short microblog posts to Typed.com by using Drafts and Editorial. Check out the full post for his JavaScript and Python scripts linking these apps together on iOS. I’m really looking forward to Typed.com’s official launch.
Tim Duncan back for another year. Danny Green staying with a 4-year deal. Kawhi with a max contract. Rumors about Aldridge. Next year’s looking good.
Enjoyed working from downtown today until I realized how much the parking garage is probably charging me, and the traffic I’ll hit on the way home.
In a couple weeks, Disney will close its “Magic of Disney Animation” attraction at Hollywood Studios. This area of Disney World was always one of the better ideas I’ve seen at an amusement park, mixing a ride with an actual working animation studio that produced Mulan, Lilo & Stitch, Brother Bear, and bits of other Disney features. Cartoon Brew writes:
Before I had kids, I visited the park in the late 1990s and spent some time watching the animators. I asked the park employee if I could hang out after the tour had continued on, just standing there looking through the glass as an animator shot a pencil test for some rough or cleanup animation for a scene from Tarzan. I’m not sure how long I stayed there; it could have been 15 minutes or it could have been an hour. But I remembered every detail from that animated scene when finally seeing Tarzan in the theater, and for years after until today.
By the time we could take our kids there, Disney had already closed down their animation studio in Florida, turning the ride into an empty shell of what it used to be. I wish my kids could’ve seen it as it was meant to be.
“Write the apps you want to write in your free time and out of love for the platform and for those specific apps. Take risks.” — Brent Simmons on the state of indie software
Apple Music launched today with iOS 8.4. Christina Warren has an early review for Mashable, in particular mentioning the value of For You:
If Apple Music can be thought of as Beats Music 2.0, then the Connect tab is probably a little like Ping 2.0, an update on Apple’s first attempt to build a music-only social network. As Daniel and I discussed on Core Intuition 187, any service that demonstrates a network effect — everything from eBay to Twitter — needs some critical mass of users to reach its potential. I was curious whether Apple could achieve this if the Connect feature was locked behind a paid subscription after the initial 3-month trial.
What I missed is that Connect and even Beats 1 will be free. From the Apple Music page:
Beats 1 is one of the more interesting aspects of Apple Music to me. I just signed up for the trial and plan to continue at the $15/month family subscription.
Automattic and WordPress.com celebrate their first decade in business. From an open source project to 400 employees. Much more successful than I would’ve guessed 10 years ago.
Writing his op-ed for the New York Times, Paul Krugman reacts to just before and after the Supreme Court upheld a crucial part of the Affordable Care Act:
He continues by countering many original arguments against the law, from not insuring enough people to costing too much. He wraps up with:
And that’s not the only big news from the Supreme Court. Nice way to end the week.
When I talk about microblogging, sometimes I get feedback asking what we should do about cross-site replies. That is, if you’re distributing microblog posts across different domains rather than centralizing them all on a service like Twitter, how do you solve linking together conversations and @-replies across those sites?
I don’t have a solution for that. Of course I’ve thought about it. I wrote 12 years ago about Trackbacks, which were an attempt at solving this. IndieWebCamp has more recent, related proposals.
For my new project, I’ve chosen to just plainly admit that I don’t have a solution for a next-generation Trackback. I will instead have limited centralized replies and favorites. It’s not ideal, but that’s why I call what I’m working on halfway-decentralized. It’s a next step, not the final step.
It’s okay not to solve everything. Cross-site replies and conversations need to come from the community, evolving organically from what people are building with their customized WordPress themes, experimental RSS readers, and new client software for posting. The open web advances incrementally, not all at once, and trying to fight that by tackling too much will get us nowhere.
Brent Simmons describes how he sees news readers as falling into 3 general types: casual newspaper, productivity, and river of news. This matches my thinking as well. We need all of these different apps, although it’s the third category that I’m currently fascinated with. I wrote a little about timelines and River.js earlier this week.
On episode 187 of Core Intuition: thoughts from WWDC about watchOS 2.0, Ello and the challenge of new social networks, plus Daniel hints at a new product idea. http://coreint.org/187
This is really big news for IFTTT: the Maker Channel for connecting to any web service that can make or receive web requests. https://ifttt.com/maker
Ever since writing about my WordPress-based microblog and linking to similar solutions from Seth Clifford and Ben Brooks, I’ve been hearing from more bloggers about their interesting microblog workflows. Everyone has a slightly different spin on the basic idea, but all of them achieve some independence from Twitter by having the primary copy of each post live on their own site.
First, Chase McCoy mentions on App.net that he uses Launch Center Pro for quick microblogging of links:
Then, Sander van Dragt describes his WordPress setup. It’s similar to mine, but his post includes more detail. He also links to a comment on my .htaccess gist with a better explanation and rewrite rules.
Next up, Adam Simpson shares how he posts to his own microblog directly from an SMS. He even goes one step further, integrating tweet features directly back into WordPress:
And finally, here’s an AppleScript solution on App.net from Henrik Carlsson that allows him to take any text on his Mac and quickly post it to his microblog via an Automator workflow. Pretty great. I had forgotten that AppleScript has native XML-RPC support, which most blogging systems support.
I’m inspired by all the cool work people are doing around blogs. It’s a good time to write on the web.
NSDrinking is on for tonight with a repeat of last month’s venue: Radio Coffee & Beer. Come by to chat about Mac/iOS development around 7pm. Food truck tacos, too.
Several years ago, Jim Coudal gave a talk about shifting from client work to product work. I recently re-watched it and it’s still great, even if some of the details have changed. They no longer do Jewelboxing, for example, and Field Notes has become an even bigger deal.
It’s also about bad ideas, managing projects, and team size. On wasting time, Jim says:
The best talks are timeless, which is difficult in the tech world. This one comes closer than most to achieving it.
Today, Shawn Blanc launched The Focus Course. Originally conceived as a book on productivity, it expanded during his research and writing to include 18 videos, PDF workbooks, and a discussion forum, wrapped together with 75,000 words in a 40-day course package:
I love the scope of this. It sounds like he put everything into it.
First time at a waterpark with the Apple Watch. It got splashed and sunk and plenty wet, even if I tried to avoid submerging it completely. Seems totally fine.
Overall quite happy with the IFTTT recipe for posting to App.net, but noticed that any inline links aren’t preserved. I write in Markdown, it goes to RSS as HTML, and either the IFTTT converter or App.net API just assumes plain text.
I said that one important facet to microblogging is the timeline experience. This is a basic foundation to Twitter’s success, although they continue to de-emphasize or twist it. Their upcoming Project Lightning will attempt to curate and deliver tweets to you that are important regardless of who you’re following. From Mat Honan’s scoop on the project for Buzz Feed:
David Pierce wrote for Wired with further speculation on what it could mean for Twitter. David starts with the premise that Twitter is basically full of junk:
The essay continues, describing Project Lightning as the death of the Twitter timeline as we know it:
Since I haven’t seen this new feature, I can’t tell whether it’s a major shift in how Twitter is used. Federico Viticci is optimistic about it:
I agree with Federico on the value of curation and surfacing great content. But also the timeline must remain at the heart of Twitter, just as a reverse-chronological list of posts has been on every blog home page since the term weblog was coined 18 years ago.
Dave Winer calls these timelines “rivers”, and last week he open-sourced a browser for the River.js timeline files. Formatted as JSONP, you can think of River.js as conceptually the same as an RSS feed, except that it’s easy to display with HTML using only JavaScript.
I plan to fully support outputting River.js in the project I’m working on. For the last few years, Twitter has had a monopoly on the timeline. We need to break that up. The first step is encouraging microblogs everywhere, and the next step is to build tools that embrace the timeline experience. If you’d like to see my take on this, please sign up on the project announce list.
MacStories covers Apple’s reversal on the Apple Music trial. Great news: they will pay artists. Don’t underestimate the power of a widely read weblog.
Last week, to not much fanfare at all because nearly everyone had already lost interest, Ello shipped their iPhone app. Credit to them for attempting to build a new social network, because this is extremely difficult. But it seems to me that Ello is a bust. They needed a more compelling pitch than simply “no ads”.
(I’ve heard some people joke about Ello’s monospaced font, but I kind of love that about Ello. If you want to differentiate yourself, design isn’t a bad place to start.)
App.net was — and likely will be for many more years — the most successful attempt to compete with Twitter and Facebook. If they fell short, despite how many things they got right, how can another clone of existing social networks hope to do any better?
I wish I could cheer Ello on. Spend enough time clicking around on Ello and you discover a niche but fascinating community, full of beautiful art and photos. It’s just that after so many months, there’s still not even a mention of an official API on the planned features page.
The next great social platform can’t be yet another centralized system. It has to be more distributed and more open even than App.net. It has to focus on writing and bloggers and embrace what is good about the web. Ello doesn’t do any of these things.
Taylor Swift writes on her blog (via iMore) that she’s hopeful Apple will be the first company to get streaming right, but that she can’t agree to 3 months of artists not getting paid:
I agree with Taylor. Apple still has a mountain of cash. Seems reasonable for them to use it to launch Apple Music properly and get musicians excited about the service. Usage will be higher during the free trial, so it would be a nice gesture to the music community, even with some kind of reduced royalties.
Imagine if Apple had launched the Mac App Store with this same model, where users could try apps for free and developers wouldn’t get paid for the first 3 months. Pretty unacceptable.
We just published episode 186 of Core Intuition. This is our first recording after WWDC 2015, with talk of Swift 2.0, new Mac and iOS APIs, CloudKit, and SSL. http://coreint.org/186
Very happy with the way my blog has been shaping up lately, with a mix of essays and short posts. Just finished writing something about Twitter’s Project Lightning. I’ll publish it on Monday.
I had a great conversion with Seth Clifford one night at WWDC, about writing and blogging. We all want to get better at writing and posting more frequently. As I mentioned in yesterday’s post, the best way to improve anything is to do more of it, more often.
I believe there are two important facets to microblogging. The first is the timeline experience: a reverse-chronological list of posts from your friends, like you see on Twitter. The second is that posting should be effortless: if there’s less friction between your idea and publishing it, you’ll write more often. So a big part of posting regularly is just having a system that makes it easy.
Seth updated his iOS blogging workflow by using Drafts and WordPress’s email-to-blog feature. As a nice bonus, he gets Markdown files of each post saved to Dropbox:
Also this week, Ben Brooks has switched his core Twitter posting to go through WordPress. He has a standalone microblog at benb.me where the posts live. They go out to Twitter automatically via IFTTT. Posting to a blog first and then Twitter second seems like a simple idea, but it is extremely powerful. Years from now you end up with an archive of all your short-form writing at your own domain. Not as an afterthought, but as the default.
The great thing about blogging is there’s no one correct way to do this stuff. I’m really happy to see these solutions from Seth and Ben, and I know other folks are working on similar workflows.
Still going through basketball withdrawals. Signed up for the WNBA streaming pass so I can watch some of the San Antonio Stars games. They are 0-4 but play again tonight.
I rolled out fixes to Searchpath yesterday to allow SSL hosting of the JavaScript include and related resources. Just use secure.searchpath.io instead.
Shawn Blanc has been publishing a series of essays leading up to his new book and online course, The Focus Course. In a recent post, he writes about how we all need to get through more bad ideas. It’s easy to assume that because your friends’ lives appear perfect on Facebook, that you should reserve only your brilliant ideas for posting:
The essay reminds me of something that always stuck with me reading about legendary Warner Bros. animation director Chuck Jones years ago. He said that when he was young, his father would give him and his siblings essentially unlimited paper to draw on, unused supplies from his business. We all have 100,000 bad drawings in us. The sooner we get through all the bad drawings — in Shawn’s essay, the bad ideas — the sooner we can start producing our best work.
I wrote at a high level how I improved my microblogging workflow before WWDC, but I’d like to use this post to show the surrounding details. I hope it’s useful to other folks who want to control their own content.
Post formats. Newer versions of WordPress have the concept of post formats. Normal blog posts have a “standard” format, but there are also these types: aside, image, link, quote, and status. For microblogs, I recommend “status”.
No titles. As I proposed in a previous blog post, for small posts we should revisit an original feature of RSS: the title of a post is optional. In fact, early blogging systems like Radio Userland didn’t even have a title field. When you’re writing a microblog post in WordPress, just leave the title blank, and if necessary update the post template to not include the title in HTML or the RSS feed.
RSS feeds. If you create a brand new WordPress blog for microblog posts, you won’t need to do anything special about RSS feeds. But if you share a single blog for both standard and status formats, you may want to have 2 feeds: one that excludes microblog posts and one that contains only microblog posts. Just use a special category for microblog posts in addition to the post format. Here’s a section of my .htaccess file where I use the “cat” parameter to include or exclude this category for my blog’s feeds.
iPhone posting. One of the lessons from Twitter is that posting should be effortless. Using WordPress on iOS is fine, but I’ve found that wiring up a simple posting recipe in IFTTT’s Do Note app makes it trivial to post from your phone. Use the WordPress action in IFTTT but also get this WordPress plug-in. Since the WordPress action can’t yet specify a post format, the plug-in can simulate it by using a special ifttt-status category. Here’s a screenshot of what my IFTTT recipe looks like.
Tweeting. Now that you have a blog that contains all your microblog posts, you can wire it up to Twitter to automatically cross-post them as tweets. You’re writing on your own site first, but the posts still go out to your Twitter followers. Again, use an IFTTT recipe that pulls from your microblog RSS feed and sends the post content to Twitter. Since I don’t post to Twitter, I’ve set mine to post to App.net instead. You can continue to reply and favorite directly on Twitter.
I’m very excited about the potential for microblogging. For the last year I’ve been working on a new platform around this stuff. By adopting some of these tips for WordPress, your microblog will be ready for my platform, but more importantly your blog will be open and extensible. Let’s get back to our roots with RSS and see what tools and web sites we can build.
HipChat explains what happened with their outage on Monday. Part of it was a reconnection bug in the new Mac client:
I could’ve done without the light-hearted mention of cat GIFs and inline face-palm image, but otherwise it’s a good post. They apologize and succinctly explain the issue. Far too many of these types of downtime reports from other companies go on and on for pages of detailed text, as if to hide the true failure in unnecessary verbosity.
Spoke too soon about switching away from Network Solutions. Transferring .io domains requires a phone call, and another domain I have needs a 3-day wait for the transfer auth code. Few companies (Time Warner Cable?) are more difficult to leave than this.
Looks like I can finally transfer my .io domains away from Network Solutions to DNSimple. Taking about 30 minutes to reset my password and figure out how to use the Network Solutions web site, though. (Upsells and user-hostile design everywhere.)
Federico Viticci has a comprehensive write-up about Apple’s approach to search in iOS 9, including comments from developers. On local app search:
I’ve been slowly going through WWDC session videos, but haven’t cracked open the documentation for search yet. Sounds like an important new API for any app that has user documents.
Golden State off to a good start with shooting. Still hoping for a game 7. Cleveland needs to cut it out with the turnovers.
Dan Moren wrote on Six Colors last month about the Amazon Echo. On the voice recognition working so well:
The Echo’s hardware deserves a full share of that credit. The microphones on this device are impressive; even when I’m several rooms away, Alexa rarely mishears me. I’ve triggered it from my kitchen and from my hallway, the latter of which doesn’t even have line of sight to the Echo.
I have one too. I pre-ordered it on a whim and then promptly forgot about it for 2 months. Then seemingly the next thing I knew it had showed up at my house. If I had remembered about the order, I might have cancelled it, but now I’m glad I didn’t. The Amazon Echo is great.
I remarked on Core Intuition that it’s like a task-specific Siri, with better accuracy because there are limited things you want to ask it. Play some music, set a timer, measurement conversions. It can’t do everything, but what it can do is particularly useful in the kitchen or living room. Plus it’s probably the best wireless speaker we’ve ever owned.
Because it’s so effortless to play music now, I’ve uploaded some tracks from iTunes to the Amazon cloud via their music uploader. (Remember when we wanted DRM-free music? This is a concrete reason why.) And since we have an Amazon Prime membership, I’ve discovered that we have a significant amount of good music in the cloud already.
I’m looking forward to Apple Music and will probably subscribe, but I’ve realized after having the Echo for a while that Amazon is quietly sitting on something pretty special. They should do more with music — I didn’t realize until now that they even had a dedicated iOS music app — and more to build and promote their service. Music is in their “DNA” just as much as it’s in Apple’s. After all, Amazon’s 2nd offering after books was music CDs.
I’ve been slowly losing interest in Game of Thrones, and last night’s season finale might be the last straw. I’d like to keep watching until the end of the series, but… so many dead characters. They need to wrap this up within the next couple years.
Daniel Jalkut has an optimistic take on Apple News. He doesn’t think it is comparable to centralized publishing systems like Twitter or Medium for one important reason:
Any technology that invokes “amplifier” in a review is something I want to pay attention to. I used the same word in the closing paragraph of my pitch for App.net. That service is fading away now, of course, but it’s just another reminder that even the most well-intentioned platforms are dangerous if they distract us from controlling our own content and hosting it at a custom domain.
Working from Radio Coffee & Beer. Hot afternoon outside, iced coffee, some code to write. Can’t complain for a Monday.
Throughout the week I posted about WWDC to my microblog, but I thought I’d write a longer post with the week’s narrative. It’s useful to have these to refer to in the future when all the WWDCs blur together and I’ve forgotten which event was which. Where it adds any details I’ll link to a few of the shorter posts.
So let’s go back to Sunday morning a week ago when I arrived in San Francisco, ticketless but ready to learn and meet up with friends. What a great day. First burritos and coffee in the Mission, then to Oakland for the NBA finals, game 2. I had signed up on the Golden State Warriors mailing list a couple weeks earlier to get in on the pre-sale tickets. Excepting the nearby San Antonio Spurs, I’m almost never going to just coincidentally be in the same city as an NBA finals game. I couldn’t let that chance slip by.
And it was an amazing game. Outwardly I was rooting for the Warriors — high fives to fans when the team came back to force overtime, wearing my new yellow shirt they gave everyone at the game. But inwardly I was also marveling at LeBron’s dominance and happy to see the series tied up. I want to see this thing go to 7 games.
Monday was the keynote and later the Cartoon Art Museum / NeXT fundraiser, with beautiful art on the wall from one of my favorite films this year, Song of the Sea. Tuesday I tried to catch up on some code at Sightglass Coffee, watch sessions at WeWork, and installed the iOS 9 beta on my retina iPad Mini. In the evening on this day and others there were parties, though I only attended a few.
The Talk Show live with guest Phil Schiller was a great surprise. I’m so happy for John and his success. Developers who have only known Daring Fireball after it was already fairly popular may need this important reminder: John Gruber started a dozen years ago with a blog that no one read, just like the rest of us, and this week he conducted the best interview of a senior Apple executive I’ve ever seen. If you think it’s enough to just throw random quips to Twitter, it’s not enough. Blogging is still the best way to build an audience. (Don’t miss Marco’s post about the event and what it means for the new Apple.)
I have very little to complain to Apple about this year. Maybe the keynote was a little long, but the topics they hit and the new user features and APIs were exactly right. I’ve got Mac OS X 10.11 El Capitan installed and will require it for my next Mac app.
Toward the middle of the week I wasn’t feeling particularly great — not sick, but not really upbeat enough to get excited about new APIs. I escaped the city for the afternoon on Wednesday, visiting the Walt Disney Family Museum and then walking down to Crissy Field toward the Golden Gate Bridge. I stretched my arms out wide to catch the wind and felt refreshed in a way that the stagnant weather back in Austin this time of year can’t hope to provide. I remember this tweet from 2012 and it’s always true again, year after year.
Thursday morning I caught a session at AltConf before heading to the airport. Flights were delayed out of SFO because of fog, so it was 3 hours waiting in San Francisco, and another 3 hours waiting in Phoenix after a missed connection. But it’s all good. WWDC was a little weird for me — not because of anything Apple did, just because I was a little wistful, and distracted by email and non-WWDC happenings too.
Nevertheless I’m inspired by the week. The success of both AltConf and now Layers, not to mention all the other smaller events and keynote watch parties, point to a very strong WWDC for years to come.
Dusted off some Mac app code to require Mac OS X 10.11. I don’t usually enjoy ripping out old code because of how much breaks, but made good progress switching to Auto Layout, NSStackView, and the new NSCollectionView.
Jurassic World was the expected formula but they put everything into it: nods to the past films, incredible effects, good pacing. We really enjoyed it.
Back in Austin getting into the flow of work and catching up on things. Listening to some WWDC sessions in the background.
Flight out of Phoenix left minutes before we landed from San Francisco. Layover is now 3 hours. Hopefully will at least be able to watch the first quarter of game 4 before boarding.
My flight is a couple hours delayed out of SFO, so expect there will be a missed connection or a lot of running between terminals in my future. Or both.
Finally made it over to AltConf this morning for a great session on syncing small data and Continuity. Good week, but time for me to head home.
In his 9th essay about avoiding crashes in your code, Brent Simmons writes about learning to be even less clever:
I’m in San Francisco for WWDC this week, but without a ticket again. I took some time this afternoon — miles away from the hotel and Moscone — to reflect on what I’m doing here and what I need to do next. I’ve been to WWDC many times; my first was in 1996. And it has taken almost all of those years for me to understand the truth of Brent’s statement about being clever.
I also believe that a programming language can either encourage or discourage clever code based on the syntax it allows. I saw it with Ruby — programmers intent on fitting as much logic into a single line of code as possible. I think I see it with Swift as well, in operator overloading and maybe even a kind of rejection of Objective-C’s notorious verbosity. We’ll know for sure if we eventually see a Swift book in the pattern of JavaScript: The Good Parts.
Needed to escape from the city for the afternoon so I went out to the Walt Disney Family Museum. Good place to unwind and I notice something new here each year.
John Gruber really knocked it out of the park with tonight’s live The Talk Show. Phil Schiller was great.
CloudKit Web Services may be the biggest news of the conference so far. I didn’t think Apple would ever open this up.
New multitasking features on the iPad for iOS 9 look fantastic. I’ve been wanting the split screen apps and video picture-in-picture.
At the Release Notes viewing party for the WWDC keynote live stream. No last-minute predictions. Expect I’ll be surprised with whatever they announce.
Surprisingly quite a few Cavs fans at the game. Warriors fans were bummed at the end, but the arena was in a frenzy as Golden State pushed it to overtime. It was great. Fantastic game to what I hope is a long series.
Great slow afternoon in San Francisco — burritos in the Mission, good coffee. Took the BART to Oakland for the Golden State / Cleveland game. Excited for game 2.
Maybe I should pack for WWDC, but instead I’m figuring out the best way to print out a booklet of my Day One journal entries.
Camping last night at McKinney Falls, woke up this morning and checked into my flight from the tent. Looking forward to San Francisco weather.
The pre-WWDC episode of Core Intuition is ready. If you’ve never listened to the podcast before, I think this is a good one to start with. http://coreint.org/185
Slept on it, but no change in my opinion that Apple telling AltConf not to show WWDC videos is a mistake: bad for the developer community and bad for Apple.
Such a great game and close the whole way, I figured someone would pull away in overtime, just didn’t know who. Cleveland nearly scoreless in OT, Kyrie hurt. Wow.
Must’ve had too much coffee today. Editing this podcast and I feel like I could listen and edit at 4x speed. (Is that even a Logic feature? Because that would be great.)
Hilarious and excellent tool for putting some fun back in GitHub commit messages: https://github.com/peburrows/gitmoji
Tim Cook spoke recently about privacy and cloud services:
I’m going to give you a very cynical translation, which I don’t often do: We are in denial about how much better Google Photos is than what we’re doing at Apple. It is so advanced in terms of search that we won’t be able to match it anytime soon. In fact, we don’t even have anyone working on similar technology at all.
It’s not about being free. I pay Dropbox $20/month to be grandfathered into 2 TB of storage so that I can put all of my photos and documents there. Dropbox is rock solid and worth it.
Like Marco and others, I have tried to avoid Google services. I don’t use Gmail. I hate advertising. But the idea of being able to quickly search my photos by content without even tagging or organizing them was too compelling to not try. So I’ve uploaded over 10,000 photos so far to Google Photos. It is really good. (I’m going to finish uploading all my photos and give it a few months before making a final judgement on the search vs. privacy trade-off.)
Some of the random searches that work out of the box to filter my photos: “beach”, “trains”, “New York City”, “Oregon and 2013”, “road trip”, “party”, “basketball”, “Christmas tree”. I never saw a demo or tutorial for how to use Google Photos; I just type stuff in and it mostly works, discovering photos and events. And on top of that, there’s also the automatic stories and collages, which is something we always wanted to build for Sunlit.
My family photos are the most important files I have on my computer, and I very rarely share any photos of my kids publicly. But ironically I’m willing to overlook some of the privacy concerns around this exactly because the photos are so valuable to me. I want multiple copies in the cloud, and I want the power of search that Google has built.
Just noticed that art from Song of the Sea will be up at the Cartoon Art Museum. Looking forward to seeing this. It was one of my favorite movies this year.
Ramping up productivity after a slow start today. Had lunch outside, now coffee and work from Whole Foods, looking out at a beautiful blue sky. You couldn’t tell that Austin felt like it was underwater a week ago.
Great time tonight chatting with folks at Houndstooth for Cafe Bedouins. Felt like a warmup for WWDC. Even wrote a little code.
Brent Simmons, still an Omni employee, has decided to part ways with his Q Branch founders to focus on a new project. The whole essay is an important read, but especially this part:
I think many of us can relate to this. I don’t personally have a single piece of software in mind that has been nagging at me, but I have had a sense for a couple years that everything I work on needs to be something that matters to me. Having a theme across projects has also been a great way to judge what to spend time on.
I think it has finally stopped raining in Austin. Starting to look like summer again:
Contrast with this video we took on our street last week. We get our fair share of thunderstorms, but I had never seen anything quite like the rain we got last month.
Was feeling pretty great that I had breakfast and a beta app submitted to TestFlight before 7am. But just realized I left the house without my Apple Watch.
I finally have a great use for IFTTT’s Do Note app. I’ve wired it up to my WordPress blog so that I can quickly publish microblog posts there. Previously, if I was on the go I could use the official WordPress iOS app, but that requires a bunch of extra taps: setting the post format to “status”, setting the category to “Snippets”, and going back and forth between screens. Now all of those defaults are baked into the IFTTT recipe. (Grab this WordPress plug-in to set the custom post formats automatically.)
I also wanted to streamline my cross-posting to App.net, which before now had been a manual copy and paste. I use a pair of RSS triggers in IFTTT for this as well, to go from my main RSS feed and my microblog RSS feed. And at the same time, I’ve updated the CSS for my microblog posts so they look a little better over the web.
Effortless tweeting is a big part of what Twitter got right on user experience. With WWDC around the corner, I should be posting to my own microblog more frequently now that I have a good workflow.
Now using IFTTT’s Do Note for quick microblog posting. Goes to WordPress with the right format and category, then pushed to ADN.
Took a little time this morning to improve the CSS for my microblog posts. Also added links to the two RSS feeds.
One week until WWDC. My predictions? That I’ll have a great time in the city for a few days and try not to panic about anything Apple announces.
I actively try to avoid Google services, but Google Photos is compelling. I’m giving it a try. Photos are probably the most important files my family has, so I think it’s worth it to have an extra backup and new way to search.
We’re mixing it up for NSDrinking tonight. New venue this month: Radio Coffee & Beer, around 7pm. Not sure what the weather will be like, so be safe if you’re out driving.
To cope with his dislike for how Twitter treats the microblog part of their platform, Brent Simmons has adopted a strategy of deleting old tweets:
Justin Williams joked that Brent and I are now the sole inhabitants of “Manton Island”. That’s funny but it’s actually backwards; it’s Twitter that is the island. Everyone is there, though, in an overpopulated mess, so they don’t realize they’re cut off from the rest of the world — the open web, designed 25 years ago as an interconnected system of countless islands.
The risk on Twitter Island is that the monarchy can change the rules. Cars that once were great now can’t run on the road. Windows that once had a beautiful view now only look inward. Eventually maybe the whole thing sinks, with waterlogged tweets (which you thought you controlled) floating above the surface like lost bubbles over Atlantis.
The rule of the open web is much simpler: you own your content if it’s on your domain name. That’s why I have my microblog posts here on manton.org and with their own RSS feed.
I’ve been working on a new project that I think is the next step for microblogging. It still has elements of being an island, as most web apps inherently do. But mine isn’t just an island; it’s an island builder, with massive bridges to the mainland, to other nearby islands, to places we haven’t even dreamed up yet.
We went probably 10 years without cable TV, then splurged a couple years ago — HBO, Showtime, the works — to catch up (and keep up) with our favorite shows. Then we got sucked into other channels that made it “difficult” to cancel, such as Fox Sports Southwest for all the Spurs games this year. Sadly that final reason ended Saturday night as the Spurs lost to the Clippers in the final seconds of game 7, wrapping up the greatest first-round matchup I’ve ever seen.
Time Warner will try almost anything to keep you as a customer. 30 minutes and 3 phone calls later, we’re cable TV free but still have internet with them, upgraded to 200 Mbps. To offset our loss of channels, we’ve got TNT, AMC, and HBO through Sling TV. It’s significantly cheaper and we can have a small Roku in the living room instead of a giant, loud, overheating DVR box.
I sent an email to Watermark customers over the weekend, letting them know that the service as it currently exists will be going away on May 15th. As I wrote about last year, Twitter has improved their search enough that a part of what Watermark is good at is no longer as necessary as it once was. However, I still see interest in Tweet Marker, from developers and users, so I wanted to keep the web-based timeline and sync from Watermark and make it available to all Tweet Marker subscribers.
You can learn more about Tweet Marker here. I’ve had to significantly scale out the backend servers this year, including adding a second load balancer, so I’d love your support. The new timeline feature will roll out later in May.
While I’m happy to keep offering a part of Watermark (now back in Tweet Marker), I have less good news for Tweet Library. I’ve found it very difficult to justify the time to finish the new version. It’s now looking likely that the current version will be the last.
Listen to me talk about my new Apple Watch and what I think it means for developers. Core Intuition episode 181 is out now.
As part of a renewed commitment this year to work on my web app Searchpath, I’ve just rolled out a few improvements. A search engine like Searchpath needs frequent maintenance to keep running smoothly — minor bug fixes and behind-the-scenes work on queues and web crawling — but I also hope to catch up on new features that I’ve long planned for the product.
One marketing bullet I always had that wasn’t fully realized: “Also serves as a text backup for your site.” Searchpath now exposes links to download both the HTML for any stored page on your site as well as a text-only version of that page after Searchpath has attempted to trim out the navigation and other links. Hopefully this will help out any customers who might need to retrieve lost text from their site if their primary site backup failed (or doesn’t exist).
Searchpath is free to try and $8/month or $75/year. Setup is as simple as copy/pasting one line of JavaScript where you want a search box. You can learn more and get started here.
We’ve been lucky to see some great job listings appear on Core Intuition Jobs. Companies are getting good résumés and job applicants are finding the kind of job they’ve always wanted.
When we hear from companies who have hired someone, we like to include a brief testimonial on the sidebar of the site. We’re about to add this one from Ken Drew at iRobot:
Thank you to everyone who listens to the podcast or watches on Twitter for new job listings. The opportunities for iOS and Mac developers have never been better. Get the job you want or find the next great member of your team.
We posted this week’s Core Intuition late last night. This episode is all about WWDC tickets, our plan for San Francisco, and when we’re going to adopt Swift.
We’re also trying something new for listeners, or anyone who wants to talk about programming, WWDC, and other Mac and iOS topics. You can get an automatic invite to our Slack channels for the show by visiting chat.coreint.org. Feel free to join in! I’ve been impressed with how well Slack works for this, and the great discussion that’s already happening there.
I’ve been watching a lot of NBA games this season. I’ve caught well over half of the Spurs’s 82 games so far alone, on TV and SiriusXM in the car (and a few in person in San Antonio). I’m not sure how far they’ll make it, but you can’t argue with the greatness of this team over so many years.
The NBA has some records that just seem unbreakable. Either because the rules or style of play have evolved in the modern era, or because the records were insane at the time, these are feats we may not see again. Here are 10 such records, from Wilt Chamberlain’s 100-point game to the Laker’s 33-game winning streak to Bill Russell’s 11 championships. The Spurs’s 16-year streak of 50-win seasons is approaching this category of success as well.
That’s kind of how I view John Siracusa’s series of Mac OS X reviews on Ars Technica. There have been other excellent reviews about Mac OS X over the years, but the depth and consistency of John’s reviews may always stand apart. If you’re starting today and want to top it, you will have to work for the next 15 years just to be competitive at all.
Congratulations John on a great run. Nothing seems to last forever on the internet — web sites fade away, and some obscure technology isn’t well-covered to begin with — so it’s nice to know that these Mac OS X reviews are at a stable site where we’ll be able to reference them for years to come.
To make the finals again, the Spurs will have to go through the 3 best teams in the western conference: Clippers → Houston (probably) → Golden State. Tough, but they know how to beat each of those teams.
Federico Viticci of MacStories provides some context for so-called textshots with the upcoming release of Wikipedia’s new app:
I don’t like textshots. They’re like DRM for tweets: a trade-off that obscures real metadata and text selection just to hack around Twitter’s limitations.
If I were building a Twitter-like social network, I’d certainly allow basic HTML styled text and inline images in a microblog post, but I wouldn’t go out of my way to encourage textshots.
WWDC will be June 8-12 this year, with a lottery for ticket selection. I’m not going to put my name in the hat for a ticket; I hope to save some money and let others have a chance. I’ll be in town for a few days to meet up with folks and attend AltConf, which looks excellent again.
The student scholarship page caught my eye this year. App submissions have to be written using at least some Swift:
I’m also starting to reset my expectations for a more full-featured, native Apple Watch SDK. I think we’ll see welcome improvements to WatchKit, but with the watch still weeks out from shipping, it seems too soon for a reimagining of the API by June.
Jared Sinclair announces that Riposte will no longer be available:
Even today, Riposte is arguably the best social networking client out there. It pioneered consistent gestures for navigation. It will remain on my home screen for some time to come.
Kirk McElhearn writes (via Thomas Brand) that when you include the cost of buying an iPhone, the actual cost of the Apple Watch is $900 or more:
While I generally agree with the sentiment, I have to take issue with his dismissal of the 5C, which I’ve been using as my primary phone for over a year now. I’m an iPhone developer, so if it’s good enough for me it seems adequate for regular users who just want to use the Apple Watch. In fact, the opposite of Kirk’s argument is actually true: pairing an Apple Watch with the 5C makes the phone less limited than before by adding Apple Pay to it.
The 5C unlocked is $450, which drops the total price with watch to $800. And really, it’s a non-issue, since nearly everyone excited about the watch already has an iPhone.
When Apple shipped the first iPod, it required a Mac. Later they supported Windows, and today the iPod Touch is completely untethered and requires no computer. I expect we’ll see a similar transition with the watch becoming increasingly more useful as a standalone device, but there’s no rush to get there.
Nice quick impressions from Marco after trying on the various Apple Watches and using the new MacBook. So far nothing has made me doubt the safe-bet Apple Watch Sport with white band I pre-ordered.
If you missed pre-ordering an Apple Watch in time, maybe this brilliant Apple II Watch will cheer you up, complete with full instructions.
I said on the podcast today that I would just wake up early instead of staying up until 2am CST. I’ve changed my mind. Brand new Apple product hype is hard to resist.
This week for Core Intuition, we share our Apple Watch thoughts before pre-order day and discuss 10.10.3’s Photos app for Mac in the context of my app Clipstart.
The Verge highlights 6 apps that show the promise of third-party apps on the watch. About Twitter:
This is certainly on my mind as I write about and work on microblogging projects.
When I think of the latest startup to launch at SXSW, I remember this drawing I made 4 years ago. Still rings true.
I’m fascinated with Periscope, but at times it also seems like the worst kind of unedited, draft blog post. If I’m going to post video online, I’m going to at least preview it first.
I was thinking last night that I might skip the Apple Watch for now, and instead get one for my wife (who actually wears a watch) that I could also borrow for development testing. But John Gruber’s review has changed my mind again.
Last week my Instagram timeline included a bunch of really beautiful photos from folks in Ireland for Úll. Jason Snell writes about the conference:
There were a lot of neat ideas for Úll that I bet made it special, including a kids track and the train ride. I’m a sucker for anything train related, for example the train car hotel rooms in the upcoming Release Notes conference venue.
These special touches transform a conference into half work, half vacation. Every technical thing you might want to learn is on the internet these days anyway. Conferences should be about inspiration as much as anything else, and a great setting is part of that.
Here’s Jason again, writing about the national park location for Yosemite CocoaConf:
I’m sorry to miss that one. For the last several years I’ve mostly fallen into a pattern of traveling to attend just one non-WWDC conference a year. This year I’ll be speaking at CocoaConf in Austin and hope to make Release Notes as well. Tickets for CocoaConf are on sale now, and Release Notes tickets should be announced soon.
Some people bought the iPhone 6 and then went back to the 5S. Some people bought the iPhone 6 Plus and then tried the 6. Some worked their way up to the 6 Plus after adapting to the 6. Some never upgraded to the 6 or 6 Plus because both are too big.
Marco’s post is a good formal summary of a few write-ups I’ve read this week:
The lesson from all these switches couldn’t be more clear: there’s no longer one perfect iPhone for everyone. What works great for one person might be terrible for someone else. I personally love the 5C design — the size of the screen, the way the plastic feels in my hand, flipping or spinning it on my fingers without worry that it’ll slip, using it without a case, adding a little color to my life — but many people never even tried it because it contains underpowered hardware compared to the latest models.
Apple would be crazy to discontinue any size. I’m more convinced than ever that we’ll see a 4-inch 6C alongside a new 6S and 6S Plus later this year. They won’t have identical specs, and that’s okay. I’ll happily pick the 4-inch model even if its camera is a year behind the cutting edge. The iPhone market is so ginormous now that I know there are millions of people who feel the same way.
There’s no denying the fact that my writing would have a greater reach today if I was still active on Twitter and tweeting links there. Posting to my own microblog feed and cross-posting to the dwindling user base that is App.net has an obvious “if a tree falls in a forest and no one is around to hear it, does it make a sound?” aspect to it. If the post is read by so few people, some might argue that it can’t be as relevant to a larger conversation.
This doesn’t bum me out, though. It inspires me. It reminds me that I believe in something ambitious that has to be built in layers, starting small — a more open microblog platform that other apps can hang on to, encouraging new writing that will last.
Dave Winer calls this process of building successful platforms a coral reef. I think it’s a forest. Only the most passionate users of the open web can hear the tree falling today, but tomorrow there will be new growth. We plant a seed with each tool we build and with every RSS feed that’s wired up. There will eventually be many forests, crowded with plenty of people listening, interconnected regions that can’t be bound in the way a closed system inherently is.
If you join in and post, maybe your posts won’t be heard as clearly today. But in the future they will become the oldest, strongest pillars around which everything else grows.
Call me crazy but I still believe a 1-person company with a great idea and just the right focus can take on a 100-person company that has started to lose its way. There’s a major productivity imbalance as a company grows.
All my short, microblog-style posts go to my own weblog first, and also get cross-posted manually to App.net. You can view them in a special category and RSS feed.
I think owning your own posts on the internet — even if they seem unimportant and fleeting — is a valuable contribution to the health of the open web. By loosely following some simple conventions, we can build stuff that goes beyond what purely centralized web apps like Twitter are capable of.
Getting started is easy. I recommend one of 3 approaches right now if you want to play in this emerging ecosystem:
Since last year I’ve been working on something new that is all about microblogging. I hope that it will encourage many more microblogs, but there’s no reason to wait until then. You can start a microblog today with one of the above apps (or dozens of other blogging solutions), and more fully control your own presence on the web.
On April 10th, two things go on sale: Apple Watch and Spurs playoff tickets. Maybe I’ll skip that extra watch band after all.
On the latest Core Int: follow-up on NSBundle, Xcode quality, and a debate about unit testing. Sponsored by Screens.
Not long after I launched Tweetmarks in 2011, I realized that there was a trademark for that name, and an existing .com domain. I started worrying about the conflict so much that I couldn’t get any real work done. I talked to friends about it, tried to get other perspectives, and then finally renamed it to Tweet Marker. Whew, I had made a decision and moved on, free from ever worrying about it again.
I had to fix the tweetmarks.net redirect recently and checked around on some of the old stuff. That domain name I had been so worried about, which I literally lost sleep over? It’s gone.
I’m not going to tell you that trademarks don’t matter. Nothing I write on this blog should ever be considered legal advice. But it’s another reminder that there’s enough real stuff to focus on without wasting time on imaginary problems.
Nearly every day, the top visited page on riverfold.com is for a product that I discontinued 3 years ago. I don’t know what this means but it doesn’t bode well for my business skills.
I expected to get a little more negative feedback on my footnotes blog post than I did. Most feedback was pretty good. Thomas Brand agreed but also wrote:
Definitely. If you’re going to do footnotes, might as well do them with the best user experience possible.
Thomas has had some really good posts lately. Before it expires off his home page, don’t miss the recent one on the Newton MessagePad 2000:
I couldn’t afford a MessagePad 2000 at the time, but I still have my MessagePad 130. Along with my original iPhone, I’ll never part with the Newton — a wonderful device to use and develop for that was way ahead of its time.
Last week at NSDrinking we had one of our biggest turnouts yet. At one point, we’re talking about programming jobs, meetups, and Apple, and Jordan Breeding was mentioned. Not in the context of having passed away, but just in remembering something he had said or done. A stranger listening to the conversation would have no idea that Jordan wasn’t still a member of the community.
This struck me as exactly right. I think anyone would would want to be remembered as who they were, not how they left us.
Like many in our developer community, I’ve thought about Jordan Breeding at certain moments over the last couple months. Patrick Burleson shared a story about his close friend:
Episode 135 of the iDeveloper podcast opened with a segment remembering Jordan. Scotty and John did a great job of capturing what he meant to the community. Scotty says:
Guy English also dedicated episode 60 of the Debug podcast to Jordan. On his blog he writes:
Kyle Richter worked with Jordan and had this to say, echoing Patrick’s quote above about how Jordan went out of his way for other people:
And finally, a collection of tweets via John Gruber. You know when reading any of these that Jordan will be remembered for a long time. He accomplished a great deal and went far, quickly, and that progress is a personal inspiration whenever I consider accelerating the change in my own career. Carpe diem.
“I’m a grown man, and I like a splash of colour here and there. Life’s too short, and too damned beautiful, to wear the colour of the grave everywhere you go.” — Matt Gemmell
Stephen Hackett recently linked to the footnote JavaScript library Bigfoot.js:
You know what else makes a long article easier to read? Fewer footnotes.
This trend of footnotes in blog posts is out of control. Maybe a couple footnotes work well in a very long Daring Fireball essay, but in recent years bloggers are using footnotes everywhere in places where they’re just not necessary. They’re distracting and take you out of the story.
(Also remember, no amount of JavaScript footnote wizardly will help when I read your article in most web-based RSS readers. If I want to read the footnote right away, I’ll have to scroll down and then scroll back.)
I avoid footnotes in my writing. Often the same effect can be achieved with simple parenthesis. If parenthesis don’t fit well, entire extra paragraphs are also much more readable. And if it can’t be conveyed without footnotes, maybe the text should be cut out completely, if it is of so little importance to be relegated to the bottom of the article.
Footnotes are appropriate in two cases: either as true side notes, with facts or sources that can be looked at later, independently of the main writing; or for a particular style of writing, such as Bill Simmons’ Book of Basketball, which often goes off on long tangents and has footnotes on every page. (No small feat because the book is over 700 pages.)
In this rant I’m not trying to criticize anyone in particular. I read several authors who use footnotes frequently and I love their writing. But that doesn’t mean everyone should adopt that style without making sure it actually fits the context. Consider whether footnotes in blogs might be a fad, and if so, that it’s a writing challenge to find another way.
Over two years ago, I carefully planned my final tweets so that they would serve as a proper closing to that chapter of being active on Twitter. But mine were nothing compared to Leonard Nimoy’s final tweet, posted days before he passed away. It’s been a month now but I’m still reflecting on it:
Beautiful. He left behind much to be remembered by.
Thomas Brand has changed his blog to let short link-style posts essentially expire off his site, with no permanent archive:
And since that post may go away, I’ll quote a little bit more:
Meanwhile, Dave Winer has been working on his own new blogging platform:
I think the next 5 years of blogging are going to be a lot more varied than the previous 5 years. Medium-style UIs, Twitter-like microblogs, and of course traditional WordPress blogs, plus the work Dave is doing and whatever else people build as blogging takes off again. I’m looking forward to shipping an app that contributes something to all of this, too.
Took some time last night to upgrade an upcoming web app to Ruby 2.1 and Sidekiq instead of Resque. Much easier to do those kind of upgrades before launch.
Marco Arment reacts to the idea that he’s withholding criticism:
This is all true, but I also think there’s something unique about Apple: we expect greatness in everything they do. It wouldn’t be the same Apple we love if we brushed complaints aside when the company falls short. And as Marco points out, Apple employees aren’t scared of negative feedback, because they want to build great products too.
A number of years ago I was sick of programming and went back to school to study art and life drawing. Maybe more than anything else, I came away with a new appreciation for self-criticism, and accepting the critiques of others. Because that’s how you get better. Until you can see what’s wrong — your drawing sucks and your iOS app is slow and buggy — you have no hope to improve.
The key in both art and technology is to understand the difference between constructive criticism and just complaining. Marco’s original post was about calling out Apple on lower quality standards in the hope that they could focus and get better. Many of the “me too” posts that followed were from Apple haters who were looking for page views and couldn’t care less if Apple quality improved.
Daniel Jalkut writes that it’s about how we react to criticism that matters:
I’ve been working on an essay about the Apple Watch Edition and why I think it’s wrong for Apple. I do worry a little about putting out a controversial, half-baked opinion. And yet, I’ve seen no one else make my argument against the Edition in the meantime. If I want Apple to live up to the very high standard I hold them to, I can’t withhold my opinion on the direction of the company, regardless of whether that opinion will be warmly received.
I’ve been very happy to see the variety and high quality of jobs listed on our Core Intuition Jobs site. Two in particular have recently caught my attention for being concise, as if they don’t want to waste a potential candidate’s time with too many bullet points.
First up is Betaworks, which you’ve heard of as the company that now develops apps like Instapaper and Digg. Here’s the listing in its entirety:
And here’s new startup Honest Dollar, where you’ll be working in downtown Austin with my friend Justin Youens and a team looking to reinvent retirement plans for small businesses. Again, the full text:
“If you have at least a few years of impressive iOS experience, we’d love to talk. Relocation assistance available, but onsite desired. Full-time or contract.”
I bet both of these companies would be great places to work.
On today’s Core Intuition: Apple Watch prices, CIA hacking, Medium’s custom domains, blogging, and more.
Follow-up to my earlier post about Medium: custom domains are a great step in the right direction, even if they’re limited to select publishers for now.
“Is the MacBook the computer for the rest of us, or a scheme to sell white USB dongles starting at $19.00 a piece?” — Thomas Brand
Daniel Jalkut had some fun recently, exploring whether Medium’s improvements to posting are turning it into a next-generation Twitter:
My gut reaction to this was that Medium creates more problems than it solves. In a reply on Medium:
Medium also feels like it wants to be a desktop experience right now. It’s not optimized for mobile in the way that Twitter has been from the beginning. There’s good stuff happening there, but I want to see more tools that encourage blogging instead.
Great talk by Joe Cieplinski at the MCE 2015 conference in Warsaw about becoming an independent developer. I listened to this a couple weeks ago and meant to link to it earlier. Found via the equally excellent iOS Dev Weekly newsletter.
Michael Tsai is collecting excerpts from people who have written about going back to the iPhone 5S after buying a 6 or 6 Plus. His opinion:
I was happy to see that one previously-exclusive selling point for the iPhone 6 is now coming to the older phones: Apple Pay, via the Apple Watch. When paired with the watch, the 5, 5C, and 5S can now make payments too.
Yesterday this weblog turned 13 years old. I don’t usually miss the anniversary; it’s a nice time to reflect on what I’m writing about here. But I’ve been incredibly busy this year, working on a range of things from real work to side projects to family stuff.
Over the weekend I also helped out at the annual STAPLE! comics show in Austin. This is always a great time to check out what independent artists are up to, and as usual I came away inspired to get back into drawing.
I’ll have a longer write-up about yesterday’s Apple event soon. I have a very negative opinion about the $10k Apple Watch Edition — not because it’s expensive, but because of what focusing on the super rich says about Apple’s priorities. Daniel and I talked about this at length on Core Intuition episode 174 a couple weeks ago.
Overall the event was great, though. I’m looking forward to pre-ordering a watch and getting into development. Leaning toward the 42mm Sport, with blue band and an extra classic buckle.
We published episode 175 of Core Int late last night. This should’ve been last week’s episode, but luckily its lateness doesn’t obsolete it; we don’t talk about the Apple Watch. Topics: procrastination, NSConf, TestFlight, and more.
Apple car speculation, the upcoming Apple Watch launch, and the idea of overpaying by $10,000 for your next Apple gadget… Those topics and more on Core Intuition 173.
Slack is a lot more successful than I thought they’d be, now with 500,000 daily active users and $12 million in yearly revenue. But it’s well-deserved. Such a great product.
On the latest Core Intuition, we follow up on App Store rejections, react to Swift 1.2 and Tim Cook’s recent comments, and discuss new blogging systems.
Seth Clifford goes back to the iPhone 6 after a long time with the Plus:
As for me, I’m still using the iPhone 5C and think the design is nearly perfect. I wish I had the iPhone 6’s camera, but I’m not upgrading phones until Apple ships a “6C” next year with a 4-inch screen.
Typed.com from Realmac Software looks great. Set to launch later this year, crowdfunding for the project has already passed $67k.
Ben Thompson wrote recently about how blogging has changed:
It’s a good post, although I’d say that even if those changes aren’t “a bad thing”, they can have bad consequences. Medium is a beautifully designed site and there is some great writing published there. But if it discourages people from owning their own content and writing at their own domain name, then it is a step back for the web. The best use of Medium is to cross-post there, to expand your audience, but not as the primary location for your writing.
If you’ve read between the lines on my posts about microblogging and open APIs, you may have guessed that I’ve also been working on a blog platform, although (I think) of a much different kind than Realmac’s Typed.com. I believe we need more blog platforms, not fewer. Accepting that Twitter and Facebook are the only way to publish online is like collapsing all the publishing systems down to a couple centralized tools. That approach is convenient in the short term but ultimately bad for the web.
The best and most diverse writing on the web still happens on individually-owned blogs. It’s linked to from Twitter, but it originates on blogs. If you’re not blogging than your writing doesn’t have the reach, doesn’t have the permanence, doesn’t have the impact that it could have.
And 2015 is going to be great for blogging. I’m looking forward to trying Typed.com and also sharing some of what I’ve been working on. If you want an early heads-up, sign up on the announcement mailing list.
“I arrange all the app icons in my dock by color because that’s the only way I’ll remember where everything is.” — Faith Korpi on The Sweet Setup. (After reading this I started arranging my icons the same way. I like it.)
Brent Simmons reacts to the news that the upcoming Photos app for Mac uses a private UXKit framework. Instead of being the full UIKit-based replacement for AppKit that many developers want, Brent suggests it could be a minimal framework just to make some things easier:
Like Brent and many other developers, I started this same kind of compatibility work when porting Tweet Library to the Mac. I ended up abandoning the project because it’s a slippery slope to basically reinventing Chameleon. (Also, back in 2006 I ported parts of Microsoft’s MFC C++ framework to Cocoa and it was a lot of work. I’m not eager to repeat that process.)
I agree with Brent that we don’t necessarily need a completely new AppKit. I’d love to see Apple standardize the foundational classes which are nearly identical already — colors, images, and fonts, as Brent mentioned — as well as UI elements that could be the same without a real cost — views, buttons, labels, table cells, and maybe split views. These UX-prefixed classes wouldn’t do everything their UI and NS versions could do, but they’d allow developers to move more code into cross-platform layers of their app by sticking to the common properties and methods.
As tempting as it would be to throw in iOS-only classes like UINavigationController, I think that would be outside the scope of a minimal UXKit. Candidates should already exist in similar forms on both platforms.
WWDC 2015 is going to be fun if Apple attempts to tackle even a little bit of this. A minimal UXKit would strike a good compromise between the usual iterative improvements to AppKit and a more revolutionary change to the frameworks.
On this week’s Core Intuition:
In this episode we talked about how I was going to need to more formally appeal the Sunlit 1.3 rejection, not just comment in the Resolution Center. But shortly after we recorded, the app magically went live in the store anyway. I was very happy to avoid making further coding changes, though I expect I’ll have to revisit this if the app is ever rejected again.
Just finished reading this great interview with Elon Musk in Wired, after somehow missing it when it was first published. Wired’s Chris Anderson:
If my generation’s hero was Steve Jobs, my son’s will be Elon Musk. It’s difficult to overstate how profound an impact Elon has had already. My son plays Kerbal Space Program all the time. On the way to school, he counts electric cars. I can’t think of a better person to aspire to — someone with not just one big, ambitious idea, but several projects from cars to solar to space to transit, each with the scope to leave quite a dent in the universe.
After a week hanging around in Apple’s Resolution Center, Sunlit 1.3 was approved and went live in the App Store last night. sunlit.io
On this week’s episode of Core Intuition, Daniel and I talk about some setbacks while trying to ship updates to our apps, sending users to Safari on iOS, and a listener question about promoting your app to the press.
I was nodding my head while listening to the latest Developing Perspective yesterday. David Smith talked about all the work to update his apps for iOS 8, starting on Apple Watch apps, and so taking the pragmatic approach to keep using Objective-C rather than dive into Swift.
Then I read this by Russell Ivanovic on getting started with Android development:
And I thought, getting up to speed with Swift is probably not that different than learning Android. I’ve programmed Java before, but don’t know the UI frameworks; I know the Cocoa frameworks, but have never programmed anything significant in Swift. Both would require setting aside current priorities and investing some time in a new language or new tools.
If I had to build an app in either as quickly as possible, choosing Swift would certainly be faster. I’m just not sure it would actually be a better use of my time than poking around in Android.
Sunlit 1.3 is a little delayed because it was rejected by Apple for opening Safari to let the user sign in. We’ve appealed the rejection. See also: Craig Hockenberry’s post on why it’s a security risk to use embedded web views.
Today I fixed some URL-related issues with this blog since moving to WordPress. Clicking through multiple pages of posts in a category now works again. I tweaked the category links slightly, dropping the .html extension, but all the old URLs are preserved through redirects.
Also a reminder if you’re subscribed to the RSS feed: my shorter, microblog-style posts go into the Snippets category, which is not included in the main feed. If you’d like to subscribe to those as well, just add the Snippets RSS feed to your news reader. I also still cross-post them to App.net.
Last night we published episode 169 of Core Intuition. As we’ve done on a couple recent episodes, we let this one run for an hour with a discussion of App Store revenue, sales charts, and progress on our own projects. Sunlit 1.3, the update I mention in the podcast, is complete now and submitted to Apple for review.
“They really are trying to invent the future here. And they’re a lot further along than we gave them credit for.” — The Verge on Microsoft’s HoloLens
We’re hoping the rain lets up a little tonight for NSDrinking, but if not we’ll grab a table inside. Come have a beer (or soda! or food!) and chat about iOS and Mac development, 8pm at The Ginger Man. Everyone’s welcome.
Last year I wrote that I would be removing Tweet Library from the App Store at the end of December, and later said on Core Int and in a tweet that there would be one last update before the app is gone. It’s well into January and the old version is still for sale. I’m over a month behind schedule but still plan to release the updated version and stop selling the app.
On the latest Release Notes podcast there was a great discussion about when to give up on an app that isn’t making money, including a mention of my plan with Tweet Library. Joe and Charles talked about why it’s usually such a bad idea to promise features before you ship, and whether there’s an obligation to give customers any updates at all.
I pretty much agree with everything they said, but the upcoming Tweet Library 2.7 “features” are different. My goal with this release is for the app to be functional and stable for as long possible. I think the app needs better syncing of tweet collections to help future-proof it, to make it easier for customers to move between iOS devices when they upgrade their iPhone or iPad a year from now. For an app that is going away, I should do everything I can to make sure that a customer’s data is accessible and that import and export are as robust as possible.
It’s a reasonable question to ask why I would spend so much time working on something that will essentially bring in no additional revenue. But while it won’t directly make any money, it probably helped convince some new customers to buy the app over the last month, and it will very likely reduce the support burden for the app over the following year.
I also view it as a sort of parting “thank you” to my customers. It’s just the right thing to do to wrap up the app. Panic did the same thing when they stopped selling Unison, releasing a major free update at the same time.
If you’re interested in picking up a copy of Tweet Library before it’s too late, you can buy it on the App Store for $4.99. The new version should ship in early February.
Great to see Rogue Amoeba’s Audio Hijack 3 released today. It’s a huge update and complete UI redesign. They’ve been working on this for a long time and it shows.
After a long holiday break, we posted episode 168 of Core Intuition over the weekend — a full hour on starting 2015, Apple software quality, and the unexpected state of the Mac App Store.
On the latest episode of Core Intuition we talk about Daniel’s Swift code, discuss Git vs. Mercurial and the significance of GitHub, and answer a listener question.
I updated the Tweet Marker Safari extension to version 1.2 today. This version fixes the extension to accommodate recent design changes on twitter.com. Existing Tweet Marker paid subscribers can grab the new extension here.
Here’s a screenshot of the “Set Marker” link that the extension adds to twitter.com. Then when you launch a compatible iOS or Mac Twitter app, it will scroll the timeline to that position.
If you’d like to support Tweet Marker or use the Safari extension, you can subscribe for $1/month.
We were lagging a little after the Thanksgiving break, so we posted two episodes of Core Intuition last week. On the latest episode we talk about the Hour of Code and welcome new listeners who found our podcast from the App Store feature.
After we recorded, I helped out my son’s elementary school class with the Hour of Code tutorials. I learned a lot and came away even more impressed with the project. The reach is pretty incredible. Even if it only sways the interest of a couple kids here and there, but spread over classrooms all across the world, you can imagine how big a difference it might make.
So busy last week that we didn’t post Core Intuition 165 until yesterday. We talk about Daniel’s iOS extension development and Manton’s reactions to yet more Twitter news. We’re recording another episode for posting later this week!
For the first time in a few years, I have a $0/month Heroku bill. Finished moving one remaining database yesterday.
We’re taking the week off from the Core Intuition podcast. Happy Thanksgiving, everyone! Lots to talk about when we record next week.
Marco predicts that third-party Twitter apps will lose half of their users within the next 2 years:
During WWDC this year, Buzz Andersen gave a great talk at a small venue outside the conference. With the hindsight of several years, he talked about building Birdfeed, the challenges of competing with Tweetie, with his own struggle at perfection, and many more insights on the rise and fall of third-party Twitter apps.
It left me with a lot to think about, and I loved the old stories, screenshots, and related nostalgia. But in closing out the questions & answers, one statement in particular struck me as a nail in the coffin for third-party developers: Buzz revealed that even he now uses the official Twitter app.
I’ve been working on something new around microblogging. Some people have guessed at what it is based on discussions Daniel and I have had on Core Intuition, but only a handful of people have seen it. Soon I want to open it up to more beta testers.
If you’re interested in the project, you can now sign up on the announcement mailing list for more information. I’ll send an email when the beta launches, as well as occasional updates for major new features. Hope you like it!
I’m the guest on this week’s Mac Power Users podcast. In addition to workflow and apps I use, the discussion went off the rails a little into the Twitter app ecosystem, especially the fact that I no longer post to Twitter yet still have apps like Tweet Library, Watermark, and the Tweet Marker API that depend on Twitter. For the last 2 years this has been an odd decision on my part; I want to do the right thing for my customers, but I’m increasingly frustrated with life as a third-party Twitter developer.
Last week, Twitter announced that they’ve expanded their search index to include the full history of tweets going back to 2006. I was thrilled by this upgrade to the Twitter service. That the search was so limited for so long was the primary reason I built Tweet Library and Watermark to begin with. Unfortunately, this functionality is only for the official Twitter apps. It will not be made available to third-party developers.
It’s time for me to wind down development on my Twitter-related apps. I’ll continue to sell Tweet Library through the end of 2014, then remove it from the App Store. Watermark will also shut down at that time. Because all the tweets stored in Watermark are public tweets (by design it never supported DMs or protected accounts), I will attempt to make the entire Watermark database archive of millions of tweets available publicly. Existing customers can also sync tweets and collections to Dropbox for personal archiving.
Published collections from Tweet Library or Watermark will be maintained indefinitely. No URLs will break, ever. Updating published collections will also continue to work for anyone who already owns Tweet Library.
I will also continue to host the Tweet Marker API, but starting in January I will be more strict about requiring developers to pay for the service. Many developers have been paying for API access for a year (thank you!), but others have missed or ignored my requests to move to a paid plan. It’s not fair to the Twitter developers who have been paying for Tweet Marker access if some continue get the API for free.
Many friends have told me over the years that I have too many products. But letting any one product go is not easy. There’s an implicit promise when shipping software that the developer should maintain and improve it for customers. Stopping development on these apps is the right decision and possibly long overdue, but it’s still difficult. What gives me hope is that it will let me focus on new projects currently in development, which I couldn’t be more excited about.
Core Intuition 164 went live today. WatchKit, conference presenting, why Slack is worth $1 billion and my apps aren’t, and more.
Because of Thanksgiving next week, NSDrinking is tonight! 8pm at The Ginger Man. Consider it a special WatchKit edition of the informal developer meet-up for iOS and Mac devs.
10 years ago, when everyone else had cable, we were sick of the monthly bill and the mindlessly infinite channel list and cancelled it. I was happy to never have to deal with Time Warner again. But a couple years ago, we subscribed again to keep up with some of our favorite shows. Finally things are changing, and I expect we’ll cancel again before too long.
This on-again, off-again relationship with cable is also how we treat having a second car. Working at home for the last 13 years, even with taking the kids to school and various errands, my wife and I rarely need to be in two places at once. So we downsized to one car long ago, then got a second car for a few years, then downsized again a couple years ago. With my daughters to high school, I knew we’d need another car soon, but it was nice not having an extra car payment and even better to have an excuse to bike to coffee shops.
I promised myself and my son, who is already living in the future, that our next car would be 100% electric. I kept up with new Tesla models and their growing Supercharger infrastructure, but realistically Tesla is out of reach. There’s no way to justify the price for just driving to the elementary school a mile away, a nearby coffee shop, or around town every couple days.
So three weeks ago we picked up a Nissan Leaf. Because our needs (and battery technology) keep changing, we’re leasing it and we’ll decide at the end whether to pay the difference and keep it. It’s a fun little car, so quiet and effortless to drive, and the kids love it.
Obviously our “normal” gas-powered car will remain the primary family car and the one that we take on road trips. The Leaf goes about 85 miles fully charged and plugs into the normal outlet in our garage, as if we were just plugging in Christmas lights. I’ve also used the charging stations at Whole Foods, where I usually go for coffee and work once or twice a week. (We skipped the recommended 240V home charging kit for now, which charges significantly faster. For comparison, Tesla’s range is closer to 250 miles.)
While I’ve always been pretty good at hypermiling, the Leaf has made me even more conscious of it. I drove to my daughter’s basketball game in Georgetown last week, 30 miles away on the toll road. Sustaining 75mph is the worst and dragged my miles/kWh down a notch. On the way back, I drove the more direct, non-toll route and got significantly more efficiency at respectable speeds with some breaking.
But cruising down the highway it’s easy to see that this is the way the world should be, in time. Good new tech always reminds me of that first feeling we got when using the original iPhone, how it felt like the whole thing was from 5 years in the future. It’s not that extreme with the Leaf, but I still see a little of that, a glimpse that it’s more advanced than it should be. I think this may be the best car I’ve ever owned.
Made a difficult decision about the future of my Twitter-related products today. Full blog post and email to go out early next week.
We posted Core Intuition episode 163 this weekend, with a discussion of Apple’s offices outside Cupertino, minimum viable products, and public speaking.
Found an old collection of tweets from the 2011 NBA playoffs. Excited for tonight’s games: Spurs vs. the undefeated Rockets, and Mavericks at Portland.
Coffee and breakfast tacos at Whole Foods this morning while I work. I plugged in my new Nissan Leaf to charge in the parking lot. The future is awesome.
Voted today. I’m not very hopeful this year for a favorable outcome, but who knows for sure until the votes are counted. See also Brent’s post.
On this week’s Core Intuition, Daniel and I discuss celebrities in tech and the often slow progress on our own products.
Small Empires is back for season 2. The first episode profiles Atlanta-based startup Partpic. Great show.
Microsoft Band is what I thought the Apple Watch was going to be. More focused, good battery, cross platform, $199.
The story of Twitpic shutting down has a better ending now:
This is much better than all those photos becoming broken links, but it’s still a sad statement on the Twitter ecosystem. Twitter threatened Twitpic, then Twitpic decided to shutdown, and in the end Twitter gets all the Twitpic assets anyway for cheap or no money at all. It’s a bizarre end to what only a couple years ago was a $3 million business.
Twitter is a big company with a lot of moving pieces. It shouldn’t surprise me that one half of Twitter is ready to sic the lawyers on Twitpic while another half wants to do the right thing for Twitpic’s customer base. Still, a bittersweet closing chapter on one of the first great third-party developers.
I took my daughters to see Taylor Swift last year and we had a great time. I own a couple of her albums myself and was curious about the new “1989” and how very different it seemed. From the foreword:
I like bands who aren’t afraid to reinvent themselves because it means they’re both pushing forward and will also often return to their roots with something stronger. So I pre-ordered Taylor Swift’s latest and I’m really enjoying several of the tracks. It’s good for all of us to occasionally get out of our comfort zone and create something new.
Jason Snell writes about some of the inconsistencies in Mac OS X 10.10 Yosemite, such as how only a few of Apple’s own apps use the new combined title bar / toolbar style:
I don’t hate the new style, but that does seem like the fundamental problem with it: it can’t possibly be used for all apps, especially those with lots of toolbar buttons. I considered it for the next version of Clipstart, but it’s not really a compelling enough change to risk breaking things that already work well.
Mat Honan has a long article covering the Twitter Flight announcements. On understanding why Twitter acquired Crashlytics and MoPub:
It’s interesting that one half of Twitter has so famously stepped on developers, but a new part of Twitter is emerging around Fabric with the opposite goal: make our life as developers easier so that we bundle the suite of Twitter frameworks into every app we build. This split in the company has allowed me to accept Crashlytics as a long-term sponsor of Core Intuition even as I criticize the “tweets” platform side of Twitter. They’ve done great work with Crashlytics and I happily use it in both Tweet Library and Sunlit.
Also this week, Twitter replaced their “Rules of the Road” with a simplified Developer Policy. I can’t tell if this is an improvement or not yet. It still has the 100,000 user token limit, among other restrictions. (As I write this I’m listening to ATP episode 88, which includes more great discussion about this topic.)
Digits is the surprise of the conference to me. It was impossible for a small company to do SMS verification on this scale before. I think it’s a new class of service with only CloudKit’s user accounts as possible direct competition, and even that only on iOS. Digits is going to be big.
Daniel and I welcomed Brent Simmons on the Core Intuition podcast this week. Here’s Brent on writing and the web as a guarantee of free speech:
Hope you all enjoy the episode. It was great to have Brent on the show.
NSDrinking is tonight, 8pm at The Ginger Man. Schedule will probably shift a little for the holidays the rest of the year. Hope to see y’all there!
Twitter’s new mobile developer conference is tomorrow. Marco Arment writes about whether developers should give Twitter another chance:
Dave Winer responds that for now, we’ll be okay trusting Twitter:
The unique tragedy with Twitter’s changing attitude toward developers is that so many of Twitter’s early innovations did come from third-party developers. The new leadership displayed an incredible disrespect for the value developers added to both the ecosystem and core platform.
Unfortunately in the “short term” it’s still happening. Not 4 years ago, not 2 years ago — just 1 month ago, TwitPic announced they are shutting down after a legal threat from Twitter. It’s a loss for the web, leaving millions of broken image links in old tweets. This latest third-party developer casualty from Twitter’s policies comes practically on the eve of their new developer conference.
I agree with Dave’s larger points, though, on mirroring content to your own blog in addition to Twitter and Facebook. His Radio3 is a step forward for RSS and the open web while still embracing social networks. We need more tools like it.
2 years ago I chose to stop tweeting from my personal Twitter account as a minor protest. I don’t expect everyone else to take such an extreme stance. We can agree on open formats and the power of microblogging while disagreeing on how to interact with Twitter.
(Skeptics say that leaving Twitter is a pointless gesture, like a pebble thrown into a river. The timeline flows on and the outrage is washed away as if it didn’t happen. If leaving doesn’t make an impact, why bother? But it does matter. It matters not for the change it creates directly for others, but for how it changed me. In the same way that writing an essay will solidify your thoughts on a subject, posting that last tweet has given me a new clarity from which to judge whether my own products are on the right track, living up to my ideals.)
Back to the present. On the flight up to Çingleton and back, I finally got around to reading the book Hatching Twitter. Since I was on Twitter near the beginning, I remember many events covered in the book: the launch at SXSW, the CEO shuffling, the names of early engineers who I’ve crossed paths with. I love how the book blends together things that I know are real with other details that must be more contrived or exaggerated, creating an engaging read that would seem to border on historical fiction if we didn’t know that it was basically all true.
Hatching Twitter captures the power struggles inside Twitter and fills a book with them. And that’s really the foundation for Marco’s post: based on Twitter’s history, we probably haven’t seen the last leadership change at the company. Twitter might have a strong future but it surely has an uncertain one.
My next product is about microblogging, and it has to launch in the real world where Twitter dominates. But I view that as a reality, not a feature requirement. I think I’ll be happier as a developer, and my app will actually be more compelling, if I design and build it for a world without Twitter.
Daniel and I just published Core Intuition 159. It’s an episode of endings: the last Çingleton, no more Macworld Expo, and shutting down Glassboard. Along the way we discuss indie development, making a decision in public, and the reward and challenge of taking on something truly big.
One of the critiques of RSS feeds in a world dominated by Facebook and Twitter is that RSS just isn’t fast enough. You can’t hope to achieve what Twitter calls “in-the-moment updates” and “watch events unfold” if your client is polling each web site’s RSS feed once an hour for new microblog posts.
Luckily this was solved years ago. Many blogging apps (including WordPress) have a setting to “ping” another server when a post has been published. When it receives this notification, the other server can request the RSS feed and make note of the new post right away.
There are a few flavors of this, such as just passing the URL of the updated feed, or sending an XML-RPC request, or passing the actual post content along with the ping as JSON. It may not be the most efficient or elegant solution, but it works well, and it’s significantly better than frequent polling. You could build something on this.
Some distributed Twitter clones try to come up with something more clever instead. And there are attempts like PubSubHubbub with significant traction. But adopting any new technology is hard, and this ping system is surprisingly well deployed already. Worse is better wins again.
Kirby Turner wrote about needing an iPhone 6 Plus as a developer but not really wanting one as a user:
I’ve talked about skipping this phone generation on the podcast a few times. I already got out of the yearly updates when I kept the 4S forever and then got the 5C instead of the 5S. After seeing the 6 Plus in person at the Apple Store and with everyone who had one at Çingleton, I’m pretty comfortable with my decision. But I’d strongly consider replacing my iPad Mini with a 5.5-inch iPod Touch.
Quiet, cold morning walking through beautiful Old Montreal. I had the square outside Notre-Dame Basilica completely to myself, for a moment. Thank you Çingleton for 4 great years enjoying visits to your city.
When it rains, it pours. Went back to my hotel room to fix a minor server glitch and found several problems across my web apps: full disk on a server, Redis expiration problem, bug updating Stripe accounts, etc.
Tweet Library 2.6.1 is now available in the App Store. It fixes layout problems on the iPad, a crash when sharing URLs, and updating Twitter saved searches.
Yesterday you had lunch with friends or family and posted a photo of your food and location to Twitter. It didn’t matter much. You put it on Twitter and didn’t care that you didn’t have a copy or didn’t post it to your own blog first, because controlling that trivial bit of content just didn’t seem important at the time.
5 years later, 10 years later, 15 years later. That lunch is magic now — a captured moment, something you wouldn’t remember and didn’t think to record elsewhere unless you keep a comprehensive private journal. Maybe it was the day before a significant event or on a trip. The true context is only revealed with hindsight.
I wrote this blog post because I wanted to follow up on my post about blogging every day, underscoring that seemingly unimportant events can carry great meaning later. Those common everyday activities that don’t seem noteworthy today? That’s our life. One after another, strung together for days and then years until we die. It’s the culture of the 21st century scattered among millions of micro posts. And it’ll be lost to time if we don’t curate it.
Yesterday was unremarkable only because we’re too close to it. Later we’ll understand that it meant everything. And if that’s true, let’s aspire to something greater than our content being sliced up and interspersed with ads on someone else’s platform.
Flying up to Montreal today for Çingleton. Looking forward to catching up with everyone! Great city. I was just there in August for vacation, happy to be going back.
I’ve received so much feedback about microblogging that I haven’t had a chance to reply or blog about each one yet. This post from Dave Peck is especially interesting:
MarsEdit of course was famously spun off from NetNewsWire. Early versions of NetNewsWire did three things: reading blogs, organizing ideas in a notepad outliner, and writing new blog posts. I think Brent was on to something with combining all these features, but I also totally understand wanting to simplify so that each component is as good as it can be. MarsEdit wouldn’t be as full-featured and polished today if it hadn’t been given that room to grow as its own app.
Also, don’t miss the last half of today’s Core Intuition. Daniel and I talk at length about microblogging and owning your own content.
“Twitter in 2014 feels like it has settled into a certain default mode of hostility and rage.” — @buzz
When Gus Mueller recently linked to Paul Kim’s post on being indie, he called out the section on luck:
Reminds me of the book Get Lucky by Lane Becker and Thor Muller. Like half the business books I’ve bought, I never finished reading the whole thing, but it’s in the stack on my bedside table and I pick it up every once in a while and read something new. I love the book’s premise and they’ve got some great stories.
Most of life is a series of random opportunities. Knowing which ones to skip and which to double-down on makes all the difference.
Listening to the latest episode of Vector, the only clear solution for iPhone 6 users who want a bigger screen but also want a small phone: Apple should bring back the flip phone. In a nod to Nintendo, they can call it the iPhone 6DS.
After getting bogged down in Monday morning email catch-up and other tedious miscellany, nothing brightens the day like my wife telling me to place an online order because she’s picking up Torchy’s.
Matt Mullenweg on being challenged to blog every day:
Whenever I get out of the habit of writing daily, it creates friction to get anything published. When you post every day, there’s no expectation that all posts have to be great. But when you wait too long, there’s an increasing feeling that the next post has to be perfect.
Tools that make writing effortless — like Twitter’s limited, fast UI — should be part of the next generation of blogging software. I think that’s going to be around microblogs. Just because traditional blogs initially failed to embrace microblogging doesn’t mean we can’t take that format back with better server apps and clients.
When people first started paying attention to Twitter, the criticism was that no one cared “what you had for breakfast”. But if you look at some of my earliest posts on this weblog, many are equally trivial. What appears unremarkable today — the first lunch you had with co-workers at a brand new job, the stop at REI to get a tent for an upcoming family campout, the missed flight on the way to a great conference — might carry important meaning in later years, looking back. It hurts the web to keep that locked in a silo.
Core Intuition episode 157 is now online. We talk about Brent going to Omni, trends in indie and full-time work, more on the iPhone 6, and App Store delays.
Tweet Library 2.6 shipped today after 13 days waiting for review from Apple. This release adds support for the iPhone 6 and iPhone 6 Plus screen sizes, as well as improvements to sharing so that iOS 8 extensions can be used, and a fix for an annoying random crashing bug.
I also finally dropped iOS 5 and 6 support for this release. I wanted to support the iPad 1 as long as possible because those were my very first customers when I launched Tweet Library 1.0 almost exactly 4 years ago. I hope they got an incredible value out of the app in that time (all upgrades have been free). It feels good to turn a corner and require iOS 7.
Remember when Halloween was a single night and not a full season? Some houses in our neighborhood already have Halloween decorations.
In 2014, web app APIs basically look like this:
A more cynical view of that last point could be rewritten as: OAuth is used to control and limit access so that the API is inaccessible without approval from the web site.
This all seems fairly normal today. I required an API key for Tweet Marker because that’s just what you did, especially if you wanted to charge or limit an API. But it didn’t always used to be this way — remember when you could hit the Twitter API with just a user’s password? — and it doesn’t have to be this way forever.
For my next web app I’m going to have an API that is more open, requiring no app registration. Instead it will be user-centric, with password tokens that a user can paste into their favorite compatible app for authentication. (My web app doesn’t have traditional passwords at all.)
Not having API keys removes a whole set of complexity: no need to write all the backend code to support managing them, no need for developers to register, no need for me to judge who should get access. Whenever possible, APIs should be nearly as open as the normal web, where Safari and “curl” don’t need to register with a web site just to download its home page. Users are in the best position to know which apps should get access to their account anyway.
If we can loosen APIs, I think it makes the web better. Dave Winer takes it one step further:
I’ve been calling my latest project halfway decentralized. I’m still in charge, but just barely.
Tweet Library 2.6 has been “waiting for review” for 11 days now. I know Apple is busy, but these delays add up to a poor user experience for iPhone 6 and 6 Plus customers who want to get the most out of their new screens.
We are so lucky in the Mac and iOS developer community that there are a number of ways to be successful. The most common:
There’s no right answer. What works for one developer might be a poor choice for someone else. And throughout our careers, we may move between any of these different paths depending on what life and family require.
Today, Brent Simmons announced that he’s making one of those moves. He’s starting at Omni, and he’ll continue to work on Vesper as well:
Also today, Jon Hays announced that his 6-month-old company SilverPine is doing great, and they’ve finished a bunch of client projects:
Congrats to both! Change is exciting. It’s great to see friends happy doing what they love.
When I migrated to WordPress and started a microblog section on this site, the RSS feeds didn’t transition very well. While the old feed continued to work, WordPress’s new default /feed URL returned both full posts and snippet posts.
I’ve fixed that today. Here are the official feeds on the site:
If you want to see everything I write here, subscribe to both the main feed and the snippets feed. If you want to see only the longer posts, just keep the main feed. Thanks for reading!
Episode 156 of Core Intuition is out. Daniel and I discuss the iPhone 6 and 6 Plus and what they might mean for the future of the iPhone product line.
I’m now convinced that Apple will have something like a 6C next year to maintain the 4-inch design. It will never have the best camera or longest battery life — that will be reserved for the larger phones — but there will be 3 fully supported sizes with some core modern features like Touch ID and Apple Pay.
We also talk about updating your app for the new screen sizes and iOS 8. My update to Tweet Library is still waiting for review, but hopefully will be approved soon.
NSDrinking is on for this Thursday night at The Ginger Man in Austin. Starts at 8pm, though I’ll be there closer to 9pm. All sizes of small and gigantic iPhones welcome!
Lunch at the new Fork and Taco on Burnet today. Really good. Only regret is that I didn’t order 3. Damon has a photo.
This week on Core Intuition we follow up on Apple news, then discuss the sale of Unread and all the new activity around RSS apps and services. It makes a good complement to some of my recent posts on microblogging.
Maybe I do need a day phone and a night phone. In the evenings I’ll use the too-big-for-pockets iPhone 6 Plus, and when leaving the house I’ll take… the 3.5-inch iPhone 4S. The future is on the extremes.
Brent Simmons points to my post on microblogs and asks:
But he quickly follows with an alternate view: that it’s a blip and we’ll get back on track. And that’s what I believe.
Instead of accepting a common opinion that Twitter is slowly replacing RSS readers, we should flip that around. What kind of changes could be made to RSS readers to embrace microblogging and make Twitter itself less important? Because once we do that, we get back control of our own short-form content and at the same time encourage open tools that will survive independent of whatever happens with Twitter and Facebook in the future.
I received some other great feedback about defining what it means to be a microblog post. One question that I didn’t address is links. Noah Read writes:
And David Ely says that a microblog post…
Whereas a full blog post would often contain multiple links. Certainly a lot of what is posted to Twitter and Facebook is just a single link with short commentary.
I also noticed recently that Dave Winer’s Radio3 includes links in the text when tweeting, but in the RSS feed the text and the link are split out. The URL goes in the RSS item’s link tag. While this is easy enough to support in tools, it’s surprising if you consider the link part of the content, not metadata. (I also expect inline HTML links to become even more common.)
Made it down to Houndstooth for Cafe Bedouins for the first time in months, maybe all year. Austin is getting a serious rain tonight, but it let up a little for the drive.
Great post by Gus Mueller on losing your way in a project:
I work on several apps throughout the week, evenings, and weekend. Most people would say: too many apps. The only way I can possible keep up is if every minute that I’m at the keyboard I’m productive, on the right path to finishing the project. Usually I can do it. But even so, I frequently fall into exactly the wilderness Gus describes, losing valuable time off in the weeds on things that just don’t matter.
The difference between those who can ship apps and those who indefinitely have a great idea that’s never complete often comes down to how much time we’re lost in the wilderness. By giving it a name we can recognize when it happens and hopefully recover more quickly.
I should stop writing this blog post complaining about people who complain about U2. Lots of real work to do.
“If I ever accidentally make something that seems to gain traction, I’ll probably abandon it immediately.” — @notch on leaving Mojang
I’m working on a new project around timelines and microblogs. It consumes RSS feeds, so I’ve been wondering how strict to be when accepting posts. What does microblog mean, anyway?
Wikipedia defines it this way:
But that’s not quite specific enough. From my perspective, a microblog post has these qualities:
Not having an RSS item title might take some getting used to for mainstream blogging clients and readers. Most RSS apps assume that all posts have a title, even though titles are technically optional in the spec. But I think this is an important distinction because if you think about Twitter-like posting, it should be fast and convenient; making up a title first interrupts the flow of posting.
I picked 280 characters instead of App.net’s 256 characters because it’s slightly less nerdy, and feels right at exactly double Twitter’s 140. This should be thought of as more of a guideline than a rule, though — just something to shoot for.
What do you think? I’d love to hear your feedback. Post to your own blog and then send me an email.
Fixed the RSS feeds. Turns out they were returning valid RSS but with an HTTP 404 header. After fighting with mod_rewrite, I ended up hacking the fix into WordPress.
Still thinking about yesterday’s iPhone 6 and Apple Watch event. Daniel and I recorded our first thoughts on a special episode of Core Intuition yesterday.
Federico Viticci has the exclusive on Transmit coming to iOS:
While traveling this summer, I used Panic’s Prompt to download and rename files on the Core Intuition web server. It’s going to be great to also have Transmit’s UI in my pocket.
Learning curve with Ember.js is a little greater than I thought at first. Not sure I’m doing everything “correctly”, but getting the hang of it. Very cool framework.
I love Beats Music and have been a subscriber since early this year, but decided to cancel to save a few bucks. Switching back to iTunes and the new free Rdio.
The Future Library project will collect writing to be locked away and published for the first time in 100 years:
Love this idea. Although for a different goal, I think we need a similar set of trusts to maintain electronic publishing. Domain names and hosting are much more fragile than the paper Margaret Atwood will print her story on for this project.
Brent Simmons isn’t totally convinced about the new crop of JavaScript frameworks:
This was how I felt when I built Watermark. It uses jQuery and Bootstrap, but otherwise it’s pretty old-fashioned JavaScript. Even the parts that are Ajax just fetch and insert HTML that has been rendered by the server. There’s not much to do in the client.
For my latest project I’m using Ember.js. I want this app to be very fast, and I think putting more work on the web browser is the way to do it. I only know the basics of the framework so far, but already I like it. It feels lightweight to use, even if the actual JavaScript include is fairly large.
And 100k is really not that big of a deal anymore. You don’t want bloat for no reason. But look at a popular site like twitter.com and you’ll see several JavaScript files between 200k and 500k each. They get cached and no one complains about performance.
We just posted episode 153 of Core Intuition, covering the upcoming Apple event and other important topics like paying extra for iced coffee.
I used my old iPhone 4S again yesterday for the first time all year. Still think it’s one of the best things Apple has ever designed.
After being threatened by Twitter over trademarks, Twitpic has decided to shut down in 3 weeks:
Twitpic is not a small hobby site. It grew to a $3 million business at its height in 2012 according to this Mixergy interview. Founder Noah Everett also attempted to launch a Twitter-like service called Heello, though it never gained much traction and appears to be offline.
John Gruber asks:
While I wonder if that comment may have a dual purpose, aimed as much at Standard Markdown as Twitpic, I’ll answer it anyway. Because Twitter has a well-documented history of stepping on developers. This trademark fight is just the latest, and at some point, I have to assume that Noah was fed up and called it: enough is enough.
Enough with building apps in a toxic ecosystem. Developers who care about microblogging should take it back. Let’s build tools for the web that will matter, that will move the web forward and make our writing last, not locked away behind APIs and ads.
I mentioned earlier this year that I really liked how Noah Read posted tweets and photos to his own site, calling them snippets. I’m borrowing that name and implementing something similar here. If you visit my home page, you’ll see these short posts already interspersed alongside regular, longer posts.
These new snippets don’t show up in the normal RSS feed. There’s a separate feed at /snippets.xml for them, and they get their own category for browsing on the web. I’ll also be cross-posting them to App.net.
Like the posts in Dave Winer’s new Radio3, these RSS items don’t have titles. They’ll be short like a tweet or App.net post: usually 100-200 characters.
This is the first step in a larger project that I’m working on — something fun that reminds me of the early days of blogging. But if nothing else, it’s nice to control my own content again. I should have kept all these microblog posts on my own domain years ago.
Sunlit 1.2.1 is now available in the App Store, fixing some problems communicating with Flickr after they switched to SSL-only. We fixed this months ago but I, uhm… forgot to submit it to Apple until recently.
I registered a new domain name tonight. It uses .today, one of the new crazy top-level domains. I think it’s a good fit, and a reminder to have fun with the project.
10 years ago I switched this blog from Radio Userland to Movable Type. Looking back, it’s incredible how mature the software was at the time that it could last this long. I didn’t stay current with updates; the version I was running was ancient by any standard.
I’m planning some new blog-related experiments soon, so it was time to migrate to a new blogging app. While I still prefer static publishing, after evaluating a bunch of options I ended up going with WordPress. I don’t love it, but it has one feature that is more important than anything else: I’m fairly confident it will be around and well-supported 10 years from now. Rands recently made a similar choice.
I preserved every blog post URL from the previous version of the site so that links don’t break. This wasn’t trivial. For a time it had me lost into the darkness of writing WordPress plug-ins, which didn’t work anyway, before finally coming to my senses and writing a script to post-process all the Movable Type titles into custom slugs.
The RSS feed is also the same, but not the RSS item GUIDs. This means you’ll probably have a one-time “mark all as read” in your favorite news reader. Apologies, but it was either that or never ship the new site.
There’s a little bit of cleanup and design work still to do. The site already looks much better on mobile devices, though. I’m excited to get back into regular blogging.
We posted episode 152 of Core Intuition today, with discussion of iCloud Drive, iOS 8, and Yosemite, plus mini-rants about distributed version control, why Daniel uses Mercurial, and how I just switched everything to GitHub. I like how this episode turned out. As usual, it’s under 40 minutes, and not a bad place to start if you’re just subscribing for the first time.
The Core Intuition jobs site is still half off for a few more days. $100 to get your job in front of a bunch of great iOS and Mac developers.
(After a decade on Movable Type, I’m migrating this blog to a new system, so I fell into the trap of not posting much until that process is complete. I’ll have much more to write about this soon.)
“This is it,” a friend said to me as we were walking up Market Street with other developers, late at night as WWDC was winding down several years ago. The iPhone had hit. The conference was getting bigger. Apple was on the verge of becoming a giant in the industry and you could feel it in the air — a coming change that was obvious only from a distance because it disappeared as you reached for it, like San Francisco fog rolling over the bay. “This is the height of the conference and it’s never going to be like this again.”
Looking back it perfectly captured what I think of as the second “era” of WWDC. It was a kind of golden age for Mac and iOS developers, with a new generation of successful Mac indies and before the iOS race to the bottom was much past the starting line.
From my perspective, learning Mac development in the mid 90s, there are three distinct eras of Apple’s WWDC. My first WWDCs were at the San Jose Convention Center. The developer base was small enough that you consistently ran into everyone, companies like Metrowerks and even Adobe seemed to have an influence on the conference, and Apple frequently showed off new APIs that might not actually ship soon or ever. It was an exciting time to be a Mac developer but the rest of the world didn’t care. This was the backdrop for the failed Copland project, for Steve Jobs coming back, for the clash between Carbon and Cocoa, and the acceptance of Mac OS X.
The next era was at the move to San Francisco. The conference was getting bigger but Apple attempted to keep the events and themes that made WWDC the same, even for a while busing attendees to the beer bash in Cupertino. This is the time when the iPhone SDK arrived and the conference exploded. I think most developers will always look back at this time as something amazing. It’s the backdrop for that walk up Market Street and a dozen similar conversations.
Now we’re in the third modern era of WWDC, with one undeniable characteristic: a small percentage of developers can get a ticket to the conference. The community, however, is as strong as ever, and there’s still a desire to have WWDC be that “one place” that developers can meet each year. It’s a need that smaller, regional conferences, no matter how important they are, just can’t fill.
I like this post from James Dempsey because it starts with the assumption that not getting a WWDC ticket is the new normal:
He’s right. Since it’s likely that Apple will continue to iterate slowly instead of making major changes to grow the conference, we’re better off adapting. By adapting we can focus on preserving the community aspects of WWDC that are arguably just as important as the technical tracks.
And change comes slowly to WWDC. I realized while watching video from the Tech Talks recently that Apple just doesn’t see a big problem. John Geleynse described a situation where only one person from a team is at WWDC; the rest of the company is back at the office watching videos and sending questions to their coworker at the conference to ask in the labs. Getting videos out the same day makes the conference more useful for both those without a ticket and actual attendees (and their team) too.
(I still have complaints about how WWDC tickets are distributed and why Apple doesn’t attempt to grow the conference a little more, but the lottery is an improvement over last year. See Core Intuition episodes 132 and 133 for a full discussion.)
I’ll be in San Francisco for a few days next week — at AltConf, at the Cartoon Art Museum fundraiser, catching up on session videos, waiting in line for coffee, hiding in my hotel room writing code, and getting some good food and drink with fellow developers. WWDC means something different now, but it matters just as much as it always has. Hope to see you there.
Brent Simmons has another expanded résumé of sorts, following his post about working at NewsGator. I love this write-up because it mirrors a lot of the work I was doing, so it brings back a lot of memories. I was actively using Frontier for client work and crazy side projects; one of my co-workers for a time was Mason Hale, who built an early CGI framework for Frontier; and I loosely worked with Dave Winer to help run the frontier-talk mailing list and hack on a potential WebSTAR plug-in for Frontier. (Though I was still a pretty poor C programmer back then. Someone else ended up shipping it.)
Back when the job description “webmaster” still meant something, I worked for the WebEdge conference which brought together the best web developers for the Mac OS. WebEdge hosted the first meeting of the Macintosh Internet Developer Association (MIDAS), led in part by Dave Winer. And I was always playing with the tools that came out of Userland, from Manilla to Radio Userland. I used Radio to run this blog until 2004.
Some of the developers from that time have faded away, moved on to other projects away from the public spotlight. But not Brent. He just shipped Vesper 2.0 and it’s some of his best work.
I was the guest on 2 podcasts recently. First, on Preservation State with Philip Mozolak and Christopher Radliff, we talked for an hour about App.net, Beats Music, and more. It was fun to do a longer podcast that’s free to kind of meander through different topics, and I think we covered a lot.
Next, on App Stories, Vic Hudson interviewed me about how Sunlit came to be. We talk about App.net, design choices in Sunlit, and the future for the app. There’s a lot in there that I’ve never talked about before. Hope you enjoy these episodes!
I use Feed Wrangler as my RSS service, but I like this quote from Feedbin’s Ben Ubois:
It’s a great point. If you had to choose between only reading Twitter or only reading weblogs, which would you choose? Losing Twitter would be a bummer for a lot people, but losing weblogs would decimate the web. We should do more to strengthen weblogs and RSS because they are the foundation for so much of the most important writing on the web.
Great post from Brent Simmons, recalling his time at NewsGator. On trying to get Nick Bradbury to join them at Sepia Labs, the spin-off that was building Glassboard:
There’s plenty more, about the different stages the company went through from Brent’s perspective. I love posts like this. It’s important to capture the history and culture of tech companies, before our memory fades. And it’s not unlike what Brent has done on a bigger scale for his podcast The Record with Chris Parrish.
The last half of this week’s Core Intuition serves as a follow-up to my recent blog post on Twitter. Daniel tries to get at the business problems of not being active on Twitter. On the show I say:
We also talk about Automattic raising money, blog software, and what that sandwich shop that Daniel avoids has to do with customer service.
John Gruber asks, on the rumor that Apple will acquire Beats:
Unfortunately I think the answer is no, Apple can’t easily do anything like what Beats Music has done. Not because they lack the skill, but because they lack the desire to actually do the work and hire the staff to make it happen. Compare iTunes Radio side by side with Beats Music. Beats Music isn’t just a streaming service; it’s more like a platform for curating playlists and discovering music.
I like Beats Music so much that I wrote two posts recently about it. Here’s a snippet from each, first on building something you love:
And then on ending the top 200 by doubling down on featured apps, just as Beats Music has done for music curation:
However, I agree with Gruber that on the surface this potential acquisition doesn’t really seem Apple-like. It would be unusual for them to acquire a high-profile brand. As much as I’d love to see the Beats Music team join Apple to improve iTunes and the App Store, I’ll be a little surprised if it actually happens. Maybe they have something else in mind that we can’t see yet.
Many people have written about App.net this week, but I think my favorite line is from this essay by Pete Burtis, while talking about how the API and apps are years ahead of other platforms:
Sunlit version 1.2 is now available in the App Store. It includes a few minor improvements and one major change: you can now use the app with only a Flickr account. It no longer requires App.net.
We hope this will allow more people to try the app. At any time, you can always add your App.net account to the app’s settings and it will unlock the more advanced features: syncing, sharing stories to other App.net users, and multi-user collaboration so that anyone can add photos and edit text in a story.
Making App.net optional instead of required meant rethinking what the minimum features were that all users should have. Obviously you have to be able to create stories, add photos, include text descriptions, and use filters. But we also kept coming back to one thing: we could not ship without also supporting web publishing. The bulk of work on Sunlit 1.2 was creating a parallel implementation for publishing that would seamlessly work with exactly the same UI, with or without App.net.
Some people may ask why we chose Flickr instead of creating our own user accounts system, or simply having no registration. To support publishing, it helps to have some unique username for a user, and a secure way to authenticate them on the server. It won’t surprise anyone to hear that a lot of people have Yahoo accounts. With a redesigned web and mobile experience, plus 1 TB of free photo storage, Yahoo’s giving Flickr something of a new resurgence. There’s a lot we could build on the Flickr API.
At the same time, Sunlit’s App.net support is a powerful differentiator and we’ll continue to improve it. It lets you own your data, share it with other apps like Ohai, and sync to multiple users. I still believe in the App.net API and user community; it’s too good a platform to give up on.
Last week, in my post about mirroring content, I said:
Now we find out that Mlkshk is shutting down. They are working with the Internet Archive to make sure the content is preserved, and they might still find a buyer for the whole service, but as things stand it’s likely that every link to Mlkshk-hosted images will break in September.
Mlkshk hasn’t been on my radar lately, but it was widely used enough a couple years ago that I added support for its image thumbnails to Tweet Library. I hope they can at least find a solution to keep mlkshk.com working as a static site.
Marco Arment responds to my comment that developers should have seen the potential of the App.net API as something much bigger than Twitter. I wanted my post to be short, but Marco makes good points that are worth following up on. He writes:
Building entirely on App.net for Sunlit was indeed a huge risk, and one that we expected would take time to pay off. It was a bet on the future. We are incredibly proud of our app and the response it got in the App.net community, but our goal was always to make an app that appealed to everyone, not just a small niche of tech folks. We’ve actually been working for over a month on a new version of Sunlit that expands the reach of the app beyond App.net, and coincidentally it just went into review at Apple this week.
But I think the chicken-and-egg problem was solvable. The main issue with iOS apps is that they couldn’t sign up a new user directly in the app. This made sense when App.net was a paid-only service, because you’d run into in-app purchase issues with Apple, but it became more technically feasible when the free tier launched.
The App.net founders also seemed receptive to the idea. There just wasn’t time to make it happen. I believe this single roadblock prevented any potentially-mainstream killer apps built on App.net from getting off the ground. If it’s not easy to open a third-party app, create an account, and start using the service, too many people will give up. (Our numbers showed that only 40% of Sunlit downloads actually signed in to use the app for real.)
However, building our own backend for the app would also be very challenging and expensive. We are not syncing small bits of data around. It’s a photo sharing app, so right off the bat you’ve got big files that have to be hosted somewhere. On top of that there’s collaboration features, so you need not just user accounts but private sync channels that have specific read/write access to certain users. Plus all the metadata and formats to support syncing text, photos, and location check-in information. Not to mention publishing HTML, thumbnails, and maps. It’s daunting.
(In fact, it’s so daunting, I don’t think there’s a single app in the App Store that has feature-parity with Sunlit. The app simply could not have been built by a tiny team of 2 part-time developers if building a whole backend infrastructure first was a prerequisite.)
Marco closes with this:
There’s an argument to be made that App.net’s core mistake was building the Alpha web interface only far enough to match Twitter’s features and then moving on to other things. Instead, they could have kept improving Alpha until it was significantly better than Twitter, so good that it couldn’t be ignored. By doing so, maybe they would have also more effectively demonstrated the power of the API underneath.
I assume that App.net chose not to do this so they wouldn’t compete with developers. After all, the service was founded on the idea that developers should be respected and given every opportunity to succeed. Finding the right balance to showcase the platform with first-party apps without stepping on developers is not always easy. We can argue about which missteps were the most costly, but the founders never wavered on their original principles and they promoted every app that launched on the platform. That means something.
As for outrage not lasting long on the internet, Marco’s totally right. I just don’t forget that easily.
Justin Williams covers several aspects of this week’s App.net news, comparing it to his own Glassboard service. On finding a profitable niche:
He also hits on the main thing that was probably holding App.net back: the stigma that it was just a Twitter clone. I’m more than a little disappointed that fellow developers didn’t get the power of the App.net API. Does Sunlit look like a Twitter app? Give me a break. App.net is hands down the best API of its kind.
So now we figure out what’s next. In the short term, not much changes. Tomorrow I’ll read my App.net timeline, make a few posts, reply and star as usual. Next week I’ll do the same. At WWDC I’ll use App.net messaging apps to coordinate meeting up with friends.
There’s no shame in shooting for the stars and missing. I’m thankful that even as the founders tried a few things outside micro-blogging over the last year, they never compromised on their original mission for the service. They never sold out users or developers, and the servers hum along in testament to that fact, as if nothing that’s good will ever really change.
Before some of the recent discussion about the future of App.net, Colin Pekruhn asked a question, directed at Ben Brooks and me, about whether we’d go back to Twitter if App.net failed. My answer (and his) was a very clear “no”. Here’s what I said:
The stubbornness deserves a little more explanation. Because programmers are pretty opinionated folks. When we feel strongly about an approach — to languages, to UI design, to backend architectures, anything — we’ll plant our feet in the ground and argue with coworkers about the right way to do things. And it’s easy to dig in, start coming up with more justifications for a choice before taking a second look and seeing if it’s actually the right thing, or whether we’re just fighting for something because we want to get our way.
I put a lot of thought into no longer posting to Twitter. I often bring up my low Twitter user ID (#897) because I think it helps underscore that I’ve been on the service a long time. I get the history of it. I was there when it was all done over SMS with my dumb Nokia phone. I had fun with early experiments on the platform, like my sadly abandoned @story140 account, my @wii codes service, the Tweet Marker API, and of course the two products I continue to support to this day: Tweet Library and Watermark.
I stopped posting because at some point the anti-developer attitude at Twitter became too much. The limits on user auth tokens, which have already killed a few popular third-party Twitter apps; the problems with shutting down IFTTT recipes; the guidelines that restricted how you could use your own tweets. This is all fairly well documented and I’ve written about it before. I leave my personal account silent as a small protest.
I knew leaving would be difficult, so I set up a series of posts to discourage my future self from ever joining again. My final tweets were timed to go out on the anniversary of Steve Jobs’s death. They’re a collected moment, a tribute to both Steve and how great Twitter could be. I like that they’re forever pinned at the top of my profile page.
The best programmers aren’t so proud that they won’t admit when they’re wrong. There’s a time to fight for what you believe in — your coworkers don’t agree with how you want to build that feature, but maybe they just don’t see it clearly yet — and there is a time to admit you made the wrong call and move on. Saying “I was wrong, let’s do it your way” is a powerful statement and moves a project forward. I never want to ignore Twitter just because I’m so stubborn I refuse to admit I overreacted and that it’s time to crawl back to Twitter and accept defeat.
But here’s the thing: I wasn’t wrong. Every reason I gave above for leaving Twitter is still valid. I have friends at Twitter doing great work — it’s truly incredible what they’ve built, from scaling the backend to how the iOS app works — but Twitter is too big and successful to change now. We can’t rewind the clock to when Twitter was a tiny company that cared more about developers than advertisers, so I won’t be back.
135 episodes already? Hard to believe. But we’ve been pretty consistently putting out weekly shows for a while now. Funny thing about starting early and just sitting down to do work every day or week: eventually you end up with something big.
On this week’s show, Daniel and I talked about Apple’s stock, rumors of a search engine, and a follow-up on my Twitter ads experiment. I like how this episode turned out.
Right after publishing yesterday’s post on mirroring content, I added a link to IndieWebCamp’s POSSE, a project from Tantek Çelik to provide a framework for mirroring posts to different services. It looks like that group is doing great work to identify microformats that will make this a more open standard.
Noah Read also rolled his own solution for writing posts on his site first and then letting them flow to Twitter, App.net, Flickr, and other services. He calls them Snippets:
Check out Noah’s snippets feed. I especially like the name. As a programmer I’m used to thinking “code snippet” when I hear it, but with enough use it’d be easy to reclaim its normal non-code definition.
Yesterday Bill Kunz was interviewed on Firesides, talking about his app Felix, and life as an indie developer vs. at a startup. Bill was especially open about how he used his own savings to build Felix, and some of the planning problems he ran into:
Firesides is a very nice use of App.net. You can browse chat transcripts from previous guests without signing in, or sign in with App.net to ask questions when there’s a chat taking place. It’s a little like Reddit’s Ask Me Anything, but more readable and visually appealing, and built on the App.net messaging platform.
Jared Sinclair writes about iOS 7 as a squandered year for third-party developers:
I agree with Jared that it was a sort of lost year for app features, but Brent also has a point:
They had to deal with it all at once because UIKit’s look and feel didn’t really evolve the same way Mac OS X usually does, a little each year. Even Aqua, the most dramatic change ever to the Mac’s UI, was fairly straightforward for developers to adopt; if you stuck with consistent Mac controls, you got a lot for free. There was very little of that kind of consistency on iOS because developers frequently built their own custom UIs which had to be thrown out when iOS 7 happened.
While doing our taxes this month, I was a little surprised just how much I spend for various web apps and services to help run Riverfold. While I could trim some of them, most are essential and save a lot of time. I thought it would be interesting to write up some of the most important ones.
Linode: I’ve moved nearly everything to Linode. I like their style: just basic, solid hosting, with good features but not an overwhelming number of services or fancy stuff. They’ve recently increased their RAM and added SSD. I have servers there for Nginx/Unicorn, MySQL, Redis, and Elasticsearch. I also use their load balancer and Longview stats app. This link uses my referral code.
Amazon Web Services: I no longer use EC2, but I have some DNS hosted in Amazon’s Route 53. I also use S3 for backups and a new feature that’s coming to Sunlit soon.
Heroku: Before moving to Linode, most of my stuff was on Heroku. Now I only have one small app and database there, and I’ll be completely moved off by the end of the year. I’m including it here for completeness only. It’s a great option to get started if you don’t want to be a part-time system administrator, but I think Marco sums up nicely why you want to use Linux servers instead.
Stripe: Can’t say enough good things about Stripe. Watermark, Searchpath, Tweet Marker, and Core Intuition Jobs all use it for credit card processing. It’s the best.
Gauges: As much as I always loved Mint, as my business grew to several web apps and web sites, I looked for a new stats package that could support any number of sites, and which would work better across hosts, since I don’t need to run the database. I’ve been very happy with this.
AppFigures: I’ve used this for years to track Tweet Library sales. It’s great. I also like that I can enter other people’s popular apps and get an idea of how they’re trending if they make it to the top lists.
Blinksale: Kind of an ancient invoicing app that hasn’t changed at all in years, but it works so I keep using it. Originally started by the folks who would go on to do Gowalla.
Beanstalk: I moved the source for all my Riverfold projects here because it can do Subversion and Git well. I sometimes wonder if I should move to GitHub instead, since I do use GitHub and have a couple tiny public repositories there, but I like that Beanstalk is focused only on private hosting. No social; just a well-designed web app.
Postmark: Run by the same team as Beanstalk. I switched to this after Sendgrid had some PR problems you may remember. Email receipts and whatnot go through Postmark now.
Dreamhost: Still using this for email and a few static or PHP sites. It’s cheap and works well. Not much benefit in moving away from it, though I prefer my more important web apps to be hosted on Linode.
DNSimple: I have a few domains here and hope to have all of them moved over eventually. I want to have a single place for DNS. Right now I have registration and DNS hosting spread across Dreamhost, Amazon, and Network Solutions. Makes it difficult to remember where everything is and to keep track of expirations.
Buffer: This company has been on my radar since someone asked me to support it in Tweet Library. They also have a really interesting blog where they share revenue, salaries, subscribers, web traffic, and other usually private details from a company. I admire that a lot. Daniel and I use it to automate sending Core Intuition Jobs links to Twitter, App.net, and Facebook.
Mapbox: We use Mapbox throughout Sunlit. I wrote more about why here.
FogBugz: In the past I’ve build my own bug tracker, used Jira, Redmine, GitHub issues, and others I’m forgetting. They all have problems so for Riverfold I keep it simple with hosted FogBugz. To complement this I use OmniFocus for non-bug tasks.
Zendesk: For too long I was just using Apple’s Mail.app to handle support email. Now support email goes to Zendesk, where I can better track and reply to it. The downside is I’ve had a couple cases of people not seeing the replies, possibly because the HTML email is more often flagged as spam. Need to investigate whether I can switch it to plaintext, but otherwise I’m happy.
Keen.io: I was inspired to try this after reading Justin’s post on analytics. I’m experimenting with it to get better insight into how people are using my apps. So far so good.
Tapstream: Just started using this to help track Twitter ads and other links, to see what marketing actually converts to App Store sales. The web app is good, they responded to a support question the same day, and I love that the SDK is just a handful of .m files that can be dropped into an iOS project.
And that’s it. I may have left a few things out (like consumer-focused apps Dropbox, App.net, and Twitter), but these certainly cover the major services I use now. In the old days it was common to just have one server that did everything. Now there are so many specialized services. While it seems like a lot to manage, each one does a much better job than I could do with a home-grown solution.
Update 9/16/2016: I still like all of these services, but since originally written I’ve consolidated Beanstalk and FogBugz to GitHub; Postmark to Mailchimp; and stopped using Gauges, Keen, and Tapstream.
I was talking to friends this week about app advertising, and it inspired me to try Twitter ads. Otherwise known as “promoted tweets”, these ads are actual tweets that show up in search results and timelines, even if the user isn’t following your account. Tweet Library 2.5 seemed like the perfect time to try this.
I set a max of $5 a day and included several related Twitter accounts to help the ads find a more narrow audience of people who might want to buy Tweet Library. Here are the results after 24 hours:
Unfortunately I don’t have an easy way to track this all the way to actual App Store sales. Assuming a 5% conversion on App Store visits, I likely lost a little money. The extra 1800 impressions is nice though, to raise awareness about the app. I’m going to let it run for a week.
There’s a new update to Tweet Library out today. Major additions include CSV file export to Dropbox and new URL schemes for starting a search, export, or publish. The URL schemes look like this:
twtlib://username/search?q=hello&collection=Favorites
twtlib://username/export?collection=Testing
twtlib://username/publish?collection=Testing
twtlib://username/storify?collection=Testing
There are a few other important bug fixes too, especially to importing the Tweets.zip archive from Twitter.
When I gave up on Twitter as a user, many people asked if I would abandon Tweet Library. I wasn’t sure at first, but the answer now is a clear “no”. In fact, since my last personal tweet in 2012, I’ve released new features and even redesigned the app for iOS 7.
But I do need to start consolidating my work on Tweet Library and Watermark, because the apps share so many concepts around archiving and search. To that end, this week I’m retiring tweetlibrary.com as a way to browse and publish collections. The site will now redirect to a special landing page on Watermark. Published collections from Tweet Library also go to a public page on Watermark.
It was a tough decision to change the tweetlibrary.com URLs, but maintaining separate web apps that are so similar made everything more complicated, holding back what I could build. Having a single web codebase (Watermark) will ultimately let me improve both Tweet Library and Watermark more quickly.
You may have heard by now that Photos+ has a new home at SilverPine software. My friend Jonathan Hays — now co-founder of SilverPine — is of course also half of Sunlit, so it was a great fit for him to take on another photo app as well. He writes:
I tested the Dropbox support during the 1.1 beta and think it’s a great direction to take the app. Dropbox the company is going all in on photos: just in the last week shipping Carousel and now acquiring Loom. The more people start using Dropbox to store all their photos, the more useful companion photo apps like Photos+ and Sunlit will be.
And now Justin Williams is free to focus all his time on Glassboard. While I’ve been building web services and subscription apps for a while now, the truth is I’m still figuring out how to do this as a business too. I’ve learned a lot from Justin’s recent blog posts on the subject.
It has been nearly a year since the first iOS 7 beta, and something about tint color still bugs me. In fact it bothered me enough at the time of the early betas that a filed a bug on it with Apple, something I very rarely do. The problem isn’t so much in the concept of tint color, which I like; having a consistent color for buttons and links, especially now that buttons are so understated, makes a lot of sense. The problem is the implementation in apps that use tint color anytime they want to highlight something, whether it is tappable or not.
Here’s an example in Apple’s calendar app. It uses a red tint color for buttons, but it also highlights the current day with a round circle using the tint color. It looks tappable, but it’s not.
And here’s an even worse example, from the App Store app. “Categories” in this screenshot is a button, but “Paid” directly underneath it — same blue, same font and style — is just highlighted to show that you are viewing paid apps. It’s actually “Top Grossing” that is the button.
These kind of usability mistakes turn the great potential of tint color into a disadvantage. It’s like underlined text on the web that can’t be clicked. Apps should use tint color to improve usability, not to become even more difficult to use than if everyone rolled their own button styles.
Here’s what Apple’s iOS 7 UI Transition Guide says:
But that’s not specific enough. The app screenshots above are following this rule, and it still looks wrong. Bold text or a gray background for highlights are much more effective to show selection state than tint color. I would completely avoid tint color for selection state except for controls that have 3 or more segments, such as a tab bar, and even then sparingly. Highlighting a 1- or 2-segment control with tint color is always going to be confusing, because the selected segment looks like it can be tapped.
With this in mind, fixing the App Store app is a simple change:
(You could make the “Top Grossing” button blue or not. I don’t think it’s necessary in this case.)
The best iOS 7 apps I’ve seen follow the spirit of Apple’s guidelines, but they know when to push beyond Apple’s built-in apps and when to pull back and do less. Tint color seems like an obvious case of where we should be more consistent and strict than Apple intended.
It’s SXSW this weekend, and while I’m again not attending this year, it’s a reminder that today is the 12th anniversary of starting this blog. I took some time today to fix the categories and tags on about a dozen older posts. One of those was fun to rediscover, linking to John Siracusa’s review of Mac OS X 10.2. Here’s the part from John that I quoted:
That was September 2002. It feels like it has really taken until 10.9 Mavericks (with tags and Finder tabs) for that to change.
This line in a blog post on Cartoon Brew made me laugh:
Every industry that gets big probably has some of this. There’s the old school, the folks who know the right way to do things — for example, you start an animated film with sketches and storyboards, not words — and then there’s everyone who comes in afterwards, without the history and culture of what made it all work. Look at what the App Store has become, compared to how software development worked in the 1990s or early 2000s. If it wasn’t for all the money some of these new developers are making they’d be completely embarrassing themselves with technical naivety and depressing lack of vision.
On the other hand, great ideas often start with newcomers. But please respect the past before you break from it.
Stewart Butterfield, co-founder of Flickr and his latest company Tiny Speck, published an internal email from around the middle of development on their collaboration app Slack:
It’s long but there’s a lot of good stuff in it on marketing and building a product people need.
David Smith says to not bother the user with alerts on first launch:
I agree. For Sunlit, we only prompt to enable push notifications after you’ve chosen to enable sharing for a story. While it might be useful to have push notifications for everyone, by waiting until we really need it, most users are never bothered with the alert. And it forced us to focus on specific and valuable uses of notifications, such as sending a push notification when someone subscribes to your shared story.
Guy English writes about why Apple was questioned on the fingerprint sensor in the iPhone 5S but Samsung wasn’t for their new phone. I like this part about holding Apple to a higher standard:
Expecting the best from a company isn’t unfair; it’s a form of respect. We want Apple to be amazing, and when they fall a little short, we’re disappointed. If they disappoint too many times in a row, we’ll no longer expect greatness. That that hasn’t happened yet says everything about quality at Apple.
Justin Williams on the challenge of making Glassboard profitable:
Justin’s blog post reminds me of something that Jason Fried of Basecamp wrote about. Getting good at making money is the same as getting good at anything: you have to practice.
I forgot to mention a few weeks back that I was a guest on the iPhreaks Show podcast. The format is a panel of regulars and usually one guest, making it feel more like a roundtable discussion. They had me on to talk about subscription pricing: charging every month for your app or service.
Some of what we talked about was covered in 2 talks I gave last year about subscriptions, at NSConference and CocoaConf Dallas. I’ve finally pulled together the slides from these talks and put the latest version from CocoaConf here as a PDF (17 MB). It’s different than the NSConference one, but I think works better standalone. You can still purchase the videos from NSConference 2013 to get my talk and many other great ones.
This week I was also on the Release Notes podcast with Joe Cieplinski and Charles Perry. They do a great job each episode focusing on something from the business side of running an indie software company, and they’ve had some excellent guests as well. From the show notes for episode 41:
If you enjoy Core Intuition, I think you’ll really like Release Notes. Let me know if you have any feedback on the show.
This week we launched the Core Intuition Jobs site on episode 125 of the podcast. The idea was to create a job board focused only around Mac and iOS developers. The 24 jobs already listed there all talk about Objective-C, Cocoa, ARC, or Xcode, so you don’t need to weed through a giant list of thousands of irrelevant jobs. There are some really great companies in the list.
We’ve also added an RSS feed, so you can see when new jobs are posted, and we’ll be rolling out @coreintjobs on Twitter and App.net soon. Even if you’re not actively looking for a new position, subscribing to the feed or following @coreintjobs is a great way to see some of the amazing work being done in the Cocoa community.
Today we shipped version 1.1 of Sunlit, our app for collecting photos and text together to make and publish stories. Some of the bigger changes include:
Sunlit is available in the App store as a free download. If you like it, pay just $4.99 to unlock the full app, and leave a review in the App Store to help others discover the app. Thanks!
On this week’s Core Intuition, we talked a lot about Flappy Bird (and also Threes, and a few other things). One of the points I tried to make is that some of the negativity pointed toward the developer was totally uncalled for. Marco Arment says it well in his post on this topic:
As I read Marco’s full post, and re-listened to what Daniel and I said on the podcast, I do wonder if developer Dong Nguyen had been so overwhelmed by the success that the line blurred for him between the death threats and the joke “this ruined my life” app reviews. You’d have to have a pretty thick skin to not let it get to you, even if I hope that most users had a good sense of humor about the whole thing. It’s true that the game is crazy addicting, but unlike some games — the worst of which are driven by consumable in-app purchases, gimmickly rigged to get users to feed money into the game — Flappy Bird is addicting in kind of the best way, because it’s something we’re all playing and can laugh about together.
And Nguyen cares about more than just money. He’s demonstrated an empathy for customers that seems to be lacking in many corners of the App Store. Where some developers said he was leaving money on the table by not having more ads, and other developers were quick to rush in with rip-offs of his app, Ngugen wasn’t afraid to admit it was out of control and pull the app from the store. Do you think any of the other developers who renamed their app to include the word “flappy” would have pulled their app? Not a chance.
I hope Nguyen can bounce back from this and ship more games. With so much attention now, it’ll be fascinating to see what they look like. Or if he’s stashed away some of that $50k/day and wants to just chill out for a while, that’s fine too.
For over 5 years and 122 episodes, every time we released a new episode of Core Intuition, I manually added the episode to the RSS feed using BBEdit. There was enough tedious XML copy-and-pasting that it was silly not to automate this process, but we kept putting it off. Finally last week, we switched over to an RSS feed generated by WordPress.
What surprised me is that until it was automated, I didn’t realize how much time I had been wasting editing and uploading the file manually. It was a small but very noticeable win last week when I could just upload the MP3 and click Publish, and that was it.
I’m not sure what the lesson is here. I never automate a task too soon, but 5 years was a long time. Maybe it’s just this: it’s never too late to get a better workflow.
I first blogged about 37signals a couple times back in 2002, and I’ve been a fan ever since. They had a huge influence on the way I approach design and the way I like to build products, not to mention a big impact on a whole new class of “software as a service” web apps.
The decision last week to go all-in on Basecamp left me puzzled. Daniel and I discussed this at length on Core Intuition. It’s one thing to focus all your efforts on a single product, but seems quite another to rename the whole company around it. I still feel that once you make that choice, your hands are tied from ever thinking big again, from ever wanting to grow beyond the scope of a single product. It’s like saying “our best product ideas are behind us”, and I know that’s not true for 37signals.
On the other hand, I’m sure 37signals understands their business better than I do. And maybe even big decisions are temporary anyway. I’m excited to see how it plays out in another year or two.
You can listen to Core Intuition episode 123 and let us know if we’re off base or not. Last week’s show also has more about choosing a product lineup, managing time, and thoughts on App.net’s Backer. Thanks to Smile’s PDFpen for sponsoring the podcast.
Brent Simmons has a pair of posts on dropping support for older OS releases and how the upgraded percentage goes up quickly:
Good advice. And remember, very few developers actually ship on time. Even if you think your app is going to ship before the next major version of the OS does, your app will probably be late. More people will be able to run it than you first expected.
I was chatting with some developers this week, complaining about this post on spamming the App Store and wondering if we’d ever have a better App Store, when I finally realized how we get there. The block for me had always been the top 200 lists. We all know that you can game them, buy your way in, and apps that make it in even on their own merits have a huge advantage over everything else, sometimes for months. But I couldn’t conceive of how you could actually get rid of them and if it would make the store better or worse.
The answer is in Beats Music. They have no overall top 200 list! Instead, they have a bunch of people — musicians and writers who deeply care about music — curating playlists. The top 25 playlists in a genre are so buried in the app that I had to search them out just to write this blog post, because they seem to carry no more weight than any other playlist. Much more common are playlists like “our top 20 of 2013”. That’s not a best-selling list; it’s based on real people’s favorites.
There are literally hundreds or maybe thousands of other playlists. Intro playlists for a band, related artists that were influential to a singer you like, playlists for a mood or activity, and more. This extra manual step makes it much easier for an algorithm to surface great music: just look for playlists that contain songs you already like, and chances are good that you’ll discover something new.
I wrote about Beats Music earlier, how it underscored to me that Apple needs to find the next product category to fall in love with, just like they used to feel about music. Of course we know that Apple already loves apps. Show that by doubling down on featured apps, staff picks, and app playlists.
How would this fix the junk problem in the App Store? Simple. No one in their right mind would ever feature one of these ad-filled, “re-skinned” cheap apps. Great recommendations mean less reliance on search, making scam apps more difficult to find by accident. (This focus is so complete in Beats Music, for the first couple days of using it I didn’t even realize you could search for a specific song or album.)
This idea isn’t new. Here’s Jared Sinclair on app playlists, with the twist that they’re based on apps you have installed and use:
That would be great. But seeing Beats Music ship with almost no traditional music charts at all — in an industry that has embraced the top 40 for decades — tells me that the Beats approach would also work for apps. I think you need both an “installed” playlist and many more fully curated playlists to actually replace the top 200 in the App Store.
Apple will need to ramp up their staff to do this, but if a new company like Beats can do it, surely a company as huge as Apple can also try. And they’ll have help from app fans everywhere. Writers are already doing this: see Federico Viticci’s must-have iPad apps of 2013 (could easily be an app playlist) or all the photo apps mentioned on The Sweet Setup (favorite photo apps playlist) or TechHive’s 5 apps for budgeting (my playlist would’ve added MoneyWell).
Apple shouldn’t wait until Thursday to feature a few great apps. Feature apps all the time. They’re on the right track with some of the “best of” sections in the store, and with the “Near Me” feature. Go a little further and it will make all the difference to bubble up great apps, and let the junk in the App Store fade away. For the first time I can imagine the store without a top 200 at all, and it looks amazing.
In my short post about why we chose Mapbox for Sunlit, I said I wanted to use it because the folks working at Mapbox clearly love maps. We are so used to mega-companies like Apple, Google, and Microsoft trying to provide every possible service, it’s nice sometimes to just buy directly from a specialist.
I think that’s why Beats Music is going to be successful. Music is all they’re doing, they’ve hired a staff of specialists — curators who are passionate about not just music but specific genres — and even their sister company makes music products: headphones and speakers. For more background on Beats Music, I recommend this write-up from MacStories and this video interview on The Verge.
Remember when Steve Jobs introduced the iPod? He said: “We love music. And it’s always good to do something you love.” As he continued to play some of his favorite songs, we believed him. The driving force behind the iPod and iTunes was to make it significantly easier to listen to music. They hit it out of the park and changed the music industry.
Today, Apple is either spread too thin or content to do the bare minimum only. iTunes Radio looks like something they felt they had to build, not something they wanted to build. Beats Music is in a completely different league, with a deep set of features and content. It looks like an app that’s had years to mature, not a 1.0.
I’d like to see Apple get back to doing fewer things and doing them well. That means no TV or smartwatch. They need more product categories like photography, which they excel at. The iPhone camera is the best, the built-in Photos and Camera apps are great, and there’s a rich layer of third-party apps to fill in additional features. Apple’s photos ad perfectly captures this.
Apple, fall in love with the next product category and lead us there. We’re ready for the next thing you love, not the next thing that Wall Street assumes everyone wants.
While writing about Microsoft’s new CEO, Brent Simmons makes the case for Azure as important competition for Amazon:
I agree. When AWS goes down now, it seems like half the internet doesn’t work. Except for a few lingering DNS entries, I moved everything from Amazon to Linode last year in a cost-cutting attempt. But even better, I’d like to run some of my services across multiple cloud providers. That’s difficult to manage today as a one-man shop.
(Brent’s post is also worth reading just for the WOES acronym.)
If you’ve been reading my blog for a very long time, or listening to my podcast, you probably know that in addition to my business Riverfold Software, I also have a “regular” job at VitalSource. As that company has grown, I feel less comfortable blogging about my work there, since I can’t speak for the company or even the smaller group I directly work with.
But this month is my 13th anniversary (!) with VitalSource, so I thought it would be interesting to look back on the times I’ve blogged about my work there, and highlight some of things I’ve helped build.
One of the earlier posts, back in 2005, was about our new store, where I linked to blog posts from James Duncan Davidson, Mike Clark, and Ryan Irelan about the project. But nearly a decade of migrating between blog systems has taken its toll; my post is still there, but the other links are all 404 not found.
Then from 2007, I wrote about syncing highlights and notes in e-books:
We recently updated the API to use a new, faster sync architecture, but the web app is still in use today. I’ve been updating it for Rails 4, a tedious process because of the Rails community’s fascination with deprecation.
Again in 2007, I mentioned updates to two of my favorite apps, MarsEdit 1.2 and NetNewsWire 3.0, along with VitalSource Bookshelf 4.6:
It’s neat looking back on this post because it includes a short screencast of the app from 2007, presumably running on Mac OS X 10.4 Tiger. The promise of this highlighter ratings feature never really materialized, though.
In 2010, I thought about the iPad right before its release:
Noteview was eventually removed from sale. The other app I hinted at would become Tweet Library.
Around the same time, I blogged about Mac OS X as a server platform:
Obviously Apple no longer sells the Xserve. At VitalSource all our best new servers run Linux.
Also in 2010, I reflected on how a team grows:
Later in 2010, I described how we shipped Bookshelf for iPhone:
There are other posts, but I think these hit some of the more interesting milestones in the last 13 years. I also have an archive of earlier, company-internal blog posts, starting in 2001, that I hope to look into and publish pieces from one day.
I’ve long been a fan of Launch Center Pro, an iPhone app from my local Texas friends David Barnard and Justin Youens. It’s handy even for fairly simple tasks — firing off web searches or other shortcuts into apps — but it’s especially powerful when wiring up multiple apps together. For Sunlit it was nice to provide some full actions that Launch Center Pro users could use to automate bringing content into Sunlit.
Jonathan has the full rundown on the URL schemes that Sunlit supports and why we think they’re important. You can also use the Action Composer inside Launch Center Pro to access these actions without having to type them in.
And just today, Launch Center Pro for iPad shipped. Check it out and explore some of the many apps like Sunlit that are supported.
Dan Counsell has a great post about paid vs. freemium pricing in the App Store, suggesting that paid apps are often still the best choice:
I’m pretty sure we left some money on the table with our Sunlit launch by making it a free download. We had an audience of folks on App.net looking forward to picking it up, plus curious people who had signed up for our announcement mailing list, and others who would find out about it in the first week of press. Many of these people upgraded to the full version inside the app, but I believe many more would have bought it for a few bucks even if the app ultimately wasn’t for them.
And that’s how the App Store works, right? People are always buying 99-cent apps they don’t need. It seems wrong, coming from a Mac background where you download the demo of an app and then pay a fair price after trying it, but so much of the iOS App Store works on cheap gimmicks and over-the-top marketing. People will buy on the promise of an app alone.
But we made Sunlit free anyway, for two reasons. First, because it requires an App.net account, we didn’t want anyone to buy it and then decide not to sign up for an App.net account, making the app they paid for worthless. It’s been great to see people sign up for App.net just to use the app, but we’re realistic enough to know that not everyone will do that.
Second, and most importantly, we have big plans for the app. Plans that include reaching people who don’t pay for apps often. I want my kids to be using this so that when we go on trips, all our best photos can sync to everyone’s device. I want extended family to use this, so that grandparents can stay in touch with what their children and grandchildren are up to. I want it to start free so that anyone can try it, because you never know who’s going to take the app and use it for something new, for ideas we haven’t even thought of.
Sunlit 1.0 is about laying the groundwork. I don’t want to change the price again, and our eye is on the market 6 months from now, a year from now. I think free with in-app purchase is the right approach for that.
On the latest episode of Core Intuition, we talk about how the Sunlit launch is going, expanding on my post about Sunlit and Storehouse. We also follow up with some comments from the Glassboard on privacy policies and the App Store review guidelines.
This week’s show was sponsored by CocoaConf. They have 5 cities planned for the next few months: Chicago, Washington DC, Austin, San Jose, and Raleigh. I’ll be speaking at the stop here in Austin. If you’re in the area and attending, hope to see you there!
We’ve been really happy to see the reviews of Sunlit popping up around the web. With a new type of app like this, there’s always the risk that people won’t get it. But that hasn’t been a problem at all. I’ve included some quotes below.
Jon Russell on The Next Web:
Federico Viticci on MacStories:
John Gruber on Daring Fireball:
Thorin Klosowski on Lifehacker:
Charlie Sorrel on Cult of Mac:
Thanks to everyone who tried the app and told people about it. Version 1.0.1 was approved this week, and you can download it for free and upgrade inside the app. Enjoy!
iOS already ships with a mapping framework from Apple that all apps can use, so why did we ignore it in Sunlit and use Mapbox instead? Two main reasons:
Custom map colors. I was interested in creating beautiful new maps that would give Sunlit a unique design. Maps in every other iOS app look exactly the same. Sunlit is automatically more distinctive just by choosing something different, and we barely scratched the surface of the customization that is possible on Mapbox.
Direct web API. Mapbox gives you access to your maps not just in a native iOS map view, but also over the web. For the story backgrounds in Sunlit, we grab rendered maps directly with an HTTP call. This is a lot simpler and faster than having to build an interactive map view and snapshot it.
It also helped that I’ve been following the cool stuff Mapbox has been doing ever since Justin Miller joined their team a few years ago. I could tell this was a company that wanted to push the technology of maps forward. Apple needs to spend all their time building a viable alternative to Google Maps — driving directions, business locations, better search. But I don’t care about any of those things in my app. For Sunlit I want to use a framework from people who clearly love maps, and I think that’s Mapbox.
It was Macworld Expo in 1997, and Steve Jobs had just come back to Apple. Somehow I was lucky enough to get a seat in the keynote, and I sat there with a big grin on my face as Steve came out to talk about NeXTSTEP, which would eventually become the foundation for Mac OS X. He likened developing an app to constructing a building, one level at a time. A good OS allowed you to build higher.
Microsoft’s DOS gave you very little, so you had to start at the ground floor. Developing for the Mac and Windows was like starting out on a 5-story building. But the developer tools from NeXT were like starting out on the 20th floor, because they were so advanced, because they “lifted the developer up” and let apps be developed more quickly than if you had to deal with all the basic foundational stuff every app needs.
I think the App.net API is that same kind of advancement for apps compared to most other web APIs. It is significantly more consistent and full-featured than anything else out there.
Sunlit syncs stories and photos with App.net, using your App.net private file storage (for storing photo data) as well as private channels and messages (for syncing story titles, permissions, and other metadata). We like this solution because everyone who signs in to the app with their App.net credentials gets sync automatically. It also means that if you authorize other apps to see your App.net files, you can manage the data Sunlit syncs there, or get it out again without us having to directly build an export feature.
(Although we do offer a number of export choices in Sunlit, such as saving photos to your camera roll, sharing them on social networks, or sending them to any app that supports “Open In”. We do this with OvershareKit.)
Publishing in Sunlit is another feature that utilizes App.net file storage. It allows you to take a story — photos and text — and publish it to a URL. The URL is public, but it’s not linked from anywhere unless you directly share the URL with someone. This makes it convenient for quickly publishing a set of photos and sending the link to family, for example.
Here’s what the published stories currently look like: http://sunlit.io/manton/nationalparks
On the surface this may look like Sunlit is uploading photos and other data to sunlit.io, where it’s probably stored in a relational database or on the server filesystem somewhere. But that’s not how it works at all.
The iPhone app actually uploads all photos to App.net file storage, marks the new files public, then generates a static HTML page and also uploads that to App.net. It then registers the story with sunlit.io, which caches the HTML just to make things a little faster. We never store any photos on sunlit.io itself, instead merely referencing their public URLs on App.net. (View source on the page to see the proof.)
This difference means you can move the site anywhere just by copying files from App.net, with any number of available file management tools. Or just copy the HTML file to your own server to serve the page from your own domain. The CSS and JavaScript is all bundled inline in the HTML, except jQuery, which loads from a URL.
We think this approach makes the whole system a lot more flexible and open. Your data is never hidden inside the app and your published pages are never locked behind a server.
Several months ago I wrote this about App.net:
I still believe that. It’s making apps easier to build and more powerful, just like NeXTSTEP was. There’s really no other web platform like it. That’s why we picked it for Sunlit.
We released Sunlit yesterday and the response has been really great. It’s so amazing to see all the replies on App.net, emails of encouragement, and tweets telling people about the app. I think 1.0 is off to an excellent start. We’ll keep making it better.
I was a little anxious about the release, though. It was a challenging app to build, and it’s different enough from other apps that it’s hard to predict how the market will react. I was also surprised that the same morning we shipped our app, Storehouse was released. This is a beautiful iPad app from Mark Kawano and his new team. The interactions are extremely polished and it’s getting justifiably good praise and lengthy write-ups from Techcrunch and elsewhere.
(Of course, we think Sunlit is pretty awesome too. I’ll be writing more about what makes it special in future blog posts, especially highlighting how it leverages the App.net API, the URL schemes support, and why we use Mapbox.)
At first I was stunned by Storehouse. How could it be that we were both working on a similar idea for the last year, and both apps were finished at the same time? The apps have different UIs, and a different approach, maybe even different goals, but they both create stories, revolve around photos, and publish to the web. I’ve seen a lot of people compare the apps, and I think that’s fair.
To be honest, for a few minutes I was a little bummed out. If I had seen this tweet from Jackson Harper at the time, and not later in the day, I might have been nodding in agreement:
That doesn’t really capture it, though, because I’m also really happy for the Storehouse team. I’ve known Mark for years. I’m confident that his app is going to be one of the most impressive apps on so many people’s iPads.
And they have a full-time team. Jon and I are just two guys, working in our spare time to build something — something we think is new, something for us to use, but also something ambitious in how big it could be.
It seems like a big coincidence that both apps shipped with a similar set of features, but now I realize why it happened. Sure, it’s funny that the release days were identical, and not a few days or weeks apart. But the general timing shouldn’t be at all surprising, because this is an idea whose time has come. There are photo “album”-type apps popping up all over the App Store, such as Cluster, Albumatic, and Heyday, all of which Apple has featured. Plus there are web-based apps like Exposure and Medium, which was recently updated with great photo support as well.
It’s no coincidence; it’s just a good idea. And it’s a huge market: everyone who loves writing and taking photos. That understanding gives me a lot of confidence to double down on our plans for Sunlit 1.1, 1.2, and after. 2014 is going to be an awesome year for sharing stories.
You have that feeling when hanging out with friends — everyone snapping pictures of their surroundings, of people, events, food, anything — that photo sharing should be better. That years later, you should be able to go back to that time, to see the best photos collected together from several people. And not just photos, but maps of where you were, and text to describe its significance.
One afternoon before Çingleton in 2012, this subject came up as Jonathan Hays and I were taking photos around Montreal. It seemed remarkable and disappointing to us that there was no easy way to put those photos together. And I liked the idea of buildling a new app around photos, with the same themes of curation and preserving past events that are so important to my other Riverfold products.
So we let the idea sit in the back of our minds, and later we wrote a little code as time allowed. At the App.net hackathon before WWDC 2013 we dove into the project in earnest, figuring out how it would sync, then over the summer took some more time to think through the user experience.
Sharing a single photo has been done a hundred times on iOS. Instagram was an important app to nail the timeline UI, and Favd is currently my favorite way to post and browse new photos (it’s really great). But hardly anyone has even attempted to tackle photo curation, group sharing, and publishing, let alone gotten it right. Sunlit 1.0 is our first pass at this and we couldn’t be more excited about trying to solve a new problem with photos.
They say you should spend money on experiences — on memories, not things. Sunlit helps you put those memories together, share them as a group, and rediscover them when it matters. The first version will ship tomorrow. I hope you like it.
Andy Brice had a good post recently about shipping:
I’ve been reminding myself of this to combat any self-doubt as Jon and I prepare Sunlit 1.0 for release. There is plenty to worry about: bugs we might have missed, potential confusion about how sync works, whether free with in-app purchase was the right call. But I’m proud that we took an idea from well over a year ago, prototyped it, rewrote it, and refined it, finally building it into an app that will ship.
I’ve been slowly moving photos to Dropbox over the last year, using the Dropbox camera import feature so that all new photos from my phone get synced up automatically. It’s worked out so well that last week I decided to go all in. I moved about 13 years of photos there and upgraded to Dropbox’s 200 GB of storage.
In the process I’ve been poking around at old photos, photos of my kids from 6-7 years ago when we had a basic point-and-shoot camera. There are some great photos in there, but also so many that are blurry or out of focus. We were too cheap to buy a good camera at the time. Now I would pay any amount of money to go back in time and reshoot the photos with a better camera.
Gus Mueller learned this lesson more quickly than I did:
We don’t use our DSLR every day. It’s for big events, birthdays, school performances, and the iPhone suffices for the rest of the time. But it’s worth every penny and more, to look back on these photos years later and know we have captured them at their best.
Photos are also at the heart of my new app, Sunlit. We’ll be shipping soon. Enter your email address on the site to be notified when it hits the App Store.
Nick Bradbury on selling Glassboard to Second Gear:
A few times this year I’ve thought about whether I should sell Tweet Marker, but it usually comes back to a similar concern as what Nick says above. I wouldn’t feel comfortable selling it to most companies that would actually want to acquire it. So I’ve made a change or two, and we’ll see how 2014 goes.
As for Glassboard, I’m excited to see what Justin Williams does with it. We use it for Core Intuition questions and feedback (invite code “coreint”), and I’m sure I’ll be using the 3.0 version around conferences next year.
In the 90s I bought a LaserDisc player because it was the best way to get bonus features like director’s commentary and “making of” shorts on some of my favorite movies, before DVDs took off. But I’ve resisted getting a Blu-ray player, even though studios seem to have completely shut out DVDs from the behind-the-scenes material we’re used to. Luckily artists can still share their work directly via the web.
I love this new site from Pixar artists, just in time for the holidays, on the making of their short film The Blue Umbrella. It’s presented as a holiday calendar with a new page revealed each day. From day 3:
It’s one of those rare sites that is so wonderful that I make an exception to not following it if there’s no RSS feed. Added to my bookmarks.
Apple has produced some amazing ads over the years. 1984, introducing the original Mac; the Think Different campaign; and one of my favorite this year, about photos.
Their new ad “Misunderstood” is also great. Federico Viticci has a rundown of the details and how brilliantly it unfolds. I first noticed the video via Neven Mrgan, who had this to say on App.net:
He’s right. My daughters will likely escape to Instagram and various chat apps to connect with their friends through the holidays. But also I think ads like this work so well not because they represent reality, not because they’re true, but because we want them to be.
I wrote a draft of this post a couple weeks ago while on the road, then gave a summary on Core Intuition 115. But I still wanted to publish it and give a little more detail about my experience with cellular on the iPad.
I ordered my retina iPad Mini with T-Mobile, hoping to take advantage of their free 200 MB of data per month. Since most of the time I’m at home on wi-fi, I figured the savings for all the months that I don’t need even 200 MB would more than offset the extra $130 cost of buying the cellular version of iPad.
I had three primary use cases in mind: the occasional commute on the train to work at coffee shops downtown, when it’s nice to be connected but the train wi-fi doesn’t cut it; swim meets and other kid activities with very long downtime, again without need for a laptop but it might be nice to catch up on some writing or RSS feeds; and road trips, lonely stretches of the highway where I’m technically on vacation but still need to check in on email, chat, or App.net.
I got home from the Apple Store, excitedly opened the box, restored my iPad from iCloud, tapped to set up a new T-Mobile plan, and… immediately wished I had chosen Verizon instead. Because the first thing I saw was an error that the web site wasn’t working. T-Mobile is smallest of the big carriers, and the error made me doubt that T-Mobile had the coverage or competence to make this work.
I followed up the poor first impression by searching the internet for similar problems that other T-Mobile customers might have run into. Sure enough, it was common weeks earlier during the iPad Air rollout, and T-Mobile still hadn’t fixed it. The workaround was simply to disable wi-fi during setup, forcing the connection to go through T-Mobile’s network.
A week later I gave the network its first real test on the road. Checking email, looking up maps and directions, writing, even a little streaming video for the kids.
The coverage between major cities wasn’t good. The iPad Mini was often on Edge where my iPhone 4S on AT&T had 4G. It worked, but would frequently drop and reconnect. Sometimes I’d get lucky and find a spot of LTE for a little while, and it was a beautiful thing, while it lasted. Other times it was all but unusable.
The good news is that “200 MB free” is not a marketing gimmick. No strings attached, no credit card required, and no phone plan needed; it really is free cell data. The cost is dealing with a company that wants desperately to “get” iOS but isn’t quite there, and poor connectivity between cities compared to AT&T. But after a rough start, I have no regrets. I’m typing this on my iPad along I-10 somewhere between Austin and Orlando, and that’s priceless indeed.
Found via Shawn Blanc, CJ Chilvers writes about the reputation of photographers:
I look at their blogs and the consideration given to advertisers over readers. I look at their Twitter feeds that have become broadcasts, rather than conversations. I look at their Instagram feeds and see a stream of consciousness, instead of considered examples of the work that makes them proud.
It reminds me of one of my favorite parts of Christina Warren’s talk at this year’s Çingleton, where she told the story of turning down work she wouldn’t be proud of, even though she was still struggling as a professional writer. That your reputation will outlast your current job or project:
If I give up my name — which I’m starting to build and people are starting to respect — by doing stuff like this, what does that mean? I can’t ever live this down. All I have is my name.
Daniel Jalkut and I talked more about the general themes of Çingleton a couple months ago, on Core Intuition episode 110.
Two great blog posts yesterday from Brent Simmons that I think are related, though I read one early in the day and the other catching up on RSS feeds late at night. First, on quitting his job to work full-time on Vesper:
It reminds me, of course, of the famous Steve Jobs quote:
And then, Brent says about Twitter:
In other words, do something you care about, write something lasting. The older I get, the more both of these resonate with me. And even though I haven’t posted to Twitter in over a year, I think I needed to read that post to focus back on this blog, where my writing should live.
If you’ve read my blog posts about Tweet Marker over the years, including this one when introducing a paid plan, you might hear a little indecision on the right path forward. I’ve run it more like a community service and less like a business, and admittedly the window for turning it into a profitable endeavor has slipped away. But I still want to make the service work well and improve it.
After vacationing this week leading up to Thanksgiving, I finally realized I need to remove the support burden of giving out free access. Starting today, Tweet Marker will transition to a paid-only service. To make this easier, I’ve introduced a less expensive $25/month plan for smaller developers. (Previously the only choice was $75/month, which is now the top tier plan with unlimited active users.)
This solves the problem of automating access to the API. Instead of having to manually fulfill API keys so that developers could try out Tweet Marker, which usually meant weeks or months of delay until I could get to it, by signing up online, developers get immediate access to the API without having to wait on me.
In the short term, this change means that new apps must subscribe before using the API. In the long run, all existing apps should also transition to a paid plan. I haven’t set a hard deadline for existing apps yet, but will work with developers over the coming months to do so.
You can learn more at tweetmarker.net/developers/.
Update: To be clear, this post is only for developers. There’s a $1/month subscription for end users but it is optional.
David Smith wrote last week on the 5-year anniversary of shipping his first iPhone app. I started following David’s work in the middle this story — after he had started the Developing Perspective podcast, but before he created Check the Weather and Feed Wrangler — so it’s especially great to see such a nice, reflective post that fills in the earlier apps. On launching and scaling Feed Wrangler:
I could read these kind of posts every day. Also last week, when Gus Mueller announced that he was selling VoodooPad, I remembered as I was talking with Daniel on Core Intuition 112 that Gus’s similar blog post from 2005 is still interesting and relevant today.
My account in Watermark right now has 805,182 searchable tweets stored in it — tweets from everyone in my timeline, App.net posts, favorites, and of course my own tweets. When I launched the service, I wasn’t sure how long I’d be able to keep storing these. I initially promised 1-2 months, then upped it to 3 months, and then 6.
Today I’m happy to announce that I have a more formal system in place for storage. The default $4/month plan will officially increase to 1 full year, storing every tweet from anyone in your timeline starting when you sign up. Your own tweets and favorites are kept forever.
If 1 year isn’t long enough, there’s a new unlimited plan for $10/month. Every tweet or App.net post in the system for your account will be kept forever. After a year or two it becomes a really massive and interesting search database, tailored just to your account.
The new tiered plans are live now for new accounts, and I’ll be rolling out a method for switching between plans for current customers soon. You can learn more about Watermark here.
The latest version of Tweet Library was approved by Apple last night. It features an updated design for iOS 7, a new app icon, and a bunch of bug fixes. I also dropped the price to $4.99, universal for both iPhone and iPad, and it’s a free upgrade for all existing customers.
The App Store screenshots weren’t updated yet, so I put together some screenshots using Sunlit here.
I’m pretty happy with how this release turned out, but there’s still more work to do. I’ll be following up this release with some additional improvements specifically for iOS 7 soon. You can grab version 2.4 from the App Store here.
Last week, Mat Honan wrote an article for Wired about App.net. It does a great job of capturing the history of App.net and why it’s different from Twitter. And it’s positive for all but the closing paragraph, which is either discouraging or a wake-up call, depending on your optimism. I recommend reading the whole thing.
Here’s what Mat says about what’s missing:
But there’s still something missing, that seems totally obvious: a game. App.net needs a Dots or a Candy Crush or a Words With Friends that plugs into its social sphere. Something that isn’t just useful, but fun. Something wonderful.
App.net does need a hit, a new kind of app that doesn’t resemble Twitter. If that turns out to be a game, then great. But I don’t think it has to be. There are hundreds or maybe thousands of games in the App Store that are excellent but which never made it big. The success of App.net can’t be pinned to such an uphill battle.
I do know one thing: the next great app for App.net will come from the App.net community, the developers who are passionate about the API’s potential, just as early developers like Iconfactory who took a risk on Twitter 6 years ago are still having an impact on that service today. The next great app will come from the developers who see App.net as a way to build new things.
I’m working on an app like that. It uses the App.net API, but not the timeline. It takes pictures, but isn’t really a photo app. It integrates with Ohai, but isn’t another location check-in app. It renders beautiful maps throughout, but isn’t about navigation. Some of the features I’m most proud of in the app wouldn’t be the same without App.net.
There’s no way to know what apps will resonate with the mainstream, and which will remain niche or failures. But to have any hope of success, you have to start. You might even have to take a risk on a new platform if you want to build something new.
The promise of App.net is bigger than one type of app. App.net isn’t just a blank slate; it’s an amplifier. It’s waiting to power the next new idea and help it grow into something big.
I’m launching a new paid developer plan for Tweet Marker today. It’s $75/month and includes a new admin dashboard with stats on active users, hits, and more. I’ve also expanded the API to support syncing which direct messages have been read.
Why charge developers now, after keeping the service free for 2 years? In part it’s because of something I learned from publishing the Core Intuition podcast with Daniel Jalkut. Because for the first few years of Core Intuition, Daniel and I had trouble getting episodes out very regularly; there was always something more important to work on. Adding sponsors pushed us to stick to a weekly schedule, and it’s worked out even better than I expected.
I hope the same thing will happen for Tweet Marker. Although I’ve put countless hours into maintaining Tweet Marker (and plenty of money on hosting), I couldn’t justify the effort to create new APIs because it wasn’t a revenue-generating product. Now I can dedicate more time to it, even with a modest level of support from developers.
Of course, I’m sensitive to the difficulty of transitioning from a free to paid product. That’s why I’m doing two things to make it easier for everyone.
First, I won’t be turning off any existing developers’ access to the service. The last thing I’d want is to break third-party Twitter apps currently in use. But I do strongly encourage commercial app developers to subscribe if they have the means to.
Second, I’ve created a referral program for app developers to let their customers know about the $1/month user subscription. This is a great way for developers to show their support even if they can’t subscribe to the developer plan. But even better, for developers who do subscribe, their account will be credited for each paid user they refer. This can effectively make the new developer plan free or significantly discounted.
This is a big change for Tweet Marker, but an important one to make Tweet Marker strong. I’m excited to keep working on it, so that Twitter apps can work even better together. Sign in here to learn more about it.
Nate Barham describes iOS 7 as layered glass:
I really like this post, but I’m not totally sold on the paragraph quoted above. Done right, it could be brilliant. But this is a very difficult thing to pull off, keeping the playful spirit of Tweetbot with a lighter, minimalist iOS 7 UI.
And related, if you missed Christa Mrgan’s recent Macworld essay, she also covers how iOS 7 will use depth and motion to switch from “faux 3D to real 2.5D”, with an example from Adobe’s After Effects. Makes me wonder if designers will need new prototyping tools.
Ben Brooks makes several good arguments for working from coffee shops:
I agree. There’s no sense in fighting this trend, and the coffee shops that do will largely fail. But also, as customers, we should be careful not to abuse the privilege. I try to follow these simple rules when working from a coffee shop:
I love this detailed write-up of the Twitter backend as it exists today. Sending a tweet to your followers uses a massive Redis cluster with a couple terabytes of RAM:
A listener of Core Intuition asked me today if I had second thoughts about no longer using Twitter, especially since I still maintain a Twitter app. We’ll discuss this on a future episode, but the short answer is: no, I don’t regret it. I have a huge amount of respect for what Twitter has built at a technical level, and for the opportunities it gives people to communicate. I just don’t like their attitude toward developers.
Dave Winer writes about Doug Engelbart and the pace of changing computing systems:
While there’s certainly a time to burn the forest for new growth and opportunity, I have little patience for those developers who spend more time breaking old code than creating new value. Maybe it’s a sign I’m getting old — that I’ve lost my taste for innovation at a technical low level — but I don’t look forward to rewriting all my working code again and again.
Very little has changed in this regard since I wrote a blog post about deprecation in 2010, which (fittingly) also linked to Dave Winer.
Rene Ritchie has a nice comparison of black and white filters in iOS 7 and third-party apps:
I’ve been working on an iOS 7 app that’s partly about photos, though not actually a camera app, and I always thought it’d benefit from a single great black and white filter. Not as one of a dozen filters, but as the only filter in the app — something strikingly different that would be noticed. iOS 7’s built-in filters and apps like Camera Noir have made me reconsider. Why reinvent the wheel when so much good work is being done on filters by other developers?
Related, the excellent mobile photo workflow by Rands.
“We spend a lot of time on a few great things.” — Designed by Apple in California
In 1940, Ub Iwerks, the animator behind Walt Disney’s first Mickey Mouse shorts, came back to the Disney studios after a 10-year absence. Ub had famously produced hundreds of drawings alone each day for one of those first Mickey Mouse shorts, but Ub’s return to Disney would also be remembered for his contribution to the technical side of film production, with advances in cameras and special effects. In an industry with extreme specialization — you either did backgrounds, or animation, or ink-and-paint — Ub’s talents bridged both the artistic and technical.
One of Ub’s inventions while away from Disney was called the multiplane camera. Perfected by others leading up to Snow White, in a massive camera stand over 10 feet tall, the multiplane’s innovation was to allow a background to be split into levels. Foreground trees might be painted on the glass of the first level, then the characters sat underneath that, and then farther back layers for a building, with others behind that for hills and sky.
To provide a sense of depth, camera operators could vary the distance between each plane. And movement for each level could be synchronized at different speeds, giving it a beautiful parallax effect. Distant background levels moved more slowly and were naturally blurred and out of focus.
80 years after Ub’s invention, the multiplane is alive in iOS 7. Previous versions of iOS were built on a single plane with raised and textured areas on that surface, like a topographical map except with buttons instead of mountains. iOS 7 is instead designed with multiple flat layers. Each level is strikingly flat, but by layering two or three, spaced apart, Apple has achieved an overall sense of depth.
It’s a return to basics. Simple things can remain simple, readable. When clarity is needed, everything goes flat. But it’s a framework that allows for subtle motion and depth without changing what works about the new, content-first flat design. iOS 7’s control center blurs the layer below. The home screen background sits deeper too, as if only the app icons are touching the screen. Photos scroll under the navigation bar.
Each plane is painted flat as if on glass. There can be no text drop shadows, no textures, without ruining the effect. And the result of this strict metaphor is equally valuable: there are no drop shadows to distract or obscure an app’s real content.
Disney’s multiplane camera, first in a dedicated rig and then recreated in software, lasted for decades, until the era of 3D computer animation. iOS 7’s new look won’t last that long, but the core concepts should carry Apple for years. I really like where they’re headed.
I have big news for Searchpath today. The client-side portion of Searchpath is now officially open source and available on GitHub. While I do think one of the innovations of Searchpath is the JavaScript, CSS, and HTML, it’s really the simplicity of setting up Searchpath that makes it work. A single line of JavaScript adds a search box and indexes your site, and the crawling and storage will of course remain private on my servers.
Now that part of the service is on GitHub, customers who wanted to extend the JavaScript can have a clear path for doing that. Not only is it easier to host the JavaScript yourself, but I’m accepting pull requests to integrate your improvements back into the core product for everyone to use. Special thanks to Brett Terpstra for already submitting some tweaks.
I’m also very excited to announce a simple themes structure for Searchpath. Because in addition to the JavaScript, the second part of customizing Searchpath is the design. While I document CSS class names you can use to override styles, I wanted to make it even easier to design completely new user interfaces and share them with others.
On GitHub you’ll find a “themes” folder. Any sub-folder here will be routinely synced to the main Seachpath server, where you can access it by adding “theme=folder_name” to the JavaScript include URL. To create your own theme, just add a sub-folder with your own custom theme name and submit a pull request. When the theme is added to Searchpath, all your CSS and images will be hosted by my servers. (The first person to use a specific name will effectively become the owner of it, and I’ll only accept pull requests from that person.)
Want to learn more about Searchpath? You can try it out here for free, or sign up for $8/month.
Ahead of WWDC, Apple dropped the 4th-generation iPod Touch from their lineup and replaced it with a slimmed down $229 iPod Touch. To achieve this lower price, they made a big sacrifice: no rear-facing camera.
Most surprising to me is that this change comes just weeks after the iPhone’s Photos Every Day commercial, one of the most beautiful ad campaigns Apple has ever run. Removing the camera from the iPod Touch transforms it from a peer of the iPhone, capable of the same kind of photos and videos, to nothing more than a game and internet device. It is the only shipping iOS device that can’t be used as a traditional camera.
As we know, people frequently use even the iPad as a camera, holding it up to take pictures at concerts, their kid’s basketball game, and at any family gathering. When all you have is a cheap phone, you absolutely want to use the iPad as a camera, because it means you can sync and share the photos.
My daughters have the older, smaller-screen iPod Touch and frequently use the camera with friends. Instagram, in fact, has become very popular with teens and pre-teens. Can you imagine how great it would be to have grown up in the 1980s, for example, with the ability to take essentially unlimited photos? Angry Birds may have taken the mobile spotlight when iOS went mainstream, but in a dozen years when these games are just a fun memory, we’ll still have some of the JPEGs, first-hand accounts of life in middle school.
I’m sure dropping the rear camera was a very tough decision for Apple, especially thinking about wanting more memory and speed to run iOS 7. But I’d rather have no FaceTime, slower CPU, less memory, and only 8 GB of storage any day of the week if it meant I could take photos. The rear camera is priceless.
Today is the 5th anniversary of Core Intuition. I’m really proud of what Daniel and I have been able to do with it. In our first episode, we set up a basic structure for the show — the length, segments, and theme music — and we’ve stuck to it for 91 episodes.
About the only significant change was when we added sponsors last year, allowing us to take the podcast weekly. Since then we’ve actually recorded the bulk of the episodes. Sponsorships pretty easily exceeded my expectations, and I’m very thankful to all the small and large companies alike who have helped support the show.
Today’s episode covers my recent server move to Linode, which I’ll write more about here later, and a question about the mix of developers at WWDC. Maybe it’s fitting that our first episode was also about WWDC. I like that every year, when the podcast gets a little older, the timing works out such that we’ll likely be revisiting similar, pre-conference topics. Because these couple weeks, leading up to and including WWDC, really define the best part of being a Mac or iOS developer.
App.net started 10 months ago as a blog post. I thought it would be interesting to look back on a few things I’ve written on my blog about the service as it has grown.
August 12, 2012, on the potential:
August 28, 2012, when I launched Watermark with App.net support:
January 11, 2013, with how and why I stopped posting to Twitter:
January 21, 2013, reacting to one use of the global feed:
March 25, 2013, where I review 3 iPhone apps:
March 28, 2013, about adopting the file storage API:
And of course I’ve said much more about this on the Core Intuition podcast. Episodes 50, 65 and 82 are probably good places to start.
If you’ve been thinking about giving App.net a try, you can use this invite link to sign up for free. There’s also a great new iOS app that lets discover apps and sign up directly on the iPhone.
Tweet Library 2.3 shipped last week, and I just submitted an update last night to fix a few crashing bugs and other minor problems with the release. I’m pretty happy with this version. In addition to finally switching to Twitter’s v1.1 API — easier said than done; I used several API calls that were changed or completely went away — this release added better gestures, a month filter to the iPhone version, and an updated UI with a lighter, clearer design.
You can see the full changes in the release notes, or listen to episode 88 of Core Intuition. Daniel and I discussed the expedited review process and new versions. Tweet Library 2.3 is available in the App Store for $7.99 as a universal app for both iPhone and iPad.
I rolled out a few improvements to Searchpath last week. The popover now “fades in” when first shown, using a CSS animation. Scrolling in the background page content is also now disabled while the popover is shown, for WebKit browsers. This prevents the page from bouncing around as you scroll to the end of the search results. And the mobile interface is better, finally including a close link for when you want to get back to the web site.
I’ve also fixed an issue with how often Searchpath looks for new posts. It should be much faster to pick up on changes now, especially for blogs that update every day.
You can try Searchpath for free or subscribe for just $8/month.
Sometimes the usefulness of a product speaks for itself. Other times the difference between success and failure comes down to marketing. Most of us can get better at crafting a story around why our apps are important.
And then, there are the folks who just exude hype. I love this quote from Jason Calacanis, talking up his new company Inside.com:
Sure, it’s over the top. This style wouldn’t work if I said it. But the certainty — that the product’s success is guaranteed, and now we’re just haggling over how big a success it will be — does make me want to know more about what they’re building.
Andy Baio reacts to Upcoming.org closing down, rightfully worried that the archive will not be preserved:
These kind of archive purges, whether through negligence or purpose, seem to be coming at an increasing rate. Last year it was Digg. Now Upcoming.org. Even Formspring is shutting down and deleting all 4 billion posts. And I’m sure there were a dozen lesser-known companies in between.
Luckily there’s a new effort to download the Upcoming archive with this GitHub project. It makes it easier to spin up multiple Heroku instances to get around Yahoo’s IP address rate limiting. Andy has an update on this project and the folks behind it: Archive Team. They’re making good progress on Upcoming, as well as Posterous and Formspring.
Richard Williams turned 80 years old last month. Although his body of work is extensive, including Roger Rabbit and the unfinished masterpiece The Thief and the Cobbler, I think he will be most remembered many decades from now for the extraordinary book, The Animator’s Survival Kit.
I referenced this book all the time when I was working on a little hand-drawn short film several years ago. Now an iPad version of the book is available. Floyd Bishop, writing for Animation Scoop:
Nowadays, I’m too busy with software side projects to have time for animation as a hobby, but as a huge fan I’ll occasionally catch up on news and all the beautiful work artists are doing.
A few of my favorite short films over the last year:
Brenda said on her blog, about the Oscar win:
So incredibly well-deserved. Animation is a painstakingly slow art form. The work of all these artists, from Richard Williams to Brenda Chapman, isn’t a 3-month mad dash to ship the next gimmick app to the App Store; it’s work that is measured across decades. Taken as a whole, I view it as an inspirational story of perseverance — a reminder that creating something great takes time.
There were a couple special essays on Macworld recently — guest posts from the developer community. First Brent Simmons, who argues that Microsoft isn’t the enemy anymore:
And followed by Cabel Sasser, with a similar theme:
Both great essays.
This post from Andy Brice, via Simon Wolf on ADN, makes a nice complement to my recent post on software as an art form:
Not long, of course, and I’m not sure this is solvable. The best we can do is make sure our software runs on systems as long as possible, and to preserve the rest in screenshots and videos.
There are echoes of this theme in my post on permanence last year too, but for writing:
As much as I dwell on preservation, my actual code and apps and the work I do in the software world might not be that significant. Instead, software can be the tool to make and preserve the important stuff: the writing, art, and discussions online that will matter later. Although I’d love to preserve the software as well, there is so much work to do just to keep the blogs and tweets. I’m content with making that easier.
Dave Winer also gives a nod to what software as art means, in an otherwise unrelated post on the press for Little Outliner, again framing it as what we’re building for other people to use:
Joe Fiorini takes it even further:
Like Andy Brice’s use of the word ephemeral above, Joe’s statement is difficult to measure. There’s no one thing we can point to years later. We just have to create something worthwhile and trust that it’s making someone’s life better, and that maybe that one customer will leave a mark on the world that survives long after our apps no longer run.
Google Fiber is coming to Austin next year, with crazy-fast 1 Gbps speeds. It was all over the local news in Austin yesterday.
Although I’ve been trying to slowly move off of Google services, this would probably be too good a deal to pass up. However, it seems very unlikely that my neighborhood — which is in the city limits, but pretty far away from central Austin — will get fiber anytime soon. Definitely not in the first year. From the Statesman’s FAQ:
We don’t even yet have Verizon FiOS in our neighborhood, and that has been rolling out in the Austin area for a while now. Time Warner Cable is still the dominant provider.
Another interesting angle to the announcement: each Google Fiber customer also gets 1 terabyte of Google Drive storage. This sounded like a fantastic deal until I checked the normal Google Drive plans. They already have a 1 TB plan at $50/month, with more expensive options all the way up to 16 TB. (Dropbox stops at 500 GB unless you jump to their business-level “teams” plan.)
Maybe that is the first killer app for fiber. Not syncing files, as Dropbox pioneered, but cloud storage that is fast enough to be more like an extension of your local hard drive than a mirror of it. Something like Apple’s Fusion Drive, but where the slow hard drive is the cloud, and the SSD is just a local cache.
Adam Keys has several tips for programmers, to make our web sites look better by keeping things simple. I often just use grayscale, too:
These days I also start everything with Bootstrap, which adds great defaults for layout, buttons, and text. It makes everything looks better, right away. It’s not a replacement for a designer, but it does save hours (or days) of getting the basics up and running.
RapidWeaver is a popular web site building app from Realmac Software. It’s got a great Mac UI, a bunch of nice themes, and a strong community of developers and plug-ins. One of those plug-ins is Stacks, which is so useful that it has its own set of third-party components.
Joe Workman has released a stack that makes adding and customizing Searchpath on your RapidWeaver site easy:
Check out the stack here as a free download.
Ben Lachman has some good suggestions after my post and David Smith’s on what to do with abandoned apps, saying that apps should be more clearly labelled as “abandoned”. Which device you’re using could also have an impact on search results:
Makes sense to me. Also check out his comment at the end, that kids these days may have a very difficult time revisiting the classic apps from today, 20 years from now.
We just posted episode 83 of Core Intuition, with a preview of my trip up to Dallas for CocoaConf this weekend, and a discussion of Safari extensions, WWDC videos, Michael Jurewitz’s blog posts, his return to Apple, and more.
It looks like you can still attend CocoaConf if you grab a ticket today before they close registration. Check out the web site for details on the Dallas event.
Shawn Blanc looks back to a post 3 years ago about his experience buying and using the first iPad. From waiting in line:
I wish I had written so many detailed notes. I did, however, find an old draft blog post with my current list of apps from back then. Here’s what I was running on my first iPad in early April, 2010:
Of those paid apps, I’m only still routinely using Instapaper today, and — even though I’m not on Twitter — occasionally Twitterrific. NetNewsWire for iPad in particular held up very well; I used it every day for probably 2 years after it had stopped being updated.
Most of the apps that were released for the iPad’s debut were more mature than apps from the iPhone OS 2.0 release and first App Store. By the time the iPad came along, developers seemed to have gotten the hang of the platform.
Michael Jurewitz wrote a great post last week on minimum viable products:
What he’s saying is it’s okay to be limited, but make that limited part totally polished. Cutting back features doesn’t mean you also cut back on quality. It reminds me of the quote from 37signals: “build half a product, not a half-ass product”.
This is good advice that I need to take to heart. I don’t have much problem shipping. But my apps often have some rough edges at 1.0.
Also don’t miss Jurewitz’s great 5-part series on App Store pricing. I’m linking to Michael Tsai’s summary here, since it provides nice quotes and links to each part in the series. I saw the talk that these blog posts were based on twice, at Çingleton and NSConference, and this has to be the best translation of a conference session into blog form I’ve ever seen. Not to be missed.
My blog posts have always come in waves, ever since I started this blog 11 years ago. I’ll post for a few days straight, then nothing for weeks. And every couple years, I’ll declare that I’m determined to fix this broken pattern, and I’ll start blogging again nearly every day. It doesn’t last.
What I finally realized is that I have to be serious about posting every single day. If even one day slips by, the whole thing breaks down and I’ll fall back into ignoring it, because there’s the added friction of wanting to post something “great” to make up for the missed days.
If you subscribe to the RSS feed, you’ll notice that I’ve now been posting once or twice every day for about a week and a half. I don’t link to all of these posts from App.net, so here’s the recent ones you might have missed:
App Store old app maintenance:
Smartphone religion:
Moving off SendGrid:
No new Apple products yet:
Start small:
Three ADN clients for iPhone:
Little Outliner:
Apple and the impression of being small:
iOS text cursor swipe:
iCloud sync narrative:
Climber for ADN:
Register a domain name:
Hotline servers:
Searchpath invoices and automation:
I also got tired of the non-retina (and outdated tag-line) of the old header. I’ve started over with a plain blog design, finally dropping HTML tables for layout (!) in favor of Bootstrap CSS. A more complete new design will follow later.
Here’s a great post from Derek Sivers on not automating everything. Instead, sometimes it’s better to just hire a real person to do some extra work:
I hit a brick wall related to this with Searchpath. I launched a little early, and hadn’t yet finished the invoicing system so that customers automatically got an email receipt for each charge. Then life and other work got in the way, and weeks later I still hadn’t shipped it. I wanted it to be completely perfect and automated, so that I never had to think about it.
But I did think about it. I thought about what would happen if I sent a receipt with the wrong dollar amount, or the wrong product name, or the wrong wording so that customers got confused enough to cancel their subscription.
So I built half a system first. I’m manually clicking a button to send out receipts, and in the process reviewing them to make sure that customers are being invoiced correctly. It won’t scale much longer — in fact, many receipts were already sent late — but for now it gets the ball moving forward again, and brings some confidence to finish the missing pieces.
Benj Edwards writes a Hotline retrospective for Macworld:
I remember Hotline. I was building web sites by then, but it still had obvious appeal reminiscent of the earlier BBS and AOL/eWorld days. This article from Macworld is important because it will serve as a sort of Hotline software “about page” for future internet searchers. For many apps that were popular in the 1990s, it’s now very difficult to find an online record that they even existed.
I like this idea from Dan Gillmor, encouraging each of his students to register a domain name:
Using Facebook or Twitter or LinkedIn exclusively for your content is like an artist who picks their own colors but still stays within the lines of a paint-by-numbers kit. A domain name is your own canvas. The simple act of saying “I own this” makes all the difference for the scope of what you can create.
Toward the end of this week’s Core Intuition, we talked a little about the App.net file storage API and mentioned the new iPhone app Climber. The developer, Rob Brambley, [has posted a nice write-up](blog.alwaysallthetime.com/climber-f…
) of how the app was built and shipped in less than a month:
This separation between the app and the hosting is a great advantage over services like Vine or Instagram. If the Climber app goes away or their web site is down, the videos are just .mp4 files on App.net. You can download them to your computer with any App.net file browsing client.
There’s a lot of activity around App.net file storage right now. I think we’re going to see some great things built with this.
Rich Siegel joins the discussion of iCloud syncing problems, adding the most technically comprehensive essay I’ve seen yet:
I learned a lot by reading this. Also check out the post from Brent Simmons on why controlling your own web services is so important.
Pretty sure we hit a tipping point in the iCloud just doesn’t work narrative this week. Whether that judgement is fair or not, Apple should drop everything to focus on making iCloud totally robust in time for WWDC. (And I say that even though I use neither Core Data nor iCloud, and probably never will.)
While I was writing my review of ADN clients, I wondered aloud if Riposte or Felix or some other app entirely was the first to support swiping to move the text cursor. It seems a nice enough trick that someone should get credit for trying it first.
Here’s my brief description of how this gesture works from the Felix part of the blog post:
It turns out that many apps support it: Diet Coda, Pages, Just Type, and TextCrafter are some that people mentioned. There are also hacks from the jailbreak community to make it work system wide.
And farther back, there’s the fantastic YouTube concept video of what text selection using drags on the keyboard might look like. I’d still love to see that implemented by Apple.
Jonathan “Wolf” Rentzsch at the C4 conference in 2007 defined indie as simply “non-large”. This covers not just the small, one- and two-person companies, but also the bigger software development shops like Realmac, Smile, Panic, and Omni that have 10-40 employees but still feel independent. They’re all part of the community. Panic may have a bunch of employees now but it appears from the outside like it’s not that much more complex of a company than if Cabel Sasser, Steven Frank, and their friends were building great apps out of someone’s apartment.
Small is personable, nimble, and bright. Small makes customers feel like a company is not that different than the rest of us.
One of the magic tricks that Apple has pulled off is somehow maintaining a similar feel even as they have grown to be the world’s largest tech company. They’re bigger in revenue than Microsoft, Google, Oracle, and a dozen other software companies that have a much more obvious over-sized, bureaucratic feel. But you walk into an Apple Store to chat with an employee at the Genius Bar, or browse apple.com looking for a product, and it’s almost as if nothing has changed in the last decade. The complexity of the supply chain, of too many products, of layers of management — it’s all hidden.
Why aren’t Apple employees allowed to blog? Part of it is secrecy, sure. But too many voices also creates noise, and noise makes simple things messy, confusing. Apple still gives the impression of being smaller than they really are because our view of them is heavily filtered. What we see is the beautiful tip of a massive iceberg.
And maybe that’s why pundits keep waiting for Apple to fail. Because the company doesn’t look that different, the doubters just can’t comprehend how big and unstoppable Apple has become under the surface.
Yesterday Dave Winer and Kyle Shank launched Little Outliner, an impressive JavaScript outliner that uses HTML5 local storage. It’s also completely hosted on S3:
I used Frontier a lot back in the earlier days of the web, so I’m always looking out for what Dave does next. It’ll be fun to see what they build on top of this.
Lots of new people are joining App.net. If you’re one of them, welcome! In this post I’m going to briefly review 3 of the most popular iPhone clients: Netbot, Felix, and Riposte. You can’t really go wrong with any of these three apps. And if you’re looking for a Mac client, my current favorite is Kiwi.
Netbot is nearly identical to Tweetbot. It shares most of the same source and all of the same UI design. That common heritage is great because it’s familiar to fans of Tweetbot, and it allowed Tapbots to launch onto App.net in a big way, leapfrogging all other clients that were under development at that time.
But the familiar design is a double-edged sword. Not just because the App.net API will evolve and diverge from the Twitter API, but because if you switch between both Tweetbot and Netbot often, you may need to be careful that you remember which app you’re posting from. This was a problem for me since I no longer post to Twitter, and the last thing I wanted to do was accidentally leave a new post there after a 5-month absence.
All the usual features you’d expect are present in Netbot: timeline, mentions, private messages, multiple accounts, and sync with Stream Marker. It even has an iPad version, which you may want to pick up even if you chose a different primary app on the iPhone.
Netbot also has one big feature that most App.net clients don’t have: post search. This is not part of the core App.net API. Tapbots rolled their own search server so that they could offer this feature inside the app.
Sidenote plug: if you want search for all the posts from anyone you’re following, and your own posts, consider my web app Watermark. You can subscribe on the web or in the iPhone version.
Felix is possibly the most mature and actively maintained of the App.net-exclusive apps. You can tell from his App.net posts that the developer is passionate about App.net and determined to keep making his app better.
The current version supports all the basic features as well as push notifications, narrow inline image previews that take the full width of the screen, iCloud sync for drafts, starred conversations, and a brand new feature in version 1.5: collapsing posts you don’t want to see, similar to Twitterrific 5’s muffling. The only omission is that it does not yet support multiple accounts.
Felix is also unique in that it is the only one of these 3 apps that is not free. The other apps are counting on the Developer Incentive Program to send them a check each month instead of relying on traditional sales. Felix is a good value at $5, though, and the price shouldn’t stop you from trying it out, especially as it is a very small amount compared to the paid App.net subscription itself.
There are a number of gestures in Felix. One interesting shortcut — which may also be familiar to users of Twitterrific 5 — is swipe right to quickly start a reply. I personally found that this breaks the illusion of gestures as direct manipulation, though. Since swiping to the left pulls forward the conversation, doing the reverse swipe should go back to the timeline. (Update: There’s actually a setting in Felix to switch this behavior.)
Felix also added a clever trick in its post composition window. You can swipe the text view to move the selection cursor one character over, or use two fingers to swipe across an entire word at a time. This saves a lot of time tapping-and-holding and fiddling with the magnifying glass. Felix is packed with little details and shortcuts like this.
Riposte is beautifully done, with a clear design and a simple left/right gesture system to navigate through anything in the app. By default, there is no toolbar or tabs; everything is full-screen. Following Netbot’s lead, the developers of Riposte have decided to make their app free, and they have written up some thoughts on why.
Multiple accounts are handled well and it’s easy to switch between them. Like Felix and Netbot, push notifications are supported. Riposte uses large square inline images. It’s got a great interactions view that shows users who have recently followed you or starred your posts.
Riposte mirrors Felix’s compose text view gestures, and Riposte was the first to introduce 2-finger swipes in that text view. I love that both apps now support these gestures about equally, and hope to see many more apps steal this feature soon.
Since it doesn’t have tabs, switching between timeline, mentions, global stream, and other views is done through a slide-out panel, popularized in early apps like Facebook, Path, and Sparrow, and now very common everywhere, including my own Twitter app Tweet Library. It’s a swipe and a tap instead of the single tap of Netbot or Felix, but it is space-efficient and fits the flow of gestures in Riposte.
While Riposte holds its own against the competition, I think it will be chosen most not for its features but for its design. The striking full-screen look and consistent, discoverable gestures make this app feel great. It also has probably the most readable conversation view of any app I’ve used, where the focused post appears immediately and then is surrounded with the full conversation using smaller text. That design is even maintained in HTML email when sending a conversation from the app.
Every once in a while, I’ll think about this xkcd comic strip. It’s a reminder to me that great things can start small, unambitious. I never would’ve guessed that a web comic artist starting so plainly would later produce a single strip that’s so incredible.
Maybe we should all find our app’s version of stick figures, good jokes, and consistency. Then work long enough and hard enough and suddenly a couple years later, it feels within reach to build something amazing, something beautiful. Something big.
Don McAllister is worried that Apple hasn’t announced anything new this year:
A few replies on App.net to Don’s post also caught my eye. Simon Wolf said:
Like many folks, I have a mountain of work to do and I always seem perpetually behind schedule. Apple’s aggressive releases add even more anxiety about updating apps to keep up with the latest APIs and hardware. I would be perfectly happy with Mac OS X and iOS releases on alternating years, and new hardware either when it’s ready or at predictable event dates like WWDC.
I’m not going to comment specifically on the substance of the SendGrid and PlayHaven mess because it’s complicated and completely out of hand already. It’s a pretty sad situation for everyone.
But as it turns out, I am a SendGrid customer. I use the free plan to send email in a few of my web apps. I started using SendGrid because they offered it as a simple Heroku add-on, not because of any particular research or opinion about what they were doing well.
So it’s a good time to move away, to a company that I can pick based on merits and attitude and not just because it was the default choice. I’ve long been a Beanstalk customer; I use it for all my private Subversion and Git repositories. The makers of Beanstalk, Wildbit, have a second product similar to SendGrid that looks like what I need: Postmark.
Wildbit also had a good blog post yesterday from some of the aftermath of the controversy as it relates to SendGrid (and Postmark) competitors:
I like what I see in Postmark. I’ve set up an account and should have my apps switched over to Postmark this weekend.
Stephen Hackett of 512 Pixels, commenting on a Wired essay by Mat Honan:
I got into the Mac in the 1990s during the lead-up to Apple’s certain doom, so I spent quite a lot of time arguing with Windows users. The problem with the new version of that debate, Apple vs. Samsung and the smartphone wars, is that I’m not sure it’s ever going to end. There are good phones on either side, the pundits can’t wait for Apple to fail but Apple is strong, and there’s no hope to escape the noise for those of us who just want to build some apps.
David Smith on cleaning up the App Store:
He makes a good argument for removing old apps from the store, but I’d probably hesitate going all the way to actively take them out. There is certainly too much clutter in the App Store — too many apps that aren’t providing much value, some with little chance of an update. But I also dislike the already fragile state of App Store inventory. iOS apps require much more active maintenance than traditional, direct download Mac apps, which can be hosted anywhere and stay available without constant attention from the developer.
At one point on episode 14 of The New Disruptors podcast, Glenn Fleishman talked with John Gruber about apps as a unique art form unlike paintings or novels or even film because apps are never done. John Gruber from that show, talking about software:
There are always bugs, always missing features, and always (as is David’s point above) new hardware to adapt to. It’s an art form that won’t stay still, so maybe there is an inherent impermanence to it.
But if apps are an art form, an important part of our culture, then it shouldn’t require so much work to make sure they don’t disappear forever, so quickly. This happened to me just this week, actually. I forgot to renew my iOS developer program account and my apps were automatically removed from sale for a few hours while I scrambled to pay my $99 again.
Maybe there’s a compromise solution in here somewhere. Instead of being removed from sale, abandoned apps could switch to an archived state. They would no longer show up in top lists or even search, but could still be found with a direct link. With the right kind of fallback like that, Apple could be even more aggressive about gearing the App Store user experience around new apps and modern devices, without sacrificing what is good about the long tail of old apps.
My apps Watermark and Tweet Marker were recently updated to version 1.1 of Twitter’s API. I’ve also finished the coding changes in Tweet Library to support 1.1, but it has not yet been submitted to Apple. I expect it to be another week while I wrap up a new feature included in the update.
I don’t like having my release schedule dictated by others, but that’s life as a Twitter developer. And why I no longer post there.
This matters today because Twitter is running an API blackout test. Tweet Library will not be able to load new tweets this afternoon for about an hour (3pm PST) while v1 is unavailable. I’ll post again here and from @riverfold on App.net when the new version of Tweet Library is shipped off to Apple and live in the App Store.
John Gruber has a series of posts questioning Apple’s judgement in hiring Kevin Lynch. This one best sums it up:
All of that is true. But instead of reflecting poor judgement, I think Kevin Lynch joining Apple could be good news in what it says about Apple. They didn’t hire him blindly. Apple knows what Kevin has been working on, knows what he’s said in public, and at this moment probably knows much better than we do what it was like to be at Adobe those last few years. For all we know Apple cares more about his work on Creative Cloud than Flash.
Kevin also has a rich history that is closely tied with the Mac. He worked as a developer on FrameMaker. He worked at General Magic alongside old-school Apple engineers. He worked at Macromedia when they started building web tools.
I heard him speak much later at SXSW in 2002, for a joint presentation he gave with Jeffrey Veen. At the time I disagreed with Kevin’s vision for Flash and the web, but the SXSW talk was interesting enough that I referenced it afterwards and again later. Kevin was so good that he somehow demonstrated he got the web even as he pitched a product that was increasingly at odds with it.
Was he wrong about Flash? Yes. But I choose to view his move to Apple as an indication that he was at the wrong company more than that he was completely wrong-headed. Maybe it was time for something new, a course correction back to the earlier part of his career. Skepticism about this hire is fine, but to treat him as an outsider is to forget the other great things he’s worked on. Once you’ve built Mac software, no matter how long ago, you’ll always be one of us.
I hope Apple sees it that way too. Because if Apple is confident of anything, it’s that they can’t get stuck in one old way of thinking, can’t discount good people because of one unforgivable bad idea. That Apple is able to brush aside the Flash debate as yesterday’s news — even accept as a VP someone who was at the heart of that debate, and on the wrong side — shows to me that they’re only looking forward.
With the success of Tweet Marker, several people suggested I should build a sync server for RSS. This was last year and earlier this year, before Google Reader officially shut down, but after it was clear that we needed something better. I jotted down some notes for a couple ideas but ultimately decided not to do it. I’ve already got my hands full with my current shipping products!
Luckily many great developers are now on this. Feed Wrangler from David Smith, hopes for a possible NetNewsWire Cloud, more interest in Fever, and other established web apps like NewsBlur and Feedly. As Marco Arment said, this could end up being a great thing for innovation in blogs and RSS again.
But just because I’m going to watch on the sidelines for the server sync part of RSS, doesn’t mean I’m going to completely skip building better RSS support into my own products. There’s a lot I’d like to do with client-side RSS support in Watermark.
My friend Daniel Jalkut has launched his new podcast, Bitsplitting. The first episode is an interview with Guy English, and future episodes will follow a similar interview format with other developers and tech folks. I especially love that it’s an interview show because Daniel and I were never able to coordinate having regular guests on Core Intuition. I think it makes a great complement to our show or one of your other favorite podcasts.
And it’s a great time for developer podcasts! Some of my other recent favorites include Debug, Identical Cousins, and the new show from Marco Arment, Casey Liss, and John Siracusa, Accidental Tech Podcast. Plus old favorites like Developing Perspective, NSBrief, iDeveloper Live, The Talk Show, and another half dozen I subscribe to.
I talked to a few people at NSConference last week who couldn’t get podcasts worked into their routine. If that’s you, consider that you may actually be missing out on some great content now. Even if you don’t have a commute to listen during, try picking up the earbuds next time you go for a walk or work outside or do the dishes or whatever else away from the computer. Those are the perfect times to listen to a good show, and Daniel’s is a great one to start with.
I tend to be pretty stubborn about not changing my price. Tweet Library sat at $10 for two years before I finally lowered it, and the price for Clipstart has never changed from the $29 it shipped at. I think there is something to be said for price consistency so that users feel like software is stable and doesn’t have arbitrary value. (Many people disagree with this, which is why I’d classify my opinion as equal parts instinct and stubbornness rather than a proven formula for success.)
But I’m making two pricing changes today: Tweet Library goes up to $7.99, and Watermark down to just $4/month. I’ve come to believe that the previous price changes for both products were too far in either direction. I hope this corrects that. In the case of Watermark, I will eventually be offering different plans at higher tiers for more storage, and want the entry-level price to be as appealing as possible. (All existing Watermark customers have been switched to the discounted plan.)
The little iOS app for Watermark has also been updated to version 1.1 and now features auto-renewing subscriptions. This means you can sign up directly in the iOS app and have your iTunes account charged each month. Watermark Mobile launched mostly as a convenient search interface, but it should now start receiving more regular updates.
For another recent discussion about pricing, check out part 3 of Kevin Hoctor’s excellent write-up of talks from NSConference.
Today I’m happy to announce my new web app: Searchpath. It’s search for your web site or blog with an innovative “popover” UI. Simple, fast. With better control of your search results, and no need to link to Google or show ads to your readers.
There are so many sites out there that don’t have search, or have very poor search. I wanted to build something that makes setting up a great search box on your site absolutely trivial.
Searchpath knows about blogs — it finds the text on your page to index, and can automatically strip out redundant titles from posts for clearer search results. It tracks popular search terms. It gives you more control, by letting you exclude archive pages and customize the font and links with CSS.
I’m running it now on this blog. Check it out in the sidebar, or visit searchpath.io to sign up and try it on your own site.
Last year I started working on something new. It was going to be the first product after I refocused Riverfold around a new mission statement: apps to keep and remember what matters. It starts by solving a very basic problem, but the long-term scope is very big.
It’s for anyone with a web site or blog. It’s incredibly simple to set up. It’s a web app with a free trial that works like magic, requiring no registration.
Finally I’ve been able to dust off the project, give it a new name, and get it ready to ship. Launching tomorrow, February 14th.
It’s great to see more people get access to their full archive of tweets from Twitter. In addition to just having a copy of your own tweets, it can be useful to go back and browse them by date, or search for something specific. I’d suggest putting the HTML version online as-is (mine’s here), and also checking out other apps that add a variety of different features on top of the basic archive.
Both of my apps — Tweet Library for iOS and Watermark for the web — can now import the .zip file you receive from Twitter. This file contains your full archive of tweets and retweets. Both apps can load the file directly from Dropbox, making it as simple as possible to get the tweets imported. And both apps are smart about only importing tweets that haven’t been stored yet, so you don’t have to worry about duplicates.
To import into Tweet Library, first download the archive from your settings page on twitter.com. Inside Tweet Library click on the blue arrow icon next to “Archives” and walk through the steps to authorize your account with Dropbox. Then copy the .zip file from Twitter to Dropbox → Apps → Tweet Library. It will show up in Tweet Library and can be selected.
Tweet Library is good if you want easy access to your tweets on the iPhone or iPad. You can search your tweets, create filters for them, and add tweets to special collections to share with others. It also doubles as a full Twitter client, with a timeline, posting, Instapaper support, and plenty more. Check it out in the iOS App Store.
To import into Watermark, also download the archive from Twitter and put it on Dropbox. You can put it anywhere, either in Apps → Watermark if you’ve already authorized Watermark to use Dropbox (for export), or in Documents or anywhere else. Then sign in to Watermark and click Account → “Upload all your tweets” to select the file.
Watermark is good if you want to expand your archive beyond just your own tweets. It indexes tweets from everyone you are following, creating a huge searchable archive over time. My own account in Watermark now has about 400,000 tweets indexed. Sign up or learn more at watermark.io.
Phillip Gruneich has an interesting post about what’s different about ADN, with thoughts on the global feed and link posting:
There are some ideas in here that surprised me. For example, I’m not sure I agree that everyone reads the global feed, nor that people should be discouraged from linking to anything but their own work. I love to post links to products from friends and companies that are doing interesting things.
Even if it isn’t as busy as on Twitter — Twitter disabled their global feed years ago when it started moving too fast to be read — it would still be difficult to do anything more than occasionally skim the global feed on ADN.
He does hit on something important, though. Because it’s a paid service, and there’s a cost to additional accounts, most of the users are actual people. There are fewer companies and parody accounts. (But I did end up getting @riverfold on ADN, which I felt was a nice compromise when compared against my 4-5 app accounts on Twitter.)
So I might not use ADN in exactly the same way that Phillip does, but the hope that ADN remains unique is the same because it’s something nearly everyone on ADN probably hopes for. And that’s the really good news: if what makes ADN special is the people, then it’s because all of the people have something in common. They didn’t chose ADN by accident, or because it was the default choice. They chose it because they wanted something better.
In the short 5 months since I wrote about ADN’s start, I’ve become a big fan of the founders, the quality of the API and developer program, and the general tone of ADN users. There might not be a single best way to use ADN, and that will become even more true over time as the scope of the API grows. But there’s no question that it is a special service that deserves to be a peer with Twitter and Facebook in terms of new apps and conversations, even as it exists in a different world where huge “1 billion user” scale doesn’t matter.
I posted a couple months ago about my experiment to cut the price of Tweet Library in half. I’ve decided to make this decision permanent. Tweet Library is just $4.99 as a universal app for both iPhone and iPad.
Today I’m also releasing Tweet Library 2.2. This version gains a few improvements and bug fixes, but most importantly a big new feature: support for importing Twitter’s new archive format. It does this by downloading the .zip file you receive from Twitter directly via Dropbox, to make it easy to import your full archive of tweets. (Watermark has this feature too.)
Not everyone has access to exporting their tweets from Twitter yet, but I wanted to get this feature out as soon as possible. And I already have a version 2.2.1 submitted to Apple with more improvements to the import process.
See the web site for more about Tweet Library, or get it at the App Store here.
I met Aaron briefly at SXSW, maybe 8 or 9 years ago, when the conference was still so small you could run into everyone. He wouldn’t remember me, but I followed his work and linked to him a couple times here. He was so young and already doing great things.
Lawrence Lessig:
Brent Simmons:
Cory Doctorow:
Daniel Jalkut:
…and:
Such a loss. For more links, I started a collection of tweets when my timeline woke up to the news of Aaron’s death.
Some companies seem willing to do anything for a profit. The worst domain name registrars and their pages filled with up-sells. News blogs that spread articles across several sections to increase page views. We see examples all the time of blatant attempts to increase sales just a little at the expense of usability.
But the reverse can also be a mistake. For example, my own Tweet Marker. I wanted the setup user experience to be so effortless that the user merely needs to flip a switch to enable it in their favorite apps, or do nothing for the apps that choose to use Tweet Marker by default. There’s no formal registration, no prompt for an email address.
Now I find myself with 500,000 total users who have tried Tweet Marker, but no way to follow up with them to see if they are interested in upgrading to the $1/month subscriber plan. The service is, frankly, a financial failure. More like a charity experiment than a business.
I’ve been giving this a lot of thought, and introducing the subscriber plan was the latest part of a renewed effort with Tweet Marker. I’m determined to make it work, even if it’s too late to shift the balance between business needs and user experience to something that makes more sense.
Over three months ago I stopped using Twitter. I wanted to make a statement — perhaps in an overly-dramatic way — that the developer-hostile environment that Twitter had evolved into wasn’t something I could support anymore. I do still read plenty of tweets while testing Watermark, and I’m almost done with a new version of Tweet Library, because my customers deserve great Twitter features. But I haven’t tweeted, retweeted, or favorited a thing from my personal account since October 5th.
I knew that sometimes it would be difficult to resist going back to Twitter, replying to a question, or cross-posting my posts from App.net. So I set things up to discourage my future self from even considering more tweeting. I picked the 1-year anniversary of the day Steve Jobs died and wrote my final tweets a week in advance. If someone visits my profile, I want those statements to be what they see. I can’t tweet again without pushing those tweets from the top of the list.
Meanwhile, App.net started taking off. Netbot shipped. The developer incentive program started to directly reward developers. There’s a good community there. It’s smaller than on Twitter; there isn’t the same never-ending stream of tweets flowing into your timeline. But maybe that’s a good thing.
The flip side is that it’s hard to let go of things like Twitter that have value. I had similar self-doubt when I killed off my app Wii Transfer, so that I could focus on bigger ideas. But simplifying has allowed me to do some of the best work of my career in 2012. I’ve put everything I have into Watermark, into the new Tweet Marker subscriptions, into doing Core Intuition weekly, into shipping everything I work on. 2013 is going to be awesome, and I’m not looking back.
Daniel and I took a week off from Core Intuition for the holidays, but I was a guest on the iDeveloper Live podcast last week for an end of year show with Scotty, John Fox, Saul Mora, Brent Simmons, and Guy English. Topics included highlights from the year’s events, what projects we’re working on now, learning from Apple’s successes and failures, predictions for 2013, and some detours into Auto Layout, Core Data, iCloud, and other new APIs.
Here’s the episode on iDeveloper TV with the audio and links to all the guests.
Even though I’ve been podcasting for years, I think this was the first podcast I’ve been on that was actually broadcast live. It was a fun show. Check out the iDeveloper Live web site for previous episodes and to subscribe.
As 2012 was winding down, I was fascinated with LongPosts.com (built on top of App.net) and so used it to post some thoughts about Twitter archives. The site is gone now, so I’ve moved the text back to my weblog here, where it belongs anyway. The link to the ADN discussion is here. — future me, January 2016
One of the main goals of my web app Watermark is to archive and search tweets and ADN posts, so it was natural for me to implement support for Twitter’s new archive export format. I finished it last night and linked it from the Watermark account page this evening for all customers.
I had heard that Twitter’s export included a CSV version before I saw the actual files, so I started work coding an importer based on that, with the assumption that I could tweak it later. Once I saw a real tweets.zip, I had to throw out most of my initial work. The CSV files have two problems:
Since the ZIP archive can be fairly big, instead of uploading in a web browser I let the user choose the file via Dropbox. This was a nice opportunity to try out the Dropbox Chooser. Then on the server I extract the files and load the data.
Dave Winer is doing something interesting with archives too. He’s started linking up other people’s archives on S3 — both the HTML view and the .zip file. I have a test Watermark account that I’ve loaded one of these into. It’s interesting to import multiple archives and have them all merged together and searchable.
For so long we’ve waited for access to our old tweets. In the meantime I’ve shipped two products around fixing this limitation, so it’s especially funny that Twitter finally rolls out archives after I’ve stopped posting there. (And of course I love that ADN has allowed access to your full post history from the very beginning.) Not entirely sure where all this is going to lead, but I agree with Dave Winer that new apps should be possible now.
Since introducing the Tweet Marker $1/month subscriber plan earlier this week, I’ve received a few questions about how the Safari extension works, and whether Watermark customers will also receive the new features. Yes, Watermark subscribers automatically have access to the Tweet Marker extension, which can be downloaded here.
I’ve prepared a screencast to show how the extension works. It’s about a minute long, and you can view it right here.
Thanks to everyone who has already subscribed to either Tweet Marker or Watermark.
The original goal for Tweet Marker Plus was to help cover the hosting costs for Tweet Marker. It succeeded for a little while, but it also ended up evolving into a larger independent service: Watermark, with much higher hosting costs for archiving and search, and a bunch of new features like App.net support, Dropbox sync, saved collections, and more. I’m really excited about the future of Watermark.
I also hear from Tweet Marker users who don’t need Watermark. They still want to support Tweet Marker, though, to make sure it continues running and that it’s as fast as possible.
So today I’m introducing a separate, inexpensive subscription option for Tweet Marker. Just $1/month! You can subscribe from the new Tweet Marker home page. And as a bonus you’ll get the first official Safari extension for Tweet Marker, shown in this screenshot:
Watermark now has App.net posting, replying, and an improved UI for tweeting. You could always tweet from Watermark, but it used Twitter’s “web intents” system, which opens a new browser window. The new interface is integrated directly into the Watermark sidebar, and it works with both App.net and Twitter.
Here’s what it looks like when it’s visible:
Watermark had some downtime early last week. While I was able to bring back the server faster and hopefully more robust than ever, I also wanted to quickly act to improve the service in visible ways. So I wrapped up a few features for Watermark over the Thanksgiving break, including two specific new features for Twitter and App.net.
For Twitter: Copying tweets to custom collections was cumbersome before, involving lots of clicks if you are copying multiple tweets in a row. Now there’s a faster way. After you copy a tweet to a collection, Watermark remembers that recent collection for a couple minutes and offers a “quick copy” link directly next to the tweet.
For App.net: You can now repost or star a post directly from the Watermark interface. I’ll continue to fill out Watermark with more features like this, whether you’re living in Watermark as your default client, or just searching your archive and want access to more functionality.
Search and performance should also be better across the board.
Last month I tried an experiment, lowering the price of Tweet Library for the first time in 2 years. It wasn’t selling well and I wanted to do something to determine if I was just stubbornly pricing it too high or if there was a deeper issue with the quality or marketing of the app. So let’s follow up on whether this was a success or not.
Here’s the graph of revenue for a 2-month period: one month before the price cut and one month after. There was also a new version released about a week after the price cut, but it didn’t appear to have a significant impact on sales.
Downloads were up 175%. Profit was up 40%. My gut feeling is that I should have dropped the price to $7.99 instead of $4.99, but I’m wary of changing anything again right now. We’ll see what next month looks like.
Watermark now supports App.net’s Stream Marker. You can click a post in Watermark to set its marker, the current marker will be retrieved when refreshing posts from the server, and the “Scroll to marker” link scrolls to the marker or loads more posts trying to find it.
Here’s what a marked post looks like:
I don’t know if any other clients support Stream Marker yet, but I expect many will in their next updates. I thought it was appropriate that I should be one of the first to support it.
I launched Tweet Marker in June of 2011. It wasn’t exactly a new idea — Echofon had a private sync before, and developers had long been asking Twitter for an official timeline position sync API — but Tweet Marker was the first to support sync between different apps. And it was the first to bring this idea to many more users, to make it a must-have feature that customers asked for.
In a way, I think of Stream Marker as a next-generation Tweet Marker, even though it’s not mine. The API and name are different, but it feels familiar, like an evolution from what we learned from Twitter apps. It’s a no-brainer to support it in Watermark.
Great essay from Rands on Scott Forstall. It’s one of the first I’ve seen to capture what made Forstall valuable to innovation at Apple:
One part of this executive shakeup that had me puzzled was the rumor that Scott Forstall refused to sign an apology letter about iOS 6 Maps. We’ve had a few open letters from Steve Jobs, and now one from Tim Cook. It seemed out of character to have a VP do it, someone who’s lesser known to the general public.
But then I ran across this letter about EPEAT from Bob Mansfield again, posted just a few months ago. It is signed only by Mansfield. It starts:
In other words: we’re listening, we’re sorry, and here’s what we’re doing to set things right. And I think that’s Tim Cook’s Apple. Proud and passionate about the products they’ve built, definitely, but always sincere. Arrogance has no place.
Like many programmers, I’m often fooled into thinking that it’s enough to build a good product — that people will find it on their own, instantly recognize its value, and pay for it. It’s easy to forget that even great products need marketing to succeed. For a one-man shop it’s important to take a break from writing code and work on how the app is sold.
Building a business is hard. I started Riverfold Software 6 years ago and in many ways it has fallen short. And for some of the past year, I’ve squandered the success of Tweet Marker, failing to practice and experiment with how to make money from it.
Jason Fried of 37signals wrote for Inc Magazine last year about how making money takes practice:
In the last week I’ve taken a couple steps in the right direction. I’ve finally redesigned the Watermark home page around a simpler marketing statement of what the app is about. And as discussed on the recent Core Intuition, I switched from PayPal to Stripe in an effort to make payment smoother and subscriptions easier to track. There’s still a lot to do, but I hope to make even more time for marketing before the year is up.
From John Gruber’s iPad Mini review:
As I said on the last Core Intuition, it’s even more of an easy switch for me since I never upgraded to the iPad 3. The iPad Mini has essentially been my only iPad for the last week. I’m using it more, and taking it places that I would’ve have bothered with before. My new favorite Apple device.
The second issue of Marco Arment’s The Magazine is now available, featuring essays by John Siracusa, Gina Trapani, Lex Friedman, Daniel Rutter, and Alex Knight. In the new issue, Marco writes about the risk and success of the app:
I’ve been happy with how well The Magazine fits into my mobile reading workflow. I read a lot in Instapaper and Reeder, most of it technology-related articles. The Magazine occupies a more leisurely, thoughtful space for reading, away from the frenzied pace of everyday tech news. And because it’s a handful of essays just every other week, I don’t expect to ever be overwhelmed with it in the same way that it’s easy to fall behind in never-ending RSS and Twitter feeds.
High quality, highly recommended. Congrats to Marco on the successful launch.
I rolled out a small but powerful feature last night for Watermark. For a while you’ve been able to create saved filters, which are just shortcuts to quickly run a search across the Watermark database for your account. Saved filters are also cool because they automatically sync as CSV files to Dropbox. Now you can allow any of these saved filters to be shared with others.
Click “Allow saved filters” and you’ll get a link option next to each filter. That will produce URLs that can be posted to Twitter or App.net or wherever, and anyone can see the results of the search even if they don’t have a Watermark account.
It’s a way to expose a slice of your timeline and archive to other people. Here are a few that I’ve set up:
It’s been over a year since I launched Tweet Marker, and I’ve been thinking a lot lately about what its second year will look like. Hosting costs have gone up significantly over the last year, though I’ve offset that by combining the hosting for Watermark and Tweet Marker together so that they share the same core servers. I’ve considered other options, too: run a Kickstarter-like fundraiser, charge developers, or ask for donations again.
Now that I’ve stopped posting to Twitter from my personal account, people also ask whether I’ll just shut Tweet Marker down. The answer is no. I’ll keep it running, even if it means funneling some revenue from Tweet Library and Watermark to pay for it. Even if it means having to put out fires and deal with other web hosting distractions.
Hosted web services have a different level of commitment than traditional apps. When I stopped selling Wii Transfer, existing customers could continue to use it for as long as they wanted. Not so with something like Tweet Marker, which becomes useless the minute I shutter the web server.
The Macworld Eddy statue sits on my desk as a constant reminder that real people like this thing and find it useful. There is a lot of uncertainty with Twitter, App.net, Tent.io, and the future of microblogging, but no matter what takes off and what sync looks like, I think Tweet Marker played an important role in the evolution of Twitter clients. I’ll always be proud of that. It would be a disservice to my customers and the Macworld award to ever consider turning off the API while people value it.
I have a new iPhone app in the store: Watermark Mobile, a lightweight companion app to Watermark, my search and archiving tool for Twitter and ADN. It’s free for existing customers, or $4.99 using in-app purchase to subscribe as a new Watermark customer.
With this app I wanted to solve two problems:
At Çingleton last week, Michael Jurewitz talked about app pricing and the arguments for raising your price. He made a convincing case, and it echoed some of the themes that I wrote about before I released Tweet Library 1.0 back in 2010.
In the two years since, I never once changed the price. No intro discount, no gimmicks, never on sale; $10 was essentially set stone. Even as it moved to the iPhone as a universal app, I stuck to my original philosophy about pricing, perhaps stubbornly. There’s value in consistent pricing, so that the user knows what to expect from one month to the next, and to indicate that the developer attaches a specific value to the app.
Last week, before Çingleton and right as version 2.1 of Tweet Library was about to be released, I decided to try an experiment: I cut the price in half to $4.99. Even though it’s a niche app that only doubles as a full Twitter client, this puts it more in line with other Twitter apps on iOS. (And even cheaper than buying both the iPhone and iPad versions of some apps, like Netbot for ADN.)
Meanwhile, Tweetbot for Mac is now out at $20. Daniel Jalkut covers this on his new blog, Bitsplitting:
Pricing is something I am still very fascinated by, especially this constant pull between how we value our own software and how pragmatic we want to be as a business. I’m going to let Tweet Library sit at $4.99 for a month, and if revenue is not obviously greater than what it would have been, I’ll bump it back to $10 or a middle-ground $7.99.
Following just a week after the Dropbox support in Watermark, I’ve added two new smaller features that improve the user experience. The first is that photos hosted by Twitter are now included as inline thumbnails next to a tweet, as shown here:
The second improvement is a much faster Favorites view, which also now includes the new “stars” feature from App.net. Watermark doesn’t yet download all your existing stars (that will be rolled out to more users soon), but when it does encounter a star in your App.net timeline, that starred post will be included it this view right alongside Twitter favorites.
I’ve been making Watermark better. Sometimes it’s small tweaks or bug fixes; other times, more noticeable new features. Because it’s a subscription, I’m determined to improve it quickly and often. I don’t write about most of these changes, but the new Dropbox sync in Watermark deserves special attention.
Watermark originally shipped without any kind of export feature. This was a glaring omission for an archiving tool. But because of the large number of tweets stored by Watermark — some users have hundreds of thousands of tweets from their friends in the app — a simple export wasn’t feasible. I could have offered an export of just your own tweets, but then you also have the fairly clunky step of waiting for the server to gather tweets together, then downloading a file from your web browser, finding where to store it or the previous downloaded copy to replace it with.
Dropbox sync fixes that. Watermark can now automatically copy tweets (and App.net posts) from your saved filters and custom collections to CSV files on Dropbox. For example, search Watermark for “iPhone 5”, click “Save as filter”, and the most recent 1000 tweets matching that query will appear in a file called “iPhone_5.csv” on Dropbox. It keeps running in the background, so the files are updated every hour as new tweets matching the search are downloaded by Watermark, even if you aren’t signed in.
See the account page and FAQ for details and a sign-in link to authorize Watermark with Dropbox.
I’m renaming Tweet Marker Plus. Its new name — to better reflect its gradual move away from Twitter and syncing — is Watermark.
As part of the relaunch it immediately gains a new feature: App.net posts. You can now add an App.net account and it will download any posts from your friends, making them available for search. Watermark is already storing tens of millions of tweets, and I’m excited to start adding App.net posts to that archive as well.
So what happens to the basic Tweet Marker API? For now, nothing. The sync API that over 22 Twitter apps support will still be called Tweet Marker and remain Twitter-focused. Think of Watermark as a separate app: a new kind of client and archive tool, independent of Tweet Marker.
Justin Williams on his decision to stop selling his apps MarkdownMail and Today:
I felt exactly the same way when I stopped selling Wii Transfer earlier this year. It wasn’t until a month later that I realized how much I had been enjoying that revenue, limited as it had become. I don’t regret it, though. It was the right thing for my potential customers, not to be misled into thinking there would be new versions. And it was the right thing for my focus, working on other projects.
Recently I found myself in rare disagreement with Matt Gemmell:
While the general argument that Matt makes is solid — that Sparrow customers should be happy for the developers being acquired by Google, and that paying $3 for an app doesn’t give anyone a right to complain or feel betrayed — there are a couple ways that this acquisition could be a bad thing for everyone else.
Good indie devs, especially successful ones, are a limited resource. There are very few indie companies able to make a client as polished as Sparrow was, and even fewer with commercial success.
And with Twitter’s latest anti-competitive moves, we may end up losing another market that was friendly to indie developers and rich with UI innovation.
My favorite take on the Sparrow acquisition and what it means for sustainable indie software came from Rian van der Merwe:
The Sparrow acquisition came as a surprise to most of us. One day, they look like a successful company, taking on a difficult market and winning against free competition. The next day, they’re gone. I wish them luck at Google, but it is a loss for the community of small Mac and iOS companies.
(Speaking of Matt Gemmell, he’s just released a new Mac app called Sticky Notifications for sticking reminders in Mountain Lion’s notification center.)
With every day since Twitter’s new rules were announced, my opinion grows stronger that this is the end of the platform as we’ve known it for the last few years. It hurts that so much of what was pioneered by the developer community has been co-opted and trademarked and turned against developers. Nothing will change tomorrow; we can expect new versions of Tweetbot, Twitterrific, and my own app Tweet Library. But in the long run it’s a dead-end.
Lex Friedman, writing for Macworld:
I have less at stake than developers with popular mainstream apps, so in a way I feel it’s my duty to speak out when it’s warranted, where others can’t. I’m quoted in Matthew Panzarino’s article on the Twitter API change, and I was interviewed for a radio spot on San Francisco’s KQED.
I could live with some of the API changes. I could live with the display requirements, even the user caps. Maybe I could live in a developer-hostile environment, finding a market niche far below Twitter’s radar. Except for two things:
Dave Winer reiterates that we must plan now to preserve our online writing:
These companies are only as strong and permanent as their leaders, and leadership doesn’t last. If you think it can’t happen soon, look at the new Digg. Although they want to export the previous content, currently nothing from Digg’s 7-year history is accessible. Not by accident, not by catastrophic failure, but because no one at the new company cared to keep it around.
Amy Hoy writes about master craftsmen and being accountable to your real customers:
Just enough separation from customers is healthy — email and tweets, instead of phone calls. But put up too many walls, too much bureaucracy, and you might no longer care who you’re building the software for. You might forget why it has to be great.
Daring Fireball turns 10 years old today. I love this visualization of the posts from those years. You can view by article length and highlight posts for certain topics.
There’s a rich history of posts in the archive. Like the best blogs, there’s consistency in design, tone, and format. None of the URLs have ever changed.
Here are some of my favorite essays.
June 4, 2004, Broken Windows:
April 20, 2006, Initiative:
August 4, 2006, Highly Selective:
October 2, 2008, The Fear:
April 24, 2009, Twitter Clients Are a UI Design Playground:
June 26, 2009, Copy and Paste:
January 27, 2010, The iPad Big Picture:
August 24, 2011, Resigned:
December 25, 2011, Merry:
February 16, 2012, Mountain Lion:
Congrats John. Here’s to the next 10 years.
Today, App.net passed its $500,000 funding goal. A few weeks ago when I signed up with my $50, I didn’t think they could do it. And Daniel and I were both pessimistic about their chances when we talked about it on Core Intuition 50.
In less than a month, they went from a mission statement video that seemed just a step away from vaporware, to following through on an API spec and then alpha version web site. They delivered. The momentum of shipping something real brought in new users and drove them to the finish.
What I love most about App.net is the transparency. Founder Dalton Caldwell is a blogger, like one of us. Where we only hear from Twitter’s CEO, Dick Costolo, through big news publications or at conference keynotes, for Dalton we hear it directly from his own blog posts, the way a small company should communicate. Being on the ground in posts and tweets is a perfect complement to his goal of treating users and developers as real customers.
App.net will never overtake Twitter. Look no further than hashtags all over the Olympics as proof of that. But App.net can put pressure on Twitter to respect third-party developers, and with thousands of paying customers, all with a vested interest in making App.net something worthwhile, App.net has already surpassed every other Twitter clone that has tried and failed to build a community.
From Paul Graham’s essay on ambitious startup ideas:
“Don’t worry if something you want to do will constrain you in the long term, because if you don’t get that initial core of users, there won’t be a long term. If you can just build something that you and your friends genuinely prefer to Google, you’re already about 10% of the way to an IPO, just as Facebook was (though they probably didn’t realize it) when they got all the Harvard undergrads.”
He’s talking about search engines, but it could be anything. Get those 10,000 passionate users and you have a chance to take on the giants in the industry. As of this writing, App.net has 8000 paying customers. And 25% of them signed up at the developer tier. I’m sure every developer with a popular Twitter app has already looked at the App.net API documentation.
As John Siracusa tweeted after App.net successfully funded: “Now comes the hard part.” Totally true, but just reaching this point was difficult — a perfect mix of great timing and even better execution. In the first 30 days, we saw a team that knows how to win. Let’s see what they can do next.
Shawn Blanc reviews the latest version of Day One, which now supports photos:
While I keep the important stuff in my journals, I also use a protected Twitter account for the everyday notes and photos while away from the house. It has no followers; it’s just to have a date-stamped entry with a photo that’s easy to sync. Now that I’ve read how people are using Day One for this, I’m going to switch away from my private Twitter account to use Day One on the iPhone instead.
I like having one place for this kind of stuff. If the same type of content is scattered across multiple services, it makes it less likely that everything will be together in the future when I finally want it.
Especially interesting to me from Shawn’s review is that he also keeps a hand-written journal, even after using Day One for a similar purpose. I’ll keep using real-world pen and paper too, and everything I write there I will also transcribe into Day One. But I’ll write new things in Day One that will stay exclusively digital.
Federico Viticci also has a great review. He starts with the big picture, the why of writing it all down:
I think the best writers know that it matters what their work looks like in a decade, or two decades, whether the writing is private or public. You can see it in everything from permanent URLs to blog topics to what software they use — a conscious effort to create content that lasts.
Steve Corona on keeping a journal:
When I was younger, I had tried off and on to keep a sketchbook or journal, but it never quite stuck. Like blogging, or writing, or drawing, or anything you aren’t paid to do, it takes setting a routine. There’s always something more important to do.
Then in 1998, I started a journal again with a renewed commitment. I filled a book from that day up until I got married. Then another book through when my daughters were born. Another for the first 10 years of their life, and my son’s. The travel, the big life moments, the election, the work. It’s not everything — sometimes the entries are every day and sometimes months go by with nothing — but it’s the stuff that matters, and the snapshots in time of little everyday things too.
I would be devastated to lose these books. Open the pages and it rolls back the years like a time machine, to a previous life full of small details that are priceless today. I’m writing the books half for my terrible fading memory, and half for my children, who will only care what these years have been like when it’s too late to ask me.
So I’ve recently started transcribing the handwritten entries into digital form. One page at a time, into Day One, then exported as plain text. It’s a long and tedious process, but multiple copies are the only sure way to make something last.
Last year I had to migrate the news blog section of the Staple! site from an ancient version of Movable Type (version 2.x) to Blogger. Even though Blogger has recently dropped features and seems mostly deprecated in favor of Google+, for this site there were a ton of existing users on Blogger. Upgrading just made sense.
However, what a file format mess. Export in Movable Type’s custom text format; import in Blogger’s Atom format. So first step is to find a service that’ll convert between the two, then manually fix up usernames so it imports properly. I exported, tweaked, and imported this file at least a dozen times before getting it right.
I was so frustrated because this wasn’t just accidental bugs. Developers made conscious choices that led us to this compatibility dead-end. They bet against Dave Winer and lost at a pivotal time in the development of blogging.
We had a format that was perfect for both blog syndication and as an interchange format between systems: RSS. Instead, some developers criticized RSS, then proceeded to create new products that have not been well cared for.
That is now part of their legacy. 10 years after blogging went mainstream, the end result of reinventing the wheel isn’t better software, it’s user frustration trying to get anything to work together.
This lesson keeps playing out, as if we’re doomed to repeat it with each new generation of file formats. Here’s this week’s post from Eran Hammer declaring OAuth 2.0 a failed format:
If you have a choice, always pick the old boring format that works above the new hotness that is only theoretically better.
This is kind of a short, technical footnote to my last essay. There I linked to an older blog post from Dave Winer, just one of many of his on this subject. Today he writes how we should archive blogs before we worry about Twitter:
I have a lot to say on this, and I can’t wait to share a new web project that I started recently which could play a small roll in blog backups. When I killed off my little app Wii Transfer, I did so to refocus Riverfold around preservation. I wrote:
Dave mentions libraries several times in his blog post. It’s no accident that the word “library” is in Tweet Library’s name; my ambition for this app far outpaces my coding speed. But blogs are a different problem, and they need something special — perhaps multiple solutions.
Nothing lasts on the internet. I could write on my weblog for years and the next day get hit by a bus. The domain expires, the posts are lost, and it doesn’t matter if I had 10 readers or 10,000; it’s as if it never happened.
I love real books. I keep flirting with attempts to catalog our bookshelves over the years. My daughter offered to help once, excited through the first hundred books before she realized the rest would take all day and lost interest.
Some people say “good riddance” to the cheap printed book, but I don’t agree. Recently in our house I found a paperback of an old favorite, Tigana, which I had bought while traveling in Europe. Inside the cover I had written “Oxford, 1999”. I flipped through the pages and out fell a wine label that I hadn’t seen in 13 years. It was from a bottle of wine my wife and I had in Greece, sitting on the sand of an island beach the night I proposed.
I had kept it back then because I knew years later it would matter — a memory fused into a piece of paper, waiting. That trip was a story told in events like that one, in personal journals, and through email to family. The digital parts of the story didn’t last; the email is gone.
Write on Twitter and it vanishes from the internet after 3200 more such posts, unlinked and unfindable. But write the same on a scrap of paper tucked into a book and it will be rediscovered again years later.
A self-published novel in PDF on your web site is a ticking time bomb, waiting for your hosting bill to go unpaid. But print 10 copies and give it to 10 friends and it lasts forever.
The only way to preserve something is to make multiple copies and distribute them. The problem with digital is that it makes it just as easy to accidentally delete or lose copies as it is to create them. Evolving file formats and storage devices require constant supervision and maintenance, pushing files up each technology bump from floppies to CDs to Zip disks to DVDs to hard drives. It never ends.
We need to solve this. It’s something Dave Winer has written about. It’s something anyone with a large collection of writing online probably thinks about. How do we preserve the culture and art and stories of our time when the preferred media is so fragile?
Despite everything I said about how easy it would be for customers to upgrade from the Mac App Store version of Clipstart to the direct download version, in the real world this doesn’t appear to be working well for some customers. Might be a little buggy, and it’s too late to fix anything in the Mac App Store. So I’m doing upgrades the old-fashioned way, giving everyone new serial numbers.
After the first few emails came in, I automated this with a simple form that customers can fill out. It’ll give them a new serial number right away and email the registration information. I’ve added a link in the FAQ on the Clipstart home page too.
Marco Arment has a strong post on how sponsorships won’t change his writing:
This was part of a theme on today’s Core Intuition episode as well, not just sponsorships but also whether having an audience changes how we write tweets and blog posts. Daniel Jalkut and I have been very lucky with Core Intuition so far to have great sponsors: apps and events we already love like Marco’s own Instapaper, Smile’s TextExpander, CocoaConf, iDeveloper TV, NSConference, and Glassboard. Eventually we’ll be approached by more apps and services that we don’t have as much experience with, but as long as we keep our voice and honesty, I’m not too worried.
Gabe at Macdrifter comments on the shift back to direct download for 1Password:
I’ve never liked the idea of being exclusive to the Mac App Store. I don’t think any of those transitions — from 1Password to Pixelmator — were good for users, especially when customers had to re-purchase a product they already owned. I hope sandboxing will at least make more developers think twice about pinning their business to the Mac App Store.
The blog post continues with this point, and all the good and bad that comes with it:
In other words: it’s good for some users and some apps, and not others. And that’s okay. I have no regrets about pulling Clipstart from the Mac App Store. I think of my app as pretty easy to use, but it’s for people who get file systems and tagging and uploads. Most definitely not for people afraid of using a computer.
I’ve written about saved filters in Tweet Marker Plus, and now I’m happy to announce the latest new feature: favorites. Tweet Marker Plus now grabs your favorites from Twitter so that they’re included in the searchable archive. The UI is better too, so you can tell at a glance what tweets have been favorited, and a new sidebar link can show just your recent favorites.
A few days ago was the 3-month anniversary of Tweet Marker Plus’s launch. This is a significant milestone for me because all the early subscriptions were only billed once every 3 months. For most subscribers, this week is the first time recurring billing will have kicked in. (New subscribers are on monthly billing, which is a lot simpler for customers to understand and for me to predict.)
I also rolled out some other fixes tonight, and improved performance for how background tasks run. Enjoy.
It usually takes a couple problems hitting at once to cause a major server outage. This happened last week when Tweet Marker’s SSL certificate expired. I have the SSL set to auto-renew, but it still requires manually installing the new certificate, and other problems happened along the way.
First mistake: I didn’t realize it was expiring. Those emails go to an account I don’t check very often, littered with spam. And the email to confirm the renewal went to yet another email address that no longer worked. When I had moved the DNS hosting to Amazon’s Route 53, I had neglected to move over the MX records.
After fixing all of that, I tried updating the app on Heroku to use the new cert, only to get stalled as Heroku’s new SSL add-on rejected it. Certain I had done something wrong, I fumbled through a dozen Heroku SSL how-to posts before finally reverting to their old SSL add-on. It’s no longer documented and is in fact actively discouraged by Heroku, but it also has the lucky trait of actually working with my certificate. Updating DNS caused another hour-long delay because of the high TTL.
I sent two support requests during this process, so I thought I’d rate how each company did:
Excellent piece from Joel Spolsky yesterday on software inventory and bug databases:
Reminds me of the original Getting Real from 37signals. Back in 2006:
And:
When I launched Tweet Marker Plus, I documented that it would store “about a month” of tweets. I didn’t want to promise too much before I fully understood the storage requirements. After a few weeks, I officially bumped it up to “at least 2 months”. I also added a full archive of your own tweets, which are never deleted.
The truth is I’ve yet to write the code that actually deletes any tweets from the database and search index. Eventually I’ll have to, but not yet. So I’ll continue to evolve the service in a way that makes it more useful and sustainable.
Recently I increased the $2/month price to $5/month, with the search index expanded to 3 months of tweets. Today I’m officially bumping the storage again, to 6 months of tweets. I’ve also changed to monthly billing instead of once every 3 months. Everyone who already has the $2/month plan will get to keep it. No price increase for you, and you still get the new 6-month storage and new features, as a thank-you for being an early subscriber.
And I’ve added a major new feature. You can now create custom collections of tweets and publish them to share with others. This is a feature from my iOS app Tweet Library, and in fact any published collection from Tweet Library will also show up in Tweet Marker Plus. New in Tweet Marker, you have the option of keeping a collection private or making it linkable, without it showing up when someone browses the list of collections.
The screenshots linked on the account page include an example of how collections work.
As a bonus for Mac users, there’s also a new menubar search app. This little Mac app hides in the menubar and gives quick access to searching your Tweet Marker Plus timeline and archive. Here’s a screenshot of what version 1.0 looks like.
Today I released Clipstart 1.5 for direct download customers and removed the previous version of Clipstart from the Mac App Store. Even though I’ve written about leaving the Mac App Store several times, actually pulling the trigger was difficult. But I believe it’s the right thing for my app, right now.
Clipstart 1.5 is still $29. Changes for this release:
Since I follow Enrico Casarosa on Twitter, I’ve been hearing about La Luna for what seems like a year. I was so happy to finally see the film run in front of Brave last weekend. Beautifully done and possibly my favorite Pixar short, perfect for a short film. (As an added bonus for seeing it at Alamo Drafthouse, they ran 7 other Pixar shorts before the feature started.)
There’s so much interesting work possible with short films. Disney apparently has another great one up their sleeves in Paperman. Some of the early hype:
Also check out the series of YouTube teasers from the director: the idea and the look. And the first still shots from the film.
This kind of has why am I still programming written all over it for me.
Podcasts are more popular than ever. We’re lucky right now to have a bunch of podcast networks and great iOS clients, including the newly-released official Podcasts app from Apple. My favorite remains Instacast on iPhone, but there are other good choices like Downcast.
It’s never easy for developers when Apple arrives into your market with free competition, especially if it might one day be bundled on the OS alongside the Music and Videos apps. I wish the third-party guys the best of luck.
But for podcast creators, the extra exposure can only be a good thing. I hope we can welcome even more listeners to our Core Intuition podcast. We just opened a new way to send in feedback and questions, too: Glassboard. Use invite code COREINT on the web or iPhone app to join the board and get a little behind-the-scenes look into the podcast.
Chad Sellers has a post comparing Mac App Store sandboxing to mistakes from Linux, with this very reasonable advice:
This reminds me of Twitter. When Twitter forced third-party clients to move to OAuth, but didn’t change their own app to use it, many developers said it was a double standard. Twitter’s response: the official Twitter app was part of the service, not really a separate app, so it didn’t need to use OAuth.
Maybe Apple could make the same case for Mac OS X’s built-in apps: Address Book, iCal, and Mail don’t need to be sandboxed because they are part of the operating system. But that argument doesn’t work for Keynote or iMovie. Those apps should play by the same rules that all productivity and video software in the store does.
If Apple were to sandbox a few of these it would go a long way toward convincing developers to do the same. And it would also shake out bugs and missing APIs in the whole sandbox environment.
David Barnard shares the story of App Cubby’s Timer app, along with this story of a failed project that got out of control:
This must have been very disappointing. It’s bad enough for a side project to fail, something that you’ve only invested your time into. With the kind of investment that David talks about it is surely even more difficult to let go.
I used to get this wrong – too many apps, not enough polish. There are a few products I worked on that never saw the light of day. But I don’t do that anymore. Everything I have worked on in the last 2 years has shipped, in one form or another.
You have to ship everything because you never know what is going to hit. David Barnard and Justin Youens’ latest, Launch Center Pro, which started as a few-week experiment, reached the iPhone Top 10. You have to ship everything because time is precious. Make the decision early on about whether to start. If it’s worth coding, it’s worth letting the world see.
TextExpander 4 shipped this week, and with the update it breaks from the Mac App Store and instead requires customers to buy directly. TextExpander is the first popular app I’ve seen to do it.
Moom is another one that actively encourages users to move away from the store. Recently on launch Moom displayed a news window that included this:
Even Panic – frustrated with the long approval times for Coda 2.0.1 – is experimenting with how best to let Mac App Store customers migrate to the direct version. See this tweet and screenshot from Cabel Sasser.
This has been a theme on the last couple episodes of Core Intuition. Daniel Jalkut and I talked about how we feel about sandboxing after WWDC, and more on my decision to migrate Clipstart out of the store. Things are getting better in Mountain Lion, and I’ll revisit my decision next year, but for now I think I made the right call to focus on work outside the Mac App Store.
(And if you haven’t listened to the podcast recently, check out the new episodes and subscribe. We’re now a weekly podcast!)
From a great story on Mark Zuckerberg in New York Magazine:
It covers founding the company, Sean Parker, other execs, the Instagram purchase, and more. I’ve got new respect for what Zuckerberg has accomplished after reading this.
Several years ago, when Yahoo or Microsoft or whomever was rumored to have offered a billion dollars to buy Facebook, I thought Zuckerberg was foolish and arrogant for not selling the company. I didn’t get how it could be a real business, ever worth more. Looks like I was wrong.
Of course, the narrative of the last week is that the IPO disappointed, with the stock steadily falling since its debut. But that’s only relevant if you want a quick win. The long-term view says that Facebook is here to stay, and that the company’s growth is a reason to celebrate. Not for the service or founders, but for the success of so many great developers and designers who are now part of the public company: Instagram, Gowalla, Push Pop Press, Sofa, and others who are working inside Facebook, trying to build something great.
Just approved in the Mac App Store, Clipstart 1.4.2 fixes upload issues with YouTube and especially Vimeo, which was broken in previous releases because of Vimeo API changes. I expect this to be the final Mac App Store release for Clipstart. As I blogged about before, all Mac App Store customers can upgrade to the direct download version for free.
Here’s what you should do if you bought Clipstart from the Mac App Store:
I’m now turning my attention to version 1.5, which will improve a few things and add support for Gatekeeper on Mountain Lion.
I’ve been using Twitter’s Bootstrap in an internal project at VitalSource for a few months, and over the weekend I finally switched to using the CSS framework in Tweet Marker too. The layout now works in more browsers and provides a much better foundation for design changes. It also allowed me to integrate this excellent date picker.
Here’s a short screencast video showing the date picker in a new browsing feature in Tweet Marker Plus. I’m very happy with how this turned out — both the look and functionality. On the server the date ranges are implemented with a Sphinx query, so they can be combined with search terms to help find old tweets.
A few things have changed since I last talked about hosting. Tweet Marker passed 200,000 total users to the API. There are more apps and more platforms. And of course Plus launched with new requirements for database and search indexing of tweets.
Here’s a graph showing monthly hosting costs for the last year, stopping just short of $600/month for April:
The first dip was when I moved away from Heroku’s dedicated PostgreSQL database, to Redis on EC2. The more recent increase is when I updated capacity for Tweet Marker Plus.
Tweet Marker currently runs on both Heroku and Amazon EC2. On Heroku, there are 6 dynos: 5 web dynos with 3 Unicorn processes each, and 1 background worker. I also run hourly scheduled tasks that add a small number of extra dyno-hours, and sometimes I’ll fire up additional temporary workers.
For Amazon, I run with 3 medium server instances: 1 for Redis master, 1 for Redis slave, and 1 for search with MySQL and Sphinx. The search server is partitioned across multiple EBS volumes, each one mounted as a separate MySQL database and Sphinx index. It is possible for me to move a database or search index shard to a different EC2 instance if I need to, as well as move customers between shards.
The volumes look like this in Amazon’s admin UI:
I picked 20 GB shards because it seemed like about the point where the database would be too big to be fast, given the modest hardware. It’s enough to hold several months of tweets for all the users in a shard. I estimate how many users should be in each shard, and when it reaches that number I roll new accounts to the next shard, and so on.
Backup dumps for the Redis database and MySQL get sent to S3 every hour and every day, where I keep the last 24 hourly backups and the last 31 daily backups. I also do occasional EBS snapshots.
I don’t currently need a MySQL slave for backups. If I lose a drive, when I restore the last hourly backup, Tweet Marker Plus will automatically add any missing tweets lost during the downtime to bring things back to a current state.
Overall I’m happy with this setup. It’s as simple as I could design it. Hosting is not cheap, but I think I can run for the rest of the year with very few changes and mostly fixed costs. I also plan to switch to reserved instance pricing at Amazon, which should be a significant discount.
If you’ve made it this far, you probably care enough about servers and Twitter that you should consider signing up for Tweet Marker Plus yourself. Check out the details here.
“Around here, however, we don’t look backwards for very long. We keep moving forward, opening up new doors and doing new things, because we’re curious… and curiosity keeps leading us down new paths.” — Walt Disney
There are many posts on this blog about Wii Transfer, the little Mac app that launched commercially almost by accident, and convinced me that it would be worthwhile to invest time in this side business called Riverfold Software. Early posts like the launch post in 2006 or this one about the first 75 days, and this one covering the price bump in version 2.5. But the app has been fading over the last couple of years, no longer as relevant today as it once was. It’s time to let it go.
I’m retiring Wii Transfer to focus on my other apps. It’s not that it doesn’t sell; it still does. It’s just that it’s not an app I actually use anymore. By officially shelving the whole project, I hope to remove a psychological burden of sorts — to no longer worry that I’m ignoring an active product.
It also doesn’t fit into a new theme I have for Riverfold: apps that are all about keeping and remembering what matters. For Clipstart, that’s family videos. For Tweet Library and Tweet Marker Plus, that’s old tweets. Wii Transfer is about… listening to music on your Wii? It doesn’t fit, and in the world of the Apple TV and Roku, modern streaming technology has passed the app by.
If anyone is disappointed that Wii Transfer will no longer receive updates, of course I offer refunds. I won’t be selling or open sourcing the app, preferring instead to continue to support existing customers myself for as long as they want to use the app. And I’ll keep the automatic bookmark service running that makes setup easy, as well as the Mii rendering service, so nothing breaks.
I put a lot of work into Wii Transfer over its 5-year lifespan. It’s not easy saying goodbye, especially to some of the unique things that only Wii Transfer could do, such as exporting Miis as images. Maybe I can bring that back one day. For now, I’m following the path started by my apps Tweet Library and Clipstart, for which there are many new things still to do.
I released a small bug fix update to Clipstart today, version 1.4.2, to fix an issue with YouTube uploads when using your Gmail address sign-in instead of the YouTube account username. This version should also show up in the Mac App Store after it goes through Apple’s approval process. You can see the full release notes for recent bug fixes here.
As I said earlier this year, there will only be a couple more releases of Clipstart in the Mac App Store. My current plan is to switch completely over to direct-only sales with version 1.5. The new versions run without prompting for registration if you’ve already purchased and run a copy from the Mac App Store.
You may not notice it right away, but Tweet Marker Plus is the start of a big migration for my Twitter projects. The backend infrastructure for tweetlibrary.com will be moving there, so that Tweet Marker can have access to published collections. And a major web feature to complement Tweet Library — originally written for tweetlibrary.com last year but never released — will be launching on Tweet Marker Plus instead.
Essentially, Tweet Marker will be the web app and web services. Tweet Library will be the native iOS client only.
This has a few pretty big advantages for me:
The first step in this transition is ready now: published collections can be accessed via tweetmarker.net. For example, see this collection of tweets from the game Millinaut by Shaun Inman, Neven Mrgan, and Alex Ogle.
VoodooPad 5 is out this weekend, with a new file format that plays nicely with Dropbox. Gus Mueller says:
This is another good example of where web APIs like Dropbox can be more useful than iCloud. Multiple people can collaborate on a VoodooPad document, and the direct download and Mac App Store copies of VoodooPad can sync together.
Also new in version 5 is native support for Markdown and an ePub export option. The workflow for help documentation that I posted 5 years ago carries over to VoodooPad 5 just fine, too.
There has been some good commentary on Sergey Brin’s interview with the Guardian. It’s probably best summarized in John Gruber’s comment:
This resonates with me because I think Google has put enough ads on the internet. It’s impossible to take anything Google says at face value if they talk of “open” but their intentions say “ads”. But here’s the thing: Brin is actually right. There is great data hidden behind apps that should be indexable.
In the race to win the App Store, we forgot about the web. Think about Instagram. Millions of photos are being shared that are inaccessible via a search engine. These photos can’t be found again and aren’t discoverable. When you search the web, how does it make sense that public photos on Flickr show up, but public photos on Instagram do not?
We shouldn’t have to choose between Apple’s closed systems and Google’s ad-driven business. I want to talk about improving the web without automatically being pro-Google. This tweet from John Marstall made me realize it:
We need competition in web search. More than Bing. A new search engine is the number 1 item from Paul Graham’s frighteningly ambitious ideas:
Of course it’s crazy, but so was the 1st search breakthrough, lightning-fast AltaVista, and so was the 2nd major innovation, Google itself. It’s time for a search engine that isn’t all about ads. It’s time for search that understands apps and embraces data from web services as much as it does from web sites. It’s time for the 3rd act in search.
“This MacStories article”:www.macstories.net/stories/i… covers the progress that developers have made adopting iCloud over the last 6 months. Over the next 6 months, we should have an even better appreciation for what iCloud is and isn’t good for.
For iOS backups and iTunes Match, iCloud is fantastic. For private, app-specific data that doesn’t make any sense away from a single developer’s native Mac and iOS apps, it’s also excellent. There’s no question that using Macs, iPhones, and iPads today is a significantly better experience thanks to iCloud.
But there are two fundamental limitations in iCloud that make it inappropriate for a bunch of syncing uses:
“Here’s what I wrote”:www.manton.org/2011/06/f… not long after announcing the Tweet Marker API:
Think back to the so-called Web 2.0, which gave us web services to access previously closed-off data. This eventually led to truly dominant syncing APIs like Dropbox, Simplenote, and Instapaper. At the same time, we all have more devices than ever before. Syncing exploded on iOS in text editors and note taking apps. Without a proper shared file system between apps, or even an event or scripting system, these iOS apps looked to web APIs as the only way to communicate.
That has turned out wonderfully. With web APIs as the only solution, we see more compatibility between apps and more web services popping up all the time. If you create a new web app, it’s dead without an API. Every success of the modern web, from Flickr to Twitter, has an API that is available from any platform.
So then what about iCloud? If Web 2.0 made data more accessible, iCloud takes that same data and… keeps it closed. It’s a step forward on user convenience and a step back on interoperability.
If you’re a developer considering iCloud support, just make sure your data fits there. Ask yourself if your data is all about your app, or if it’s bigger than your app. Developers who are willing to take a risk on building an open API instead of iCloud could see new opportunities: web-based views of their data, compatibility with other apps, and syncing on the Mac outside of the App Store.
A couple years ago, “Shawn Blanc said about cloud syncing”:shawnblanc.net/2010/08/s…
Imagine if Things or OmniFocus or another tasks app opened up a slice of their private syncing API to make the Instapaper of to-do inboxes. Now take other APIs for all of the useful apps we use. Not just to-do apps as Shawn mentions, but RSS, photos, blog drafts, sketches, and more.
What I wrote above about Tweet Marker is still very much true. Since then, Tweet Marker has become the standard for last-read syncing between Twitter apps, with support for 15 apps and many more in development. I want to see more syncing platforms like this. Let’s think big and make apps work together.
When I created “Tweet Marker Plus”:tweetmarker.net/plus, I thought I was creating a new way to search Twitter. Limit the search to just people you follow and you can store more tweets, and more relevant ones. But as I’ve been adding new features to it, I’m realizing that Tweet Marker Plus is really a new kind of Twitter client — a client that has search and filters at its core.
Here’s what the sidebar looks like in my Tweet Marker Plus account:
Seems simple enough. But quickly switching between saved filters is very powerful. Because Tweet Marker is routinely fetching new tweets in the background, even when you haven’t opened your web browser in days or weeks, there are no gaps in the timeline. When I use a filter, it’s showing me everything that any of the people I follow have said since I first started using Tweet Marker Plus.
I’m excited about this. I’ll keep adding features and growing the storage, to make Tweet Marker Plus the best value $2/month could possibly get you.
I love reading about how big sites use Amazon EC2. If “this post from Instagram”:instagram-engineering.tumblr.com/post/1364… is still accurate, they must be at something like $50k/month in hosting costs. Their user base has doubled in the 4 months since they posted that.
My setup for Tweet Marker is trivial by comparison, but to me — without Instagram’s $7 million in funding — it’s a very big deal. What I wrote “back in October”:www.manton.org/2011/10/r… about moving to Redis is still mostly true, although I’ve added MySQL and Sphinx to the mix. I now run with 3 Amazon EC2 “medium” instances and have 5 web dynos (with 3 Unicorn processes each) at Heroku.
I put everything from donations back into the servers. For Tweet Marker to work, it had to be rock solid. It had to scale. It’s only the first week for “Tweet Marker Plus”:tweetmarker.net/plus subscriptions, but already I have a good feeling that it’ll all pay off.
Tweet Marker is going really well. It’s growing fast, users love it, and it has wide support in all of my favorite Twitter apps.
Today I’m announcing the next step for the service: Tweet Marker Plus. This is a paid subscription with additional features, such as a brand new search and a web-based timeline that syncs with Tweet Marker. Along with Plus, I’m rolling out version 2 of the API.
We’ve learned a lot over the last few months. Here are some of the things that I wanted to improve for the next version of Tweet Marker, both for the API and the business.
Tweet Marker Plus is $2/month. You can sign up today at “tweetmarker.net/plus”:tweetmarker.net/plus. Also check out “the screencast”:www.riverfold.com/software/…
The API documentation has moved to Github and is “also available now”:github.com/manton/tw…
Every year on March 9th, as SXSW is getting started, I like to mark the anniversary of this blog. This time it’s the 10th year.
My second post back in 2002 was about a panel run by 37signals. I wrote:
Ernest and Jason really get it – I hope they inspire some designers to think about web sites in a new way, and finally start focusing on usability and page load time and cut the fancy graphics, roll-overs, and animations.
This was a couple years before they reinvented themselves as a software company with Basecamp. As the new Basecamp launches this week, it’s fascinating to think back on how far 37signals has come. The web is bigger now and more complex. Subscription web apps are everywhere. But I think the focus on performance that drove Jason Fried and his original co-founders to promote simple design in that SXSW panel a decade ago is still very much at the heart of what 37signals does.
The day after I “wrote about removing Clipstart from the Mac App Store”:www.manton.org/2012/02/s… Apple announced that the sandboxing requirement would be delayed again. In that announcement was also a new twist: sandboxing would not be required for bug fix updates to existing apps.
This is welcome news, but I stand by my post. I still plan to transition Clipstart away from the MAS. The difference now is that I can do it at my own pace, providing a new version or two to MAS customers that will make the move easier.
I’ve already gotten started. Clipstart 1.4 just shipped with a few new features and better support for recognizing MAS receipt files. I’ve also submitted it to the Mac App Store, where it is waiting for review.
It’s not clear where we are going to end up with sandboxing. “Quoted in Macworld’s coverage”:www.macworld.com/article/1… Paul Kafasis suggests that sandboxing is so flawed that Apple should just scrap the whole thing.
“Michael Tsai talks about”:mjtsai.com/blog/2012… all the work that is required to stay in the store. He closes with something that I’ve been thinking about:
This lock-in creates two immediate problems with leaving the Mac App Store:
I wrote a draft of this post a few weeks ago, before Mac OS X Mountain Lion was announced. It was pretty critical of Apple’s aggressive approach to sandboxing, and I’ve kept most of that, but the new Gatekeeper feature for Mountain Lion at least gives me a way out. I don’t think Apple would have created Gatekeeper if they planned to abandon apps sold outside of the Mac App Store.
For the next release of my app Clipstart, I will be removing it from the Mac App Store and only selling directly from my web site. With Gatekeeper I hope to have some confidence that my customers will still be able to run the app on future versions of the OS.
But let’s take a step back, to a good blog post from Craig Hockenberry on moving xScope to use sandboxing. One of the most important things to keep in mind is that what works for one app may be unsuitable for another. Craig touches on this with an example from Panic’s Transmit:
Clipstart also falls into the same “needs to access the whole file system” category as Transmit. It’s not just one feature; the whole app is based on the fact that it can point to video files anywhere on the system, or manage your video library in a central location on any hard drive. These are things that are difficult to do in the sandbox, but even worse, I don’t see a clear path forward for existing customers to move into such a restrictive environment.
Maybe I could file bugs with Apple for exemptions, and reduce the functionality of my app to fit within the limits of the sandbox, but I’ve made the decision that it is just not worth it. I would much rather spend 100% of the time I have for Clipstart on new features only, not playing catch-up with Apple.
Atlassian has made a similar decision for their app SourceTree. On the sandboxing restrictions:
Daniel Jalkut continues this argument, saying that sandboxing could be good for developers, if only the current entitlements weren’t so very incomplete. That’s true. But we can only make decisions based on what entitlements and APIs are there today, and today it’s not enough.
I will try to make this casualty of sandboxing as painless as possible for Clipstart customers. I will honor Mac App Store receipt files so that everyone can migrate to new versions of the app. And I’ll provide extra serial numbers to anyone who asks, for fresh installs on machines that never had the Mac App Store version.
Clipstart has turned out to not be a very good fit for the Mac App Store anyway. It’s the kind of app that you need to download and try out before committing your whole video library to it. Sandboxing is just the latest and most significant in a series of frustrations with the MAS.
For my customers, sandboxing isn’t actually a feature; it’s a bottleneck to getting work done. I can’t justify spending any time on it. I already have a product and platform (Tweet Library for iOS) where I can play the app review game. I want my Mac app to be a break from that, with a total focus on making the app better and a release schedule and feature set that I control.
So it was a relief to hear about Gatekeeper. I don’t want pulling Clipstart from the MAS to automatically doom the product, and now I don’t think it will. Instead of shying away from features that won’t work in the sandbox, I can even embrace them as a competitive advantage. I’m more excited than ever to get back to Mac development without this decision and chilling effect hanging over my head.
A few times since it launched, I’ve said to friends that Tweet Marker may be the best thing I’ve done. It has reached more users than any of my indie Mac and iOS apps, and it has been especially rewarding to work with other Twitter developers. It’s not perfect yet — there’s more to improve in future versions of the API and clients — but I smile every time I see a tweet about how someone can’t imagine going back to a Twitter client without it.
So it was really gratifying to see “Macworld recognize Tweet Marker with an Editors' Choice Award”:www.macworld.com/article/1… for 2011. Thank you Macworld for seeing Tweet Marker as an important part of the Twitter experience.
And thanks to “all the Twitter app developers”:twitter.com who have supported Tweet Marker in their apps. We are up to 9 supporting apps across 5 platforms — Mac, iPhone, iPad, Chrome, and Android — with more on the way. I’ve opened up the API to over 40 different clients in various stages of research or testing.
Tweet Marker is a little unique among most of the other Eddy winners this year in that it’s still completely free. I won’t see a sales spike following the announcement. If you’ve been enjoying the service, consider picking up a copy of my iPad app Tweet Library, or donating directly “on the site”:tweetmarker.net/.
The best critique and praise for Heroku is that it’s opinionated: only deploy with Git, only use PostgreSQL. On the whole this is a good thing, because it simplifies the choices that developers have to make. Fewer choices means more time to spend on things that matter.
But at $200/month for a dedicated database, there’s a very real cost with PostgreSQL on Heroku. For a service like “Tweet Marker”:tweetmarker.net that is currently free, I wanted to save money on hosting and simplify things down to a single database. I might have preferred to streamline to PostgreSQL-only, since it’s rock solid and Heroku’s tools are excellent for managing backups and moving data around, but Resque (which Tweet Marker uses to process background work) is built on Redis. If I wanted to streamline to a single database, it had to be to Redis.
Tweet Marker as essentially an OAuth-wrapped key/value store anyway, so why burden the app with a full relational database? The handful of extra tables I had for tracking users and sessions could also be migrated to Redis. And even though it’s a memory database at heart, it is persistent, so I can use it for real data.
I conducted the transition in stages:
I also expected I would quickly outgrow the smaller Redis To Go plans, eventually forcing the monthly pricing up to the same level as I was paying for PostgreSQL, but with less control. I had to run my own database server instead. And because Heroku is all on Amazon EC2, it also had to be on EC2 for the best performance between web server and database.
I went to work provisioning an EC2 instance. Initially it ran as a Redis slave to the master on Redis To Go. After I felt comfortable with EC2 and had automated backups in place, I added a separate instance on Amazon for the master and switched the app over to it. The cost for 2 “micro” instances is about the same as I was paying for Redis To Go, but with much more available memory, hourly backups to S3, and access to the Redis aof log. And my total monthly hosting costs are about half what they were before.
I’m hoping to keep this setup for at least the rest of the year and well into next. As the Tweet Marker user base grows, I’ll bump up to higher-capacity EC2 instances. Heroku continues to be really great, so I don’t expect to change anything there.
The short version of this post is: “please vote for my SXSW talk”:panelpicker.sxsw.com/ideas/vie… which I’ve proposed with David Barnard of App Cubby. If selected, we’ll be talking about how to innovate on top of Twitter, using examples from the history of Twitter apps in the App Store including Tweet Marker, Tweet Library, and David’s upcoming app Tweet Speaker. Equal parts business and APIs, I hope it’ll capture how much we can still do if we think beyond the Twitter basics.
The longer story is that SXSW is always changing. I started this blog on the first day of SXSW 2002, when the conference was just a few rooms in a single hallway, and I’ve seen it grow to more than a few venues spread across downtown Austin and even farther out. That’s okay. There’s a place for small events, as SXSW once was, and there’s a place for the event where the blogging, design, social network, and software folks can meet in one place.
Take the Mac and iOS development world. This year alone has NSConference, Voices That Matter, 360|iDev, 360|MacDev, CocoaConf, MacTech, Çingleton, and SecondConf. These attract developers from all over the country, but most people can attend one at most, and many events are regional conferences at heart.
We need WWDC as the single place. No matter how great the smaller conferences are, WWDC is the big one, the one you don’t miss. And so it is with SXSW.
I believe SXSW 2012 is going to be fascinating to watch. A couple years past when everyone already thought it was too big, 2012 could see real turnover. Some previous attendees will skip it, and many new people will speak for the first time. I want to see that conference, to find out what its themes and focus will be, and hopefully “our talk”:panelpicker.sxsw.com/ideas/vie… can be part of it.
The second app to support “Tweet Marker”:tweetmarker.net has arrived, and it’s a great one: “Tweetbot”:tapbots.com/software/… I love using Tweetbot on the iPhone and Twitterrific on the Mac and iPad. Seeing these apps work together just makes for a better Twitter experience.
Here are a few tips to keep in mind while using apps that support Tweet Marker:
Turn it on! First things first: enable Tweet Marker in both apps on every device you plan to use Twitter on. MacStories has a good summary of this (with screenshots) for “their coverage of Twitterrific”:www.macstories.net/mac/twitt… and “again for Tweetbot”:www.macstories.net/news/twee…
What syncs? Only the main timeline and mentions sync between the apps. While working with these developers, we made a decision to change how Twitter lists sync after Twitterrific had already shipped. So while both apps think they are syncing lists, the format on the server is not compatible between the two. A future version should fix this.
How to switch apps? Most apps take the approach of saving the last-read position when the app is quit or sent to the background, and restoring it again when it is launched or brought to the front. You may need to change your default habits a little to get the most accurate behavior. When you know you are going to switch apps, just close your active Twitter client first before opening the next one. It may also help to wait for the app to download new tweets before scrolling or interacting with it.
Today was day 7 of the “first app”:twitterrific.com to ship with Tweet Marker support. Overall, things have been working great. I thought I’d write a little bit about my hosting experience so far.
First, the good news: the service is up and fast. Twitterrific is sending a lot of traffic, even with the preference off by default, but the server app is architected in such a way that things are zipping along nicely. Performance is especially important on the iPhone, where a Twitter client might be saving state on quit and any lag would be pretty obvious. Non-trivial server work, such as hitting the Twitter API, is done in the background using Resque, and the queue size there is usually small too.
There have been two distinct problems, though. Each was a good opportunity to improve the system.
On the first day, the background queue stalled and the requests piled up, so much so that my Redis instance ran out of memory and clients started receiving errors. I upgraded Redis, restarted the app, and bumped up the number of processes to quickly catch up on the backlog. Although it hasn’t resulted in errors since, it has delayed some requests on 2 more occasions after launch. I also adjusted how I’m collecting statistics to further improve performance.
More recently, I’ve noticed some sporadic SSL errors when Tweet Marker tries to verify the user account via Twitter. I added more wait-and-retry logic, and I’m keeping an eye on this to kick the background script if necessary. There have been no errors in the last couple days.
I still think it was the right decision to host on Heroku. Although I am manually monitoring the server for general health (need to automate this badly), everything is less work than I would do with a colocated box or VPS. The biggest cost is that at the last minute I upgraded to Heroku’s dedicated PostgreSQL database. I’m still evaluating that, but I would rather launch with too much horsepower and scale it down later, than not enough.
Again, thanks for your support. It is a little nerve-racking because I know that “other people”:www.iconfactory.com are depending on Tweet Marker being up and performing well. This is a different experience for me than working at a “larger company”:www.vitalsource.com with a dedicated system administrator, and also different than server backends for my Riverfold products, where it is only my own customers who will be disappointed if I fail.
And now for something completely different. I released a bug fix update to “Wii Transfer”:www.riverfold.com/software/… last night, the first in over a year. It doesn’t have some of the bigger things I’d like to finish for the app, but it does have an important bug fix to Mii rendering.
At some point in a recent update to Safari or Mac OS X, Miis started appearing blank in Wii Transfer. These are rendered in an offscreen window using Flash, then saved as thumbnails in Wii Transfer with the option to export a JPEG. The fix — for reasons I’m still not clear on — was to switch to using NSBitmapImageRep’s cacheDisplayInRect instead of initWithFocusedViewRect. Needless to say, customers were frustrated that this was no longer working, and I’m sorry I didn’t take care of the problem more quickly.
I’ve been thinking a lot lately about the future of Wii Transfer and its companion “@wii”:twitter.com/wii Twitter account. This little Mac app is overdue for a rename and refocused feature set.
Tweet Marker is getting big. I couldn’t be more excited that “Twitterrific 4.3 is now shipping”:twitterrific.com with syncing across Mac, iPad, and iPhone. “Users love it”:tweetlibrary.com/manton/tw… and many are rediscovering Twitterrific or becoming new customers just because of this feature.
More apps are coming, too. Craig Hockenberry, from a “Macworld article by Dan Moren”:www.macworld.com/article/1…
I struggled with how to build, price, and launch Tweet Marker. The first developers to use it are taking a risk, so I felt I had to remove the friction of supporting the service by making the API free. To cover hosting costs, I plan to later make an optional paid subscription available for developers who want more than the basics.
But we’re not there yet, and some people have asked how they can support Tweet Marker directly. As an experiment, I’ve put up a donation button over “on the Tweet Marker site”:tweetmarker.net/. Think of it as a small investment in the service, a bootstrap to get things off the ground and remove the stress of scaling.
It is not, however, a substitute for supporting client developers. Please pick up a copy of Twitterrific, and when my app Tweet Library is available with sync I hope you’ll consider that as well. Thanks!
Five years ago today, I joined Twitter as its 897th user, though for some reason “my first tweet”:twitter.com/manton/st… wasn’t until a few months later. So much has changed in the meantime — the API always in flux, the transition from primarily SMS, to web, to apps — but in many ways the core of the service remains intact and stronger than ever. Short messages, distributed efficiently to friends.
I talked about some of the good and bad of being a Twitter developer “on the ATX Web Show last week”:atxwebshow.com/2011/07/0… There have been a string of changes that cause developers to scramble: turning off basic auth, discouraging mainstream clients, disabling DMs for xAuth. With each step, Twitter loses a little goodwill, and that’s demonstrated in the tweets I “collected over the xAuth change”:tweetlibrary.com/manton/xa…
Even as Twitter passes 1 million registered apps, there’s a risk that some developers will stick with the platform as users only, putting their apps in maintenance mode. In May, “Kiwi developer Isaiah stopped development”:yourhead.tumblr.com/post/5550… of his Mac Twitter app:
Maybe because I don’t have to depend on Tweet Library sales, I tend to more stubbornly ignore what is good business sense. There’s so much I still want to do. As “I wrote in my previous take”:www.manton.org/2011/03/t… on the state of the platform: “I’m a little discouraged, but not enough to stop.”
I think that’s doubly true today. More annoyed, but also more determined to plug holes in the platform, from archiving to syncing. I couldn’t be more excited about the developers who are building in “Tweet Marker”:tweetmarker.net support.
And there’s always a chance, a feeling that something big is just around the corner. That if I don’t add that one feature, or open up that new API, I’ll miss the tipping point that makes Tweet Library really take off.
I’m fascinated with the iPad “3” rumors because on the surface they make so little sense. Apple just shipped the iPad 2, no competitors can match it, and demand is strong. Why mess with a good thing so soon?
But it almost fits when you give it a name like “Pro” (or iPad Retina, or whatever). This isn’t a replacement for the current iPad; it’s another layer to the product lineup. And like the awkwardly-named iPod Photo from 2004, I bet the iPad Pro is meant to be temporary. It’s a way to sell a high-end, over-priced and over-pixeled iPad before the technology is cheap enough for the masses. A year or two from now, the Retina Display will be available in all iPads, and the “Pro” name will fade away, just like iPod Photo did when all iPods got a color screen.
“Guy English writes about iCloud”:kickingbear.com/blog/arch… and the magic glue (Push Notifications' persistent connection) that makes it work:
Sync speed matters. The first note sharing server I built for VitalSource years ago assumed a lot of offline time, and despite “my blogging in 2007 that it was”:www.manton.org/2007/01/b… “magic”, in practice it could take 5-10 minutes before all your computers got their act together to get a set of highlights completely synced. With that kind of lag, note edits might happen on a client in the meantime, so we remembered conflicts everywhere and had a UI for resolving them.
Too complicated. The new system, recently rolled out in Bookshelf for iPhone and iPad, syncs so much more efficiently and quickly that conflicts don’t need the same emphasis. We can throw away a bunch of code and simplify the user interface.
I’ve yet to do anything with iCloud except read the release notes and sit through a couple WWDC sessions, but we’re going to have a fantastic platform if it can deliver the same speed and reliability of Push Notifications. Guy’s post is the first I’ve seen to connect the dots, capturing how well-positioned Apple is to use this plumbing for all sorts of stuff.
In the closing paragraph of “my Mac App Store follow-up post”:www.manton.org/2011/06/m… I suggested that eventually most developers will exclusively distribute through the App Store. John Brayton, the developer of “CloudPull”:www.goldenhillsoftware.com for Google Docs backup, “called this out on Twitter”:twitter.com/johnbrayt…
“In a thread to the MacSB mailing list”:tech.groups.yahoo.com/group/mac… John has a related version of this reasoning:
I couldn’t agree more, to both points. There may be some advantages to going App Store-only — less initial setup for checkout and licensing, no confusion about which version to buy, or where to upgrade — but indie Mac developers should be doing everything they can to control their own destiny. Having your own store is just good business sense.
“Great post from Garrett Dimon”:garrettdimon.com/post/6724… on his biggest mistake building the bug-tracker Sifter:
For a small company, focusing on the wrong things will make or break a product. I’m guilty of the same thing. I sat on “Tweetmarks”:tweetmarks.net for 6 months without launching it because I was worried about how to pay for hosting and how to get developers involved.
Sometimes there’s no obvious solution until you ship. Eventually it becomes easier to know when to be patient — to solve a problem right the first time — and when it’s needless worrying over something that may or may not even happen. And as 37signals says: “decisions are temporary”:gettingreal.37signals.com/ch06_Done… anyway.
I’ve been sitting on this post for a while. First the good news: “Clipstart”:www.riverfold.com/software/… is in the Mac App Store. Overall I was very happy with the response and glad to have a new way for customers to find the app.
I’ve received a bunch of good feedback on “my blog post about Apple’s 30% cut”:www.manton.org/2011/01/a… A few people are really upset with Apple, and there are posts in the dev forums about Mac apps that still weren’t approved for one reason or another weeks after the store launched. Other developers keep quiet, either for fear of rocking the boat or because they are happy with their sales and don’t see a significant problem.
And then there’s most of us who know Apple can do even better. We’re frustrated when an app (not just our own) is rejected or stuck in review indefinitely, but we just accept that things are a little dysfunctional and cross our fingers that maybe Apple will magically become more transparent.
But it’s not going to happen by itself. It’s not going to happen because the culture of Apple under Steve Jobs is secrecy. Apple is about great products, sure, but they’re so obsessed with the big reveal that it weakens their communication with developers.
From a “MacSB mailing list post about WWDC”:tech.groups.yahoo.com/group/mac… by Dave Howell, written back in February:
The baffling part is that many of the problems in the App Store process are easily solvable. The iTunes Connect team could, for example, make it a priority to answer all email. I don’t know what the organizational structure is over there, and I’m sympathetic to what must be a flood of app submissions, but it doesn’t feel like App Store support gets the same quality treatment that Developer Technical Support does.
Contrast with “Gus Mueller’s point on Twitter”:twitter.com/ccgus/sta…
“Michael Tsai echoes this”:mjtsai.com/blog/2011… on his blog:
Good support takes extra resources and it costs money. Luckily Apple has both, and that’s why drawing attention to Apple’s 30% cut was key to my original argument. Developers are playing by Apple’s rules and helping to fund the App Store.
Despite all this, I’m upbeat. In 2011 I want to look for ways that I can help Apple succeed, such as filing bugs. For years I swore off bothering, because it took so long to turn around a fix, if ever, and I had long since worked around a bug and moved on. iOS changes that delay because it improves so significantly every single year.
I’m all for “praising Apple when it’s deserved”:www.marco.org/2011/02/0… but history shows that Apple improves the App Store when people complain. My posts are negative when it’s warranted and worth paying attention to.
The App Store is getting better. (I love that the Resolution Center is there even if I hope to never need to use it.) The writing is on the wall that a year from now most apps will be distributed through the Mac App Store, and the savings and independence of direct download sales won’t be worth the maintenance of two separate forms of distribution for many developers. But if Apple holds all the cards in this relationship, then we must hold Apple to a very high standard.
Don Draper, from the season 1 finale of Mad Men (YouTube, skip if you plan to watch the whole series):
When I first saw this a couple years ago I thought of Steve Jobs, the master pitchman in our industry. The delivery is different, more personal here, but it was stunning as part of the full episode. Who doesn’t want to build products that resonate so well, that go from nice utilities or productivity apps to something our customers fall in love with?
First you build a product that changes things, that is truly useful. Something ambitious. Then find a way to sell it that connects, and underscore why it matters.
I don’t really know how to do this yet. But I do know that part of it is telling stories. Why did I create Tweet Library? To tell stories, to remember events that matter before they’re lost in the fleeting stream of old tweets. It’s the kind of nostalgia at the heart of the Mad Men clip.
I like this post from Kyle Neath of GitHub, that it’s about ideas, not products (via Duncan Davidson):
If you can extract the core idea from a great product, everything that comes next can be matched to the idea, so the product has a clear path for new features. Building a story around it — something that sticks, and having the resources to tell that story properly — takes a lot of work. I’m inspired when I see others do it well, and it’s an art I hope to make time for.
This year’s WWDC keynote was one of the most significant of the last few years. Twitter integration and iCloud were the highlights for me, although at the end of the week I’m still not sure when or how I’ll be able to use either. But I love that it was a software-only event — that’s how WWDC should be — and I love that there were major new features on both of Apple’s platforms.
A few of the announcements seemed to have significant overlap (if not direct competition) with third-party developers, in particular Instapaper, Camera+, and the dozens of to-do list apps in the store. You can see some of that live reaction in a “collection of tweets”:tweetlibrary.com/manton/ww… I put together at the conference.
My first thought for Marco Arment was that he should come out with a new product. Not because I’m worried about Instapaper, but just because I’d love to see what he’d build next. “Marco is still upbeat on Instapaper’s chances”:www.marco.org/2011/06/0… for continued success:
Yet here’s Dave Winer, “reflecting on when Apple competed with his product”:scripting.com/stories/2…
As Dave used to say, zig where they zag. Find the unique value in the apps you build and spin those out as separate products or use as inspiration for new features. Daniel and I have talked about this on Core Intuition: pull your app’s strength into a competition advantage by reusing code and adding more depth than anyone starting from scratch.
By playing to your strengths, you can do more, faster. Every indie Mac and iOS developer should be thinking about a suite of products.
“Justin Williams hits this”:carpeaqua.com/2011/06/0… in the context of WWDC:
You should make the choice to diversify before you’re forced to make it, because WWDC is already a full year of choices rolled up into one week. Dropbox/Simplenote and iCloud, OAuth and Twitter.framework, iOS 4 and 5, Retain/Release and ARC. Like the “Persians deliberating while both drunk and sober”:skepticalphilosopher.blogspot.com/2009/09/p… (“via Buzz Andersen”:twitter.com/buzz/stat…), if you make any real decisions during WWDC’s info intoxication, make them again a week later.
Marco has a clear advantage over his new competition, though, regardless of whether he creates new products or sticks with Instapaper. “Send to Instapaper” is built into every great Twitter app and newsreader. It took years to build such widespread integration, and it won’t be easy (even for Apple) to be on equal footing with such a well-loved and established brand.
I mentioned in “my first post about Tweet Marker”:www.manton.org/2011/06/t… that there were some decisions still to be made about the service. I don’t know everything yet, but I do want to answer some common questions I’m hearing from users and developers.
Will Tweet Marker be free?
Yes, I do not plan to charge users directly to use the service. There will also be no charge to developers for the basic sync API. However, it will take on real hosting costs, so I plan to have a more advanced paid plan (with more features and stats) so that participating Twitter apps can help pay for the service.
How useful is it if the official Twitter app doesn’t support it?
It is still very useful for users of third-party Twitter clients. I couldn’t allow the official Twitter app to use the API even if they wanted to, because theirs is a free app and has such a huge number of users. I also like that Tweet Marker becomes a selling point and discovery tool for other apps.
Shouldn’t Twitter provide this service as part of their API?
That would be great, but Twitter doesn’t seem interested in providing such a service. They don’t encourage users to read everything in their timeline, and it would be a little at odds with their focus on only the latest tweets.
Why aren’t you using Apple’s new iCloud?
The primary goal with Tweet Marker is to enable different Twitter apps to work together. iCloud is designed for storage and syncing only between apps from the same developer, so it’s not appropriate as a replacement architecture for Tweet Marker.
Where is it hosted and what language was it written in?
It is hosted on Heroku, which also powers the web site for my iPad app Tweet Library. Tweet Marker is written in Ruby with the Sinatra framework, and backed by PostgreSQL.
What about sample code for building this into an app?
I’m working on an example project for Mac and iOS. In the meantime, remember that it uses OAuth Echo, which is what most Twitter apps should already be using to post to Twitpic and Yfrog. Just change the URL to use the Tweet Marker server and include the tweet status ID in the POST body. To retrieve the value, it’s just a GET request without authentication. “See the docs”:tweetmarker.net for more.
Update: I reworded the part above about whether the service will be free, since I don’t control how third-party clients will make this feature available to their users. I also updated it to reflect the service name change from Tweetmarks to Tweet Marker.
So you want to sync the last-read tweet with all your different Twitter apps on iPhone, iPad, and Mac? Yeah, me too. While I hope to build a version of Tweet Library for other platforms, what I’d also love is to be able to switch between clients and know that each one will pick up where I was last reading in the timeline.
That’s why I’m introducing a new service for Twitter developers: Tweet Marker.
I’ve already showed it off to a few developers, and if you’re writing a Twitter app I’d love for you to support it too. It will be baked into the next version of Tweet Library.
There are still some unknowns (especially around whether I will need to ask for help to cover hosting costs), but I wanted to launch it now before WWDC so that other Twitter app developers meeting at the conference can give me feedback on the service. Tweet Marker has actually been running for months, and when an opportunity came along this week for a new logo (thanks Alex!), I knew it was past time to finish documenting the service and get it out.
To be successful it needs at least 2 apps to support it (I’ll supply one of those). I’ve tried to solve all the other basic problems. It’s simple, fast, scalable on Heroku, and protected so that mischief-makers can’t tamper with tweet IDs.
Send me an email or find me in person next week if you have any feedback.
Update: This post has been updated to reflect the service name change from Tweetmarks to Tweet Marker.
“David Barnard chimes in”:davidbarnard.com/post/5649… on The Daily:
David makes some great points. Put another way, if some of their design decisions were too ambitious for their technical plumbing to keep up with, they should update the design and optimize it for speed. With such a mainstream app, though, you can’t really win. I’m sure if it was only fast and not fancy, it would have been criticized as too bland.
The initial criticism of “The Daily”:www.thedaily.com always seemed overblown to me. It’s not perfect, but they got some of the difficult things right: navigation that makes sense, original content, good layout, clear subscription model.
Off and on for the first few weeks, I would read several articles each day in The Daily. There were a couple crashes and glitches, but nothing that made the app unusable. If no one else had been complaining, I’m not sure I would have noticed anything so wrong it was worth mentioning.
They can make it faster and polish up the rough edges over a few subsequent bug fix releases. And maybe enough of the fundamentals are right that they can get pretty far even without the design changes David suggests.
Now that I’ve “written a few e-book apps”:www.vitalsource.com/, I can say with certainty that getting the basics right is more challenging than it looks. Other traditional companies moving their content to the iPad have launched much farther off-course than The Daily.
A great name to go along with “a big idea from Mike Lee”:mur.mu.rs
I would love to visit Europe again. It’s been too long.
After about a day of using Tweetbot, “I said”:twitter.com/manton/st…
I only got a few responses, most defending Tweetbot as something special. I agree, and there’s a lot to be inspired by from it. In an odd way, though, just being the best Twitter client isn’t enough.
“Marco Arment writes more”:www.marco.org/2011/04/1… (following a “post from Ben Brooks”:brooksreview.net/2011/04/a…) about why Tweetbot isn’t for him despite being such a good client:
The problem isn’t that third parties shouldn’t make full-featured clients; it’s that they shouldn’t make clients that have exactly the same features as every other client. If Twitter discourages all apps from being made just because many will fail, we’ll miss out on all the things Twitter will never add to their apps and platform.
I see three compelling reasons to use Tweetbot 1.0: the design, swipe for conversations, and related tweets. The last is actually in the Twitter API — I’ve been meaning to add it to Tweet Library — but it’s not yet documented outside of an email message to the dev mailing list. Congrats to Tapbots for being the first I’ve seen to add it as a high-profile feature.
Last September I wrote about “next-generation Twitter apps”:www.manton.org/2010/09/n…
I hadn’t announced Tweet Library yet when I wrote that. Now that I’ve shipped it, I believe even more strongly that we haven’t seen anything yet from Twitter apps. Tweetbot is a great 1.0 and my go-to app on the phone because it’s better in lots of small ways than anything else. But that it’s not for everyone is actually great news. I hope there are plenty of unique features still to come from a variety of other apps.
Consider this: Tweetie already “won” the market. No matter what we do as Twitter API developers, none of us can ever have the most popular Twitter app. This frees every app to focus on its core strength. For Twitterrific, that’s a unified timeline; for Echofon, that’s last-read sync; for Hibari, that’s keywords; for Kiwi, that’s themes; for my own Tweet Library, that’s curation.
What’s Tweetbot’s core strength? For now, overall user experience, not standout features. But I’ve been a Tapbots customer long enough that I’m excited to see where they take it.
For more Tweetbot discussion, check out “this collection of tweets I made”:tweetlibrary.com/manton/tw… about the launch.
On a “recent Core Intuition”:www.coreint.org/2011/03/e… Daniel and I talked about version numbers and the message you send by going to 2.0 or 3.0. The version is as much about marketing as it is about technically tracking the release.
I can think of no better example of this than “Acorn 3”:flyingmeat.com/acorn/. The app started simply enough — first as just a new FlySketch, then as a simple image editor, then becoming more advanced with each iteration — but it has really hit its stride with 3.0. The landmark feature, layer styles, alone warrants the bump to 3.0.
Combine with the overall maturity of the app and you get a blockbuster release. Acorn made the top grossing list and was outselling all other non-Apple software. My Twitter stream lit up with good things about the app.
The version number is a part of that. This isn’t a 2.5. The 3.0 is saying: this is big news, and anyone who has maybe heard of Acorn but never tried it needs to give this version a shot.
I’m particularly happy for Gus because he’s earned this success over years. From the archives in 2005, “Gus’s post on being an indie”:gusmueller.com/blog/arch…
One of the first great blog posts about working for yourself writing Mac software.
I’m still working on a longer post about SXSW 2011 — yes, a month late — but until that’s ready, here’s a drawing I made after the conference.
“Iain Broome”:writeforyourlife.net/writing-i… on iPad writing, via “John Chandler”:byjohnchandler.com/:
Most of my blog posts start life on the iPad too. I write them in Simplenote, sync with the Mac to finish the post if it needs editing, then copy to MarsEdit to publish. It’s not completely smooth, but it’s a workflow that wasn’t even possible a year ago.
From a “beautiful post by Craig Mod”:craigmod.com/satellite…
Check out “appappeal.jp”:appappeal.jp for a collection of apps that are donating their profits to the Japanese Red Cross Society. Buy a few. And don’t forget “Developers Against Poverty”:developersagainstpoverty.org/, which needs your donations before the end of the month.
My post on free apps “was linked from Daring Fireball”:daringfireball.net/linked/20… a few days ago. Tons of new traffic, but my site didn’t go down. Why? An ancient but reliable version of Movable Type spitting out static files, with just a tiny bit of PHP for “Mint stats”:haveamint.com/.
“Brent Simmons talks about this lost art”:inessential.com/2011/03/1… of publishing to static files instead of serving from a database:
I couldn’t agree more with Brent’s advice, and in fact I ran this blog on Radio Userland for its first couple of years. In addition to performance, static files are portable. I can pick up this site and move it anywhere. The old web is fragile, and as web sites age, being able to permanently host them somewhere cheap and stable is going to become a big deal.
I hope a modern equivalent to Movable Type emerges eventually. For now, I’m thankful that the only time I have to worry about a web site outage is when a Dreamhost sysadmin trips over a power cord.
Twitter recommended upgrading to OAuth “for optimal security” and so developers don’t need to “worry about the user changing their password”. While I dislike APIs that break old clients, I saw mostly the good things about OAuth, framed around letting the user approve access to their own account.
Seven months ago, as Twitter was finishing the OAuth transition, “Buzz Andersen tweeted this”:twitter.com/buzz/stat…
I’m not sure I got it at the time. Twitter was all about open APIs, right? They encouraged new clients, and the original Mac client Twitterrific had “brought a lot of innovation and standards”:furbo.org/2011/03/1… to the platform. Why would they need this level of control?
“The email from Ryan Sarver”:groups.google.com/group/twi… last week showed part of how Twitter is changing as a company, refocusing from building a network to selling a product. Reading between the lines, it seems that to effectively sell ads, Twitter feels they need to control the user experience. On Twitter clients:
Disappointing. At a panel on the Twitter API at SXSW, that sadly no one from Twitter in Austin knew about, the mood was pretty dim. I said to the room that we expected more from Twitter.
Then over the weekend, Ryan clarified: “we are saying it’s not a good business to be in but we aren’t shutting them off or telling devs they can’t build them.” There’s still plenty of uncertainty, but that’s a more hopeful message. I collected some additional “related tweets on tweetlibrary.com”:tweetlibrary.com/manton/tw…
Many people during SXSW asked me what this means for Tweet Library. Is Tweet Library a mainstream Twitter client? It has all the basic features of a normal client, but no, not really. It’s meant to be something more, something unique that solves problems no one else is working on, least of all Twitter.
I’m a little discouraged, but not enough to stop. I owe it to my customers to finish what I started: to fix bugs, add new features, polish the rough edges, and make Tweet Library the best app on the Twitter platform.
Jens Alfke, “commenting on the new Rdio API”:jens.mooseyard.com/2011/03/d…
Sounds right. “Pure REST”:en.wikipedia.org/wiki/Repr… was never strictly followed, and the advantage to consistent HTTP methods — being able to abstract parts of the client details away, as with “ActiveResource”:api.rubyonrails.org/classes/A… — don’t seem like significant savings to me. Now that XML-RPC and SOAP are mostly dead, we assume that new APIs are going to be usable from any language without much effort. I won’t object to having one less acronym in the world.
Today is the 9th anniversary of this blog. Once a year I dig through old posts, remembering what the industry was like and the topics I was interested in. This time I found a link to a post Evan Williams wrote in 2001 as Pyra Labs and Blogger were struggling:
First of all, the company (Pyra) is not dead, and the service (Blogger) is not going away. However: We are out of money, and I have lost my team.
And:
Yes, things would have been very, very different if the Internet Bubble wouldn’t have burst and we were still in that…that, Other World in which we started. In that world, things that seem dumb now (such as launching a product and letting it grow for so long without making revenue from it a priority) made sense.
The full text is available on the Wayback Machine. I wish more CEOs blogged with even half the sincerity.
SXSW Interactive starts this weekend. When Evan wrote the above, the conference was a few rooms along a single hallway. Now it’s a monster conference, spread across multiple venues, with a speaker database so dense I don’t even know where to start. Still, I’ll be there and hope to catch up with any of y’all making it to Austin.
John Gruber has a solid summary of the issues around in-app purchase. Regarding the closed platform:
iOS isn’t and never was an open computer system. It’s a closed, controlled console system — more akin to Playstation or Wii or Xbox than to Mac OS X or Windows. It is, in Apple’s view, a privilege to have a native iOS app.
This is the root of nearly every strength and problem with the App Store. I’ll never be happy about it. But in-app purchase restrictions are even more complicated than that. It started not just with the controlled environment but the decisions around free apps.
Michael Tsai points to this Peter Oppenheimer quote from late February that Apple runs the App Store at “just a little over breakeven”. I’ve argued that Apple’s 30% tax is about growing that to significant profit at the expense of developers, but in the back of my head I’ve also been concerned that maybe it’s just to keep the App Store from falling into the red. Maybe they are really struggling under the weight of what they created, and long app review times and lack of focus around the Mac App Store launch are just symptoms of that.
If this is true, then I’m more sympathetic to Apple’s predicament. They aren’t being greedy; they’re just trying not to lose money. But that doesn’t mean they didn’t make a mistake.
Steve Jobs, announcing the App Store in March 2008:
You know what price a lot of developers are going to pick? Free, right? So when a developer wants to distribute their app for free, there is no charge for free apps. At all. There’s no charge to the user, and there’s no charge to the developer. We’re going to pay for everything to get those apps out there for free. The developer and us have the same exact interest, which is to get as many apps out in front of as many iPhone users as possible.
I remember being surprised when I heard this. We take for granted now that much of the App Store’s success is because of free apps, but I’m not sure it had to be that way. The iTunes Music Store launched with a full paid catalog of music. Many of the hits in the App Store, like Angry Birds and Doodle Jump, have never been free.
But watching Steve Jobs from 2008, you can tell Apple was worried that what happened to the Mac (lack of third-party apps and games) might happen to the iPhone as well, so they gambled the profitability of the App Store away to encourage as many apps as possible. That was their choice.
Again, from Steve Jobs: “We keep 30% to pay for running the App Store.” Not a profit center. Not a business. Just to pay for running the store, so that the user experience for app discovery on the iPhone is second to none.
Today, we know that Apple has never planned well for free apps. You don’t need to look much further than their reversal of allowing in-app purchase in free apps to see that they are making this stuff up as they go along.
When Steve Jobs said it, offering free apps for so little seemed almost foolish, like Apple was compensating for the high 30% by giving too good a deal to free apps. Why not charge some hosting fee? Or why not give up exclusive distribution and let free apps be installed directly by the user without forcing everything through the App Store? Unlimited bandwidth, promotion in the store, and everything else just for the $99 dev program fee was a pretty good deal.
And now I wonder if Apple hasn’t been backpedaling ever since, trying to make up for that mistake: free apps are a burden. iAd was the first correction, because a share of revenue from free apps was going to Google instead of Apple. In-app purchase is the next correction, because real value can be delivered in a free app with transactions handled elsewhere.
Apple can’t accept a future in which too many apps are technically free — something that has already happened on Android — unless they are also taking a cut when money changes hands outside of app download.
Matt Drance clearly spotted the loophole that forces Apple to be so strict with in-app rules:
30% to Apple across the board — app sales, IAP, and now subscriptions — is consistent, clear, and uncheatable. That cheating bit is significant: a 10% commission for subscriptions, for example, would see developers adopting the subscription system en masse so they could keep more money. Apps that were once $2.99 would suddenly be asking for installments like late-night infomercials.
Apple is trapped by their original decision to shoulder the cost of free apps. They encouraged free apps and now they’ve got one band-aid on top of another — advertisements, in-app purchase, subscriptions — all trying to make free apps work for the App Store bottom line. These changes make developers nervous because all the power lies with Apple.
Free apps and the problem of exclusive distribution are linked. Get rid of free apps, and the store can support itself naturally. Get rid of exclusive distribution, and Apple can be more creative about charging developers who do want to participate in the App Store. If Amazon isn’t happy with Apple’s terms, users can install the Kindle app outside the store and it doesn’t cost Apple anything to maintain.
Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.
I couldn’t be more excited about the iPad 2. Yes, “most of it was expected”:twitter.com/manton/st… but faster and more memory is exactly what the iPad needs. I’ll be getting it on day 1 and can’t wait to give Tweet Library a try on the new hardware.
During the announcement I collected 70 tweets that I thought captured the event. You can “view them on tweetlibrary.com”:tweetlibrary.com/manton/ip…
Speaking of Tweet Library, Apple just approved version 1.2.2. It fixes a handful of bugs and adds a few new things, like block and report spam, for those of you using it as your main Twitter client. Check out the “full release notes”:www.riverfold.com/software/… or view it “in the App Store”:itunes.apple.com/us/app/tw…
I hadn’t yet read “Neven Mrgan’s post”:mrgan.tumblr.com/post/3451… when I wrote “my own”:www.manton.org/2011/02/3… yesterday, but he strikes one of the same themes I closed with:
Of course, neither of us is filling in for Steve Jobs, and Apple can do anything they want within the law. But what Neven captures so well here is that many of us hold Apple to a higher standard because Apple has a history of creating great things. This 30% business model doesn’t seem to have any place in that history.
I believe the iPad is the future of mainstream computing, not just of mobile devices. That’s why I picked it as the first platform for Tweet Library. But forcing developers to use in-app purchase shows that Apple’s version of success for the iPad looks much different than mine.
Apple’s tight control over iOS has always been troubling. If there’s no way to install an app on the device without Apple’s approval, then Apple can make or break any business that builds for the platform. It’s an added risk for the thousands of tiny development shops for which the iPhone and iPad are otherwise perfect.
There was such huge growth in the development community because of iOS that I’m not sure anyone was paying attention to where we’d end up. We saw a new phone instead of the future of computing. We saw the gold rush but not the damage, so we let it happen. We let it happen by not sending Apple a clear message: total control over distribution is bad for developers and bad for users.
And now we’re letting Apple take 30% from every company that wants an iOS app to complement their business, whether it has anything to do with software development or not.
From Matt Drance:
And Marco Arment:
I hope we’re wrong about the worst-case interpretation — I like this Steve Jobs email much more than the reality of Readability’s rejection — but because Apple fails so spectacularly at communication we won’t know for sure until more rejections come in.
I’m not comfortable with a future in which 30 cents on the dollar goes to a single company, no matter whether it’s from app downloads (where Apple offers hosting and discovery) or content sales and web service subscriptions (where Apple offers little). If the iPad grows like many of us expect it to, siphoning a third of the cash flow around everyday computers will create a completely different economic environment than exists today. It’s unprecedented.
And it would ruin Apple. Not the company’s finances, but its focus. John Gruber wonders what he’s missing, and this is it: Apple is embracing a model that is fine for Readability but runs counter to Apple’s core business. The iTunes Music Store wasn’t a business in its own right; it helped sell more iPods. The App Store shouldn’t be a huge revenue stream; it makes the iPhone and iPad better.
Apple’s strength has always been selling a great product to end users — “the rest of us”. The new Apple has fallen into the trap of thinking they should also be an advertising company and an overpriced payment processor. It’s a slippery slope from here to becoming just another mega-corp that has their hands in everything that can make money instead of standing for something.
“John Chandler wrote a nice post”:www.byjohnchandler.com/2011/01/2… on the filters he uses in various Twitter apps. Here’s a clever one for “you missed it”:
As I mentioned in the comments, I have a few filters I like too, such as filtering out all old-style RTs. I even experimented with filtering out all hashtags. It’s great when I want to completely un-clutter the timeline of gimmicky tweets, but I can keep the filter toggled off when I have more time to read.
The advantage of how I built filters in “Tweet Library”:www.riverfold.com/software/… is that they are dynamic collections inside the app, kind of like smart playlists in iTunes. This means while it filters the junk out of my timeline, I can still occasionally go and review what it filtered out.
(I just submitted Tweet Library 1.2.1 to the App Store with a handful of bug fixes. Hopefully it’ll be approved soon.)
With the recent release of “The Daily”:www.thedaily.com and the news of “Sony’s e-book app rejection”:arstechnica.com/apple/new… there’s speculation that Apple will change the rules around iOS in-app purchases. The 30% cut makes it difficult for some businesses to move to the App Store without passing a cost increase on to customers.
Other than “no change”, I’ve only heard two possible solutions:
• Special deals for the big guys. Amazon and other retailers could negotiate lower rates. But as Marco mentioned on “Build and Analyze”:5by5.tv/buildanal… the App Store treats large and small developers as equals. It’s a real strength that a 2-person game company can compete with Electronic Arts. I hope we never lose that.
• Lower percentage for everyone. Not going to happen. Take an app like Twitterrific. I consider it a $5 app, but to the store it’s actually a free app with a $5 in-app upgrade. Lowering the in-app cut would encourage many previously paid apps to convert to free and pay less to Apple.
This is why I believe the only option is for Apple to distinguish between in-app content and features. Content purchases, such as e-books or virtual game items, would be in one class of payment. Feature upgrades, such as unlocking core functionality in the app, would continue to be 30%, same as paid downloads.
Is it confusing for developers? Is it totally subjective and up to the judgement of the review team? Yes. Welcome to the App Store.
The Mac App Store launched! Like many developers I spent the day taking it out for a spin, thinking about whether this changes everything, and trying to ignore the fact that my app Clipstart isn’t in the store on day 1 even though “I submitted to Apple 7 weeks ago”:www.manton.org/misc/clip…
But let’s talk about Apple’s 30% cut, because it’s been on my mind now that I have a real app in the iPad App Store. It’s easy to keep these discussions too vague to be meaningful — 2.9% + $0.30 for PayPal, 8.9% for FastSpring, 30% for Apple, who cares? — so it’s more illustrative to work with real numbers.
The massively-popular Camera+ from Tap Tap Tap “sold 78,000 copies on Christmas day”:www.macrumors.com/2010/12/2… but no one else I know sees numbers like that. My own $10 Tweet Library fell a little short of 1000 copies in its first launch month… and unfortunately continued to drop since, but let’s use that to keep the math simple. Selling direct via PayPal would be $590 in fees. To Apple? About $3000.
Apple provides a unique service and it’s their right to charge whatever they want. Developers can choose to pay it or restrict development to more open platforms. I’m inclined to think the 30% is high but not unreasonable for everything Apple hopes to provide.
But here’s where everything breaks down: for $3000 I expect someone at Apple to tell me what the $%!# is going on.
It’s not just review times, or emails that go into the void, unanswered for days or weeks or ever. It’s that Apple isn’t able to communicate about the fundamental issues that will make or break businesses.
• When is the Mac App Store launching? No word from Apple for months, and a press release went to news sites before developers got a heads-up.
• Why has my Mac app been in review for over a month, right up to the very day before the Mac App Store launches? No answer, and nothing to do but wait.
• Where was a beta version of the Mac App Store so that we could understand how it interacted with existing apps before it was too late? Nowhere.
• Why didn’t we receive more “guidance on bundle IDs”:openradar.appspot.com/8838369, version numbers, and app naming, obvious questions that only Apple knew the answer to? No clue.
• When will there be promo codes for the Mac App Store to give to the press or help transition customers to the store? No idea, might be never.
A year and a half ago “Craig Hockenberry wrote about paying extra”:furbo.org/2009/07/1… for fast approvals and a better communication channel. It reflected in words how frustrated everyone was over long app review times. At the time, “I answered”:www.manton.org/2009/07/9… that quality customer service from Apple is something all developers deserve, not just those with cash to burn.
But clearly it’s even worse than that. Apple isn’t currently capable of significantly improving how the App Store works for any price! The App Store does get better, but it does so at Apple’s own pace.
There are many great people at Apple. Individually I know they are passionate about making good products and helping developers succeed, but collectively it seems like no one person is running the show. The developer-facing side of the company needs to have the freedom to become more transparent, to work closely with the iTunes Connect support team when developers need an answer. Apple’s secrecy cripples their ability to have a positive relationship with developers.
So do I think the 30% cut is too much? No, not for a straight answer. That would be priceless.
Two new bundles were announced this week: “The Indie Mac Gift Pack”:indiemacgiftpack.com (6 great Mac apps for $60) and the “Fusion Ads Holiday Bundle”:fusionads.net/bundle/ (an assortment of web design-related apps, icons, and more for $79). I love apps in both of these bundles and recommend you check them out, buy what you need, or gift them to a friend. There’s a fear among many developers that a bundle can cheapen the healthy Mac software market, but both these bundles avoid that with a higher price and the feel of being put together carefully.
As a comparison, here’s a “Macworld article on holiday bundles from 2009”:www.macworld.com/article/1… That collection seems kind of random despite several good apps in the list.
And sales for the Indie Mac Gift Pack are split evenly to the developers, so we know it’ll be a nice revenue boost for them during the holidays. From the FAQ:
I’ve never participated in a bundle, but after some of the “MacHeist controversy”:homepage.mac.com/simx/tech… I developed a set of rules that I run Riverfold promotions on. These are the easy things that I can always say “yes” to without much thought:
Coupons are great. My coupons rarely expire and I don’t care if sites like “retailmenot.com”:www.retailmenot.com keep a list of them. Saving a few bucks might be the difference between someone buying my software and not.
Giving out software to bloggers is great. Inspired by “Wil Shipley’s C4 talk”:www.viddler.com/explore/r… I’ve “blogged about this”:www.manton.org/2008/04/w… Apple employees get free licenses too.
Small promotions are great. I freely give out copies to small sites that want to give away licenses of my software to encourage people to post comments. I think readers interpret these (correctly) as software developers doing something generous for a small site, instead of the gut reaction when you see software listed on MacZot or MacUpdate Promo (“are sales so bad they had to sell their software for half price?").
Charity is great. I loved being a part of “Indie+Relief”:www.indierelief.com/, the Pan-Mass Challenge auctions, and other bundles that go directly to a cause. Just like smaller promotions, these are good for users (deals on software), good for developers (helps with marketing), good for charity (donated money), and good for the software market (these aren’t developers who are making a sacrifice because their sales aren’t doing well — it’s charity).
Now that I’ve seen a bundle like the “Indie Mac Gift Pack”:indiemacgiftpack.com, I think I can more clearly judge a unique bundle opportunity when it comes along. Does it minimize the middleman? Does it respect the individual apps as peers? Does it use the total bundle price to underscore the value of software rather than cheapen it? Then it’s probably a good deal for everyone.
On “episode 35 of Core Intuition”:www.coreint.org/2010/11/e… I mentioned attending the 360iDev conference, and we brought it up again on the next show while plugging 360MacDev. I had a great time at the conference and hope to attend another one in the future.
The best part was meeting all the iPhone developers who I’ve never crossed paths with, and catching up with others I’d only met briefly before. iPhone developers come from a mix of places, from old Mac developers to web developers to traditional mobile or game developers. While there’s a risk that having so many small regional conferences will fragment the community, this concentrated group of mostly iPhone-only developers made for a great few days of sessions and discussion.
And my main concern leading into the conference — that the hotel location would make it difficult for people to head downtown or see other parts of Austin — turned out to be mostly a non-issue. I had a great time hanging out with everyone in the evening, and hope some of you will be back for SXSW.
I used Tweet Library to “collect about 120 tweets from attendees”:www.tweetlibrary.com/manton/36… at the conference: reaction to sessions, quotes, speaker slide URLs, dinner out, and more. Capturing an event like this is why I built the app. What you had for dinner isn’t interesting by itself, but in context it is powerful because it tells a story.
In an “interview with Kevin Hoctor on episode 5 of the iDeveloper Live podcast”:ideveloper.tv/shows, Scotty referenced my comment from Core Intuition that customers are so used to terrible support that they don’t mind a few days or even a week delay. I thought this was maybe taken out of context a little since we were talking about vacations, so I went back to listen to what I said:
Of course I didn’t mean I strive for week delays before a customer gets a response, but looking back I think Scotty’s interpretation was right: in a way this was a confession that I’ve fallen down when it comes to support. My response times for Tweet Library questions are still very good (usually same day), but it’s dragging for my other products. Even when I’m quick to respond to an initial email, difficult follow-up questions often won’t see an answer for some time. I’m just not as responsive as I was when I wrote “this blog post about good support in 2007”:www.manton.org/2007/02/c…
The worst part are the emails that fall through the cracks. They are on their 2nd or 3rd response to a problem that I don’t understand, or they’re waiting on a solution that isn’t ready, and months go by before I can pick up the thread again. I hate this.
I’m going to use this opportunity to get back to where I should be: less than 24-hour response in all cases, for all products. I’m adding a “stats section to my support page”:www.riverfold.com/support/ to keep me in check, and I’ve seeded it with response times for the most recent support questions via email and forums. This will also give customers an idea of what to expect without an explicit promise from me.
“Marco Arment wrote an interesting piece”:www.marco.org/143215691… on the Mac App Store shortly after it was announced. I was nodding my head in agreement for much of it, until I got to this part:
He makes great points, and I think his assumptions about Apple’s rules are correct. But newcomers dominating the store? And $1 apps as the second most popular price point on the Mac? I’m not convinced.
Many iPhone app hits lend themselves to a mobile environment, but the Mac is different because people usually buy computers to get work done. You don’t have your MacBook Pro with you while you’re waiting in line at the grocery store. You don’t have it at a party when your friend tells you about the latest game. You don’t hand your computer to your kids when they’re bored in the car and want to play Angry Birds.
If $1 apps will be so common on the Mac App Store, why aren’t they common on the iPad? In the iPad top 10 right now there are only two 99-cent apps. Prices around $2.99 or $4.99 are much more common, and there are plenty of $10 apps as well in the top paid and especially top grossing lists. The iPad app making the most money right now is a $20 music app called “djay”.
I think $10-$20 will be pretty common on the Mac App Store, but not $1, and not even $2 or $3. Something that’s priced so cheap sends a clear message on the Mac: this app is useless and should have been free.
As I said recently on “Core Intuition”:www.coreint.org/, I absolutely wish all the best of luck to iOS developers and designers moving to the Mac. I had a great time hanging out with a mostly iOS group at 360iDev last month; these guys are ambitious and smart and bring innovation to the platform because they don’t have the baggage that the rest of us have. 2011 will be a fantastic year for new Mac software and for indie developers!
But take a good look at some of your favorite apps for iPhone and iPad and you’ll see that for the most part they lack the depth to compete with established Mac software. The workhorses on your Mac — text editors, image editors, file transfer apps, version control clients, web site tools — won’t be knocked off by new competition easily.
Maybe 10.7 Lion will be a revolution, but when the Mac App Store first launches on 10.6 it’s going to contain familiar software at familiar prices.
Apple’s announcement yesterday of a Mac App Store is big news. As soon as the event was over, journalists reached out to developers to get feedback on what it means for existing Mac shops. Reading the variety of responses is fascinating to me, and I contributed some quotes for articles in Macworld and Cult of Mac. There’s also a write-up on Ars
Here’s Wolf’s take on the guidelines:
My fellow Mac developers are laughing at the Mac App Store guidelines. They’re reporting that apps they’ve been shipping for years — a number of them Apple Design Award-winning — would be rejected from the Mac App Store. These are proven apps, beloved by their users. The current guidelines are clearly out-of-touch.
Every developer I’ve talked to uses at least some private APIs on the Mac, often to work around bugs or limitations in current APIs. It’s disappointing that the Mac App Store is shipping before 10.7, because 10.7 would be a good opportunity to find out why developers still need private APIs and bake support directly into the next version of Mac OS X to solve common issues.
Can you imagine such rock-solid apps as BBEdit or Transmit being rejected from the Mac App Store? It’s going to be a lonely launch day full of hasty iOS ports if Apple doesn’t show some common sense when approving Mac apps.
Before I released “Tweet Library”:www.riverfold.com/software/… I talked to everyone who would listen about the price. Several people suggested I go with a free app, but use in-app purchase to upgrade to the full version. Two apps that handle this well include “Twitterrific”:twitterrific.com and “SimpleNote”:simplenoteapp.com/. Countless games also take this approach.
It’s the closest thing the App Store has to demos, but it comes at a cost: anyone can leave a 1-star “too expensive” review of your app without even upgrading to the full version. At that point they are not even rating the app they downloaded (a free, limited version that probably works just fine); they are simply commenting on a portion of the app they didn’t want to buy.
There are two ways to give me feedback about Tweet Library:
If you purchased, tweeted, blogged about, rated, or mentioned Tweet Library thank you. I’ve been very happy to see how well it is being received. I built this app because I wanted to do more with Twitter, but I didn’t really know until it was released if anyone else would care.
The truth is, I released it a tiny bit too early — there are a few annoying bugs that I’ll need to fix soon for 1.0.1 — but it was a long development cycle, and faced with getting burned out on a project the only thing I know how to do is ship it. Then I can use the reaction from real customers to tell me if I’m on the right track and where to go next.
I’ve already blogged about the pricing and viability of third-party Twitter apps, though I hadn’t officially announced the app yet:
Tweet Library has only been out for 3 full days, and I don’t want to jinx it, but so far this theory is holding. The app went to #2 for top grossing iPad apps in social networking in the first day. I didn’t expect that, but at $10 I can see how it might happen. Then it also climbed to #2 in top paid iPad apps in the same category, and stayed there for a couple days before dropping to #3 as I write this. The only other Twitter apps in any of the top 10 lists for iPad are Twitter’s official app and TweetDeck, both free.
Let me repeat that because it kind of blows my mind a little: Tweet Library has been the best-selling iPad Twitter app since it was released.
How did I successfully ship an app in a crowded market at literally 2x the price of any other app? Two things:
Refuse to compete on price. I felt so strongly about this that I was willing to launch and fail. If the App Store couldn’t support $10 Twitter apps, then I would bow out. I saw in a comment on TUAW that someone would wait until the price lowered, but I hope to avoid the pricing gimmicks common to the App Store. There’s no intro price for Tweet Library, and the price is not going to change. I believe consistency is the best long-term plan for app pricing.
Market the app as something new first and yet another Twitter app second. I believe the key to selling Tweet Library is to focus the marketing around what makes it special: archiving tweets, curating tweets, filtering tweets. Yes, you can also post to Twitter and see mentions or reply to DMs, but that is just the price to get in the door. Tweet Library doesn’t do those common tasks perfectly yet, but customers seem willing to cut me some slack because of all the other unique features that the app offers.
So, up next I’m going to fix bugs, and I’m going to add features, and I’m going to listen to customers. I’m sure it will soon drop out of the top 10 and other Twitter apps will take its place, but I feel like the launch was strong enough to prove that I’ve got something. I intend to carve out a little niche in the Twitter market and execute on it.
I submitted my new iPad app to Apple earlier this week. It hasn’t been reviewed yet, but Ryan Irelan has been using the beta to curate a “collection of ExpressionEngine conference tweets over on the EE Insider blog”:eeinsider.com/blog/eeci… The app may still only be in the hands of my friends and beta testers, but it’s great to see how it could be used in the real world.
So that’s one feature of the app: grouping tweets together around topics, events, conferences, categories, whatever, and then publishing them with one click so they can be shared with friends and indexed by Google. There’s more of course. I’ll be getting the marketing web site up soon, and a screencast too, hopefully before the app is approved! Although I’m quick to complain about App Store review delays, in this case I’m counting on a week delay so that I can get my act together.
He snuck it in under a commentary on Alex Payne’s excellent “last post about Twitter”:al3x.net/2010/09/1… but we now have a “Birdfeed postmortem of sorts from Buzz Andersen”:log.scifihifi.com/post/1144… I’m particularly interested in where Buzz thinks the Twitter app market is going:
It seems nearly everyone thinks competing with Twitter’s official app is a bad idea. “Here’s Tapbots revealing Tweetbot”:tapbots.com/blog/busi… shortly after the Tweetie acquisition:
I think the problem isn’t trying to build any Twitter app. The problem is building a mainstream Twitter client. The official iPhone and iPad apps, plus the redesigned web site, are so good that it’s futile to go head to head with them. You can’t undercut on price, and they are so well coded you’d need a talented full-time team to out-engineer them.
As I said in “my last Twitter post”:www.manton.org/2010/09/n… the trick is to look past the API. What would I want Twitter to add to the platform if I had my way? Design an app around that and you might have something interesting.
The theme in Buzz’s post that resonated the strongest with me is the emotional drain that building an app like this can have. The competition is intense. There’s a feeling that if you don’t have every little feature when you ship, you’ll be laughed out of the App Store. That is certainly on my mind, especially as “I intend to push the price”:www.manton.org/2010/06/1… in this market, and even with beta feedback I’m still not sure how my app is going to be received in the real world.
Although I had worked a little on iOS apps before, updating an existing app for the iPad and tinkering with unfinished apps, the first 1.0 for iOS that I played a significant role in just shipped last week: a “mobile version of Bookshelf”:itunes.apple.com/us/app/vi… for VitalSource. The iPhone version has been in development off and on for a while, but I took over the project fairly late in development, with a coding frenzy through the summer as we switched file formats and scrambled to finish in time for fall students.
Today the app broke into the App Store’s top 25 for free Education apps.
It’s designed for existing VitalSource customers, supporting both our file formats (for XML-based reflowable content or PDF-like fixed layout), with synced highlights, figure search, and offline access. At its core the app is 3 parts: a large C++ codebase, brand new Objective-C UI code, and a bunch of clever WebKit and JavaScript work. In many ways it’s a more difficult project than my other iPad app (still in development), but some great coders contributed to different parts of the architecture, before and after I joined the project.
Nearly 10 years ago, when I was hired at VitalSource to build the Mac version of our e-book reader, we delivered textbooks on DVD-ROMs and our technology was years ahead of everyone else. Today, and especially post-iPad, the market is a lot different, with some beautiful competition like “Inkling”:itunes.apple.com/us/app/in… Bookshelf for iPhone wasn’t first to the App Store, but it inherits an existing user base, strong platform, and large book inventory. I like VitalSource’s chances.
I like “Seth Godin”:sethgodin.typepad.com/. I haven’t read all his books, but I really enjoyed “The Dip”:www.amazon.com/gp/produc… and “Tribes”:www.amazon.com/gp/produc… They were quick reads (I got the first on audio, the other in print). He seemed to crack the problem of getting a business book down to its core idea and not using any more pages than needed.
So it surprised me when I picked up his latest, “Linchpin”:www.amazon.com/gp/produc… and months later I’m still not even halfway through. There’s nothing wrong with the content; I like what I’ve read so far. But it doesn’t flow the same way his other writing does, and at twice as long it doesn’t have the same structure.
Finally I realized I was doing it wrong. The best way to approach Linchpin is non-sequentially. Now I just jump to any random page, read a few profiles for the people and companies he uses as examples, and then 5 minutes later put it down again. I get just as much out of the book, but without the guilt of staring at the remainder of unfinished pages.
“Via Daring Fireball”:daringfireball.net/linked/20… I’m loving “this blog and idea”:sparkabout.net from newlyweds Simon Willison and Natalie Downe, who are traveling the world on a working honeymoon:
In 1999, Traci and I took a similar but shorter 2-month vacation to Europe where we both worked remotely. This was before wi-fi, so much of the destination planning centered around pay-by-the-hour internet cafes or reliable hotel phone lines for dial-up. Lots of backpacking, cheap rooms, and trains and boats between 6 countries. We were constantly broke and our accommodations varied between the crummy (freezing showers at a hostel) to the beautiful (freezing showers with a Mediterranean view), but those were easily some of the best weeks of my life. At the end of the trip we got engaged and came back to America to get married and have kids and never leave our neighborhood again.
Someday we’ll go back.
I feel bad admitting it, because some of my friends are betting on iAd revenue to feed their family, but I’m just not on board with Apple running an advertising network. I don’t want to see ads in my apps, and I don’t want Apple to ever lose even a little of what it means to be a product-driven company.
We talk about this on Core Intuition. Nearly every chance I get I like to point out that all these free Google apps come at a cost. Take this tweet from last year:
And this comment on MetaFilter:
Some apps should absolutely be ad-suported (such as a search engine or social network), and many can be freemium (free versions supported by higher-priced subscriptions), but when given a choice I’d rather pay a fair price for a good service. When your customers are not your users, the product will suffer.
I know the world is full of ads already. We’re used to it — numb to it, maybe. But think about what the App Store has done: millions of people are paying real money for apps that complement ad-supported web sites. These same people would never pay a subscription fee to use the web site, but they’ll pay a few bucks for the same features in an iPhone app and it seems perfectly normal.
Do we really want to give that marketplace up? Because once it’s gone, and iAds are the norm, it will be an uphill battle to get anyone to pay for anything.
I’ve been thinking about and playing with the official Twitter app for iPad since its release last week. The best praise I can give Loren Brichter and his team for the UI “stacking” breakthrough is: I wish I had thought of it.
But it’s clear after an informal survey of friends, and listening to folks on Twitter, that the UI might be too clever for its own good. Many people can’t quite figure out if they love it or hate it. And on top of the UI risk, Twitter for iPad doesn’t bring any new features to the table.
Third-party Twitter clients won’t be wiped out by this. So now what?
The first Twitter clients (led by Twitterrific for Mac) provided a quick way to check on your friends without visiting the web site. The second batch of Twitter clients (mostly on mobile) provided a full replacement for the site.
I believe we’re about to see a third generation of clients that will go way beyond what the web site can do. There was worry when Twitter bought Tweetie that it would destroy the third-party Twitter market, and sure, some developers will fail or be discouraged from trying to compete against a free official product. But really what it does is raise the bar — that to succeed Twitter clients should be more than just a one-to-one mapping between UI and the Twitter API.
One feature is filtering. “TweetAgora for iPhone”:tweetagora.com has muting and an interesting live aggregation view, like a client-side extension of Twitter lists. “Hibari for Mac”:www.hibariapp.com recently shipped with an attractive UI and keyword filtering, muting, and integrated search results.
And there’s other stuff I want to see, like archiving tweets and better search and curation beyond simple favorites. I’ve been working on some of these too, in a brand new iPad app for Twitter. I can’t wait to share the details as it gets closer to release.
Not unlike “Marco’s post on the subject”:www.marco.org/208454730… my hope is that free apps and paid apps compete in separate worlds of the App Store. When Twitter for iPad shipped it jumped to the number 1 spot in free apps, but maybe you don’t have to compete directly with that. Maybe if you hold your ground somewhere in the top paid list, that’s enough to find an audience.
Jason Fried, “from a recent interview”:37signals.com/svn/posts… “Interruption and collaboration are different things.” If you haven’t listened to a Jason Fried talk recently, this one covers a lot of good stuff.
I also like “episode 19 of their podcast”:37signals.com/podcast/ which is edited from a live recording of a planning session for Rework. My first impression of Rework was that it was too finely edited — that to get to the essence they threw away too much material. I wanted to hear more case studies from their business, approaches that worked or didn’t, and lessons learned.
But I’ve flipped through the book again, a few months later, and it holds up. I don’t know if it was intentional or not, but the lack of filler text gives it a certain timelessness. Each chapter is one core argument, and whether that topic resonates with the reader or not depends entirely on what you and I bring to it from our own job experiences.
Today, Twitter starts “shutting down basic authentication”:countdowntooauth.com for the Twitter API. One of my favorite Twitter clients, Birdfeed, will be allowed fewer and fewer requests until finally at the end of the month it stops working. Likewise for Birdhouse and Twitterrific 2. And the same for my “Wii Codes”:wiitransfer.com/codes/ site, until I have a chance to update it.
“Dave Winer wrote a fairly negative essay”:www.scripting.com/stories/2… a few months ago on this so-called OAuthcalypse:
I didn’t want to agree with him at first — I’m a big fan of nearly everything Twitter does — but it’s a fair question to ask whether backwards compatibility is getting the attention it deserves. Software moves fast, but this kind of thing hurts users, not just developers.
In the desktop world, OS APIs are unlikely to change so severely, and if they do you always have the option to run an older version of the OS or app indefinitely. For web services, though, you can’t keep an older copy of the internet around. Web apps are forced upgrades.
I’m not sure there’s a solution to any of this. It’s just part of tech progress, like moving data from old floppy disks to CDs to hard drives to the cloud. But it’s a bummer when apps get left behind as APIs are obsoleted. Over-aggressive deprecation was common in the Rails world, and “I was not a fan”:www.manton.org/2009/01/r…
So, here’s to the future, Twitter. Keep new API changes versioned and maintain the old stuff. If this OAuth switch is a one-time cost, developers can focus on what makes their apps unique instead of always playing catch-up.
The sort of odd “best of both worlds” balance in my different projects at “VitalSource”:www.vitalsource.com and as a solo shop is that I love working with a team, and I also love working alone. I mean really alone, doing the planning and design and coding and marketing. I’ve resisted farming out any piece of my apps at “Riverfold”:www.riverfold.com (except the application icon) so that I can have complete control. It’s brutally hard sometimes, but it’s mine.
If you’re working by yourself and add another person to the project, a funny thing happens: you become a manager. Before, you could spend 100% of your time on the work. Now you can allocate 50-75%, because you’re getting the new programmer up to speed, answering questions, and setting priorities. If you’re lucky (and I usually am), the person you added is contributing so much that it easily makes up for your loss in productivity, and then some.
The trade-off is worth it. Exchange the previous low communication overhead for extra coding man-hours.
You can build something great with a team, something that would be impossible alone, if you surround yourself with people who are better at your job than you are. I love that first moment when a team doubles in size from 1 to 2, or 2 to 4.
But after the initial frenzy of coding and emails and new features, I usually get burned out again. The project doesn’t strictly need me anymore, and I’m ready to get back to starting an app from scratch, when the scope is so small that the whole thing still fits in my head.
I like this paragraph from a “long post by Mike Lee”:le.mu.rs/motherfuc…
As I mentioned on a recent “Core Intuition”:www.coreint.org/2010/06/e… episode, I have a really hard time remembering who I meet unless I read their blog, or follow them on Twitter, or have heard about their reputation. None of these were true when I first met Mike Lee, walking to pizza one night at C4[1]. I didn’t even know at the time that he worked at Delicious Monster. But it didn’t matter because he essentially opened with: “I was hit by a car last week.”
Bam! World’s toughest programmer indeed, and now I’ll never forget his face or the conversation. We can’t all be as relentlessly passionate and memorable as Mike, but there is a lesson here in personal brand: finding what sets us apart from every other programmer and letting that shape our voice and the projects we work on.
“Mike Rohde racked up $190 in iTunes in-app purchases”:www.rohdesign.com/weblog/ar… without knowing it, blaming an app called “Fishies”:itunes.apple.com/us/app/fi… by PlayMesh for tricking his son into purchasing virtual items without a password prompt. He was obviously pretty upset — I would be too! — but calling it a “scam” probably goes too far. So what really happened?
It is fairly well known that after the App Store prompts for your iTunes password, you can download more apps for a certain length of time (at least a few minutes) before it requires a password again. What seemed less clear is that this applies to in-app purchases as well.
To be sure, I ran a test to confirm the behavior:
I doubt the developer of this app did anything wrong. A reasonable argument could be made that iTunes should either not cache passwords at all, or keep a separate cache for app downloads vs. in-app purchases, or maybe always prompt for a password on in-app purchases. My kids and other kids I know have also used this backdoor trick to sneak a couple app downloads, but usually it’s a few bucks, not $190. Consumable virtual items (that you can keep buying over and over) make this problem much worse.
On “episode 60 of This Week In Startups”:thisweekin.com/thisweeki… Jason Calacanis interviewed ngmoco founder Neil Young about the mobile game business, focusing on the hit iPhone/iPad game “We Rule”:werule.ngmoco.com/. I was stunned to learn from the show that some individuals spend not only hundreds of dollars but up to $10,000 on in-app purchases in We Rule. Neil Young was happy to take their money, but something feels wrong here, like a gambling addiction gotten way out of hand. Or maybe just kids running up their dad’s credit card bill.
Alright, it’s been 2 weeks. How does the iPhone 4 hold up?
For me, there was less urgency to this launch then for previous iPhone releases. I wanted the 3GS on day one (video recording!) and of course I waited all afternoon for the original iPhone (shiny!). Likewise I couldn’t wait for the iPad. This time I viewed iMovie and FaceTime as the killer apps. Sign me up!
But I wasn’t willing to wait all day. I tried the same approach that had worked great for the iPad: show up late in the day after the madness has settled down. No luck this time. I waited about half an hour, then came back before closing and waited a couple more hours to get a voucher for the next day. Total wait time about 3.5 hours over 2 days and 3 visits.
To get it on day 1, most people waited 6 hours. I’m sure “John Gruber’s story on Flickr”:www.flickr.com/photos/gr… was common too.
This was Apple’s most poorly-managed launch I’ve been to. The 3GS line was pretty fast. For iPad it was extremely quick — in and out in half an hour. I mostly blame the extra step of requiring activation in-store, but there were enough problems that I think this whole thing was mismanaged somewhere.
Some of the inconsistent messages I heard depending on which Apple Store employee I talked to:
Anyway, the phone. It’s the best phone I’ve ever seen. No question.
Now that some time has passed, I think I can comment on the reception issue. It’s real. Outside my house, I don’t notice it. But my street is a notoriously bad dead zone, and while I don’t get any more dropped calls than I used to, I can no longer hold the phone in the palm of my left hand when using mobile Safari. It’s pretty frustrating because I’ve been holding the phone this way for 3 years. It’s awkward to break the habit.
Having said that, I’ll close with the same thing I told strangers who came up asking about the phone. It’s easy to overlook the reception issue because of how great the rest of the phone is, and all existing iPhone users will love the iPhone 4. Eventually I’ll just cave in and buy a bumper.
I’m fascinated with App Store pricing. There’s just so much interesting stuff going on:
(I’m a big Campfire fan, actually. The best iPhone client for Campfire, Ember, has a permanent spot on “my home screen”:www.firstand20.com/homescree…)
My first indie iPad app, a 3-4 week project that has stretched to 3-4 months, will also be $10. At that price it will be twice as expensive as its competition. I’m pricing it that way for three main reasons:
Marco Arment wrote about this as “App Store B”:www.marco.org/208454730 in October last year:
We’re three months into the iPad, just passed 3 million devices sold, and not every app has dropped to near-free. I think $10 iPad apps in particular are going to remain pretty common.
I like “this Flickr set from Brent Simmons”:www.flickr.com/photos/br… showing the stages of building NetNewsWire for the iPad. It’s exactly the process I’m going through right now with my new app. Get some placeholder views and tables in there, then iterate, each time filling in more of the missing pieces.
iPad interface design is also proving to be much more difficult than I thought it would be. Concepts that work on the iPhone don’t necessarily translate to the larger device, and there are very few iPad apps to draw inspiration from. There’s no standout app from Apple’s lineup either, at least not in the way that iTunes 1.0 defined nearly every Mac app to follow. With the exception of some very basic ideas like splitviews collapsing in portrait mode, and a generous sprinkling of popovers, I’ve yet to see much consistency from new touch apps.
Apps that have had the biggest influence on me so far: from the iPhone, Birdfeed and Pastebot; and on the iPad, Mail and Twitterrific. Send me a reply “on Twitter”:twitter.com/manton if you have any other recommendations.
My first reaction when I started reading “The Kids Are All Right”:daringfireball.net/2010/04/k… on Daring Fireball was: Well, I had to disagree with a John Gruber essay eventually, might as well be this one. There was no developer program fee when I started building Mac apps! You could write whatever you wanted and share it with friends.
But then I thought more about the $99 hurdle. What was I doing as a teenager and would the procedures Apple has in place now have stopped me? (For context, I’m 34.)
I started programming for the Mac with THINK Pascal, a beautiful little development environment. Then I moved to C with Dave Mark’s book, which came with a C compiler on a floppy inside the back cover. Eventually I saved up and bought Symantec C++. Even at an educational discount these were expensive compared to the free Xcode of today.
At that point I’m pretty heavily invested in the Mac, but the killer was the documentation. I’m sure I spent hundreds of dollars on “Inside Macintosh”:en.wikipedia.org/wiki/Insi… books. Our senior year in high school, my friends and I would meet at a restaurant before class for coffee and breakfast. I remember I’d get there early and sit in the booth with one of my oversized volumes of Inside Mac, taking in too much caffeine for my own good while I devoured every page, even the advanced topics that were still over my head.
I lived and breathed this stuff pretty heavily for a few years. To imagine letting a $99 iPhone dev fee and some locked-down APIs prevent me from building apps is laughable. Great computers inspire people to build new software. That’s how it was when I got my first Mac, and I’m sure it’s that way for the new generation of young iPhone and iPad tinkerers.
One day I hope the App Store will be more open. But it is what it is. I’ll point out where I think Apple can improve, and then I’ll build and ship anyway. It makes no sense to sit around and complain on my blog about the good old days while some kid half my age is taking his or her idea all the way to the top of the App Store and owning the platform of the future.
It appears I was too optimistic “in my last post”:www.manton.org/2010/03/2… about the App Store getting better.
The iPhone version of Snowtape, in development for months, “was rejected”:www.vemedio.com/blog/post… because it could let users record and share audio from the internet:
The developer removed the ability to transfer audio files off the phone and then Apple let the app through.
Then there’s this post “on the developer forums”:devforums.apple.com/message/1… about an iPad app rejection because they recreated a UI innovation from the new Photos app. Apple said:
I’ve been doing a bunch of iPhone and iPad development this week. The more I work with it, the more I love the platform. But it just takes a couple rejections to sour the whole experience.
And yes, I realize I’m posting this on one of the most exciting days in the history of the App Store. The first round of iPad apps hitting the store today look fantastic.
Three years ago “I wrote the following”:www.manton.org/2007/02/c… about customer support:
Seems reasonable, but the fact is that many small companies are struggling to keep up with the support load. “Jesse Grosjean recently downgraded”:blog.hogbaysoftware.com/post/4681… his support expectations for customers. From the official site:
I’m a huge fan of Jesse’s TaskPaper and his minimalist approach to Mac development. He is very honest with customers and encourages participation starting with early beta versions.
But it can be damaging to set support expectations too low. Here’s what a support page says about support in “Pastebot”:tapbots.com/software/… another one of my favorite iPhone apps:
This seems slightly backwards to me. The questions in the FAQ are the easiest to answer! I respond to those immediately. It’s the hard questions for which I don’t have a good answer yet that usually take the longest time or are more likely to fall through the cracks.
Is the weight of support for iPhone developers just too much? TaskPaper and Pastebot are both very popular. I guess we can all hope to be successful enough that we find out.
Meanwhile, I had a question for “Beanstalk”:beanstalkapp.com yesterday and received a response in just 19 minutes and an additional follow-up response in under 10 minutes. I like to show off impressive companies, so I tweeted how fast their response was. “Their answer”:twitter.com/Beanstalk… to my tweet? “We’re usually faster.”
Yep, that’s the right attitude. Set your standards high.
“At VitalSource”:www.vitalsource.com we now have a dozen Xserves running Ruby on Rails and a couple others running MySQL. While it’s mostly stable now, over the years there have been several mystery show-stopper problems that no one seems to have on other platforms.
Which is why I found this “quote from Rentzsch”:rentzsch.tumblr.com/post/3168… so interesting:
It seems kind of wasteful, but Mac OS X Server really is overkill most of the time.
Related: over the weekend I checked into “Heroku”:www.heroku.com/. I’m impressed with what they have built. If it works as advertised, I think I’ll supplement my Dreamhost stuff with Heroku any time I need a Ruby backend.
I’m of two minds about “Trade-Off”:bit.ly/beDE2m by Kevin Maney. I picked up the book mostly on the strength of its tagline: Why Some Things Catch On, and Others Don’t. The Ever-Present Tension Between Quality and Convenience. Pretty good, right?
The premise is great — that you have to choose when building a business whether to have an expensive, high fidelity product or a less expensive, more accessible product. Trying to do both usually leads to failure. It’s like when I see an application marketed as “easy to use, yet powerful!” That’s often a red flag that it is neither.
My issue with the book is that, like most business books, it simply drags on too long. What should have taken a couple days to read turned into months of slogging through a few pages at a time. There are some great stories in the 200 pages, but the idea behind the book, which is captured on the cover of the book itself, gets repeated over and over. It’s almost like Maney copied and pasted some of the key points and scattered them throughout the book as filler.
37signals said that in the final draft of “Rework”:37signals.com/rework/ they cut the page count nearly in half, and I think some deeper edits in Trade-Off would have helped too. Take the first 20 pages to explain the idea, and then another 80 pages of case study chapters with anecdotes, stories, and interviews. Done.
Complaints about the size and structure of the book aside, though, I got a lot out of Trade-Off. While Maney often strains to fit the book’s core on top of successful or failed businesses that are too complicated to be applicable (I didn’t appreciate the Newton-bashing), he makes some great points that helped me put my own app “Clipstart”:www.riverfold.com/software/… in perspective, and will likely change how I market and build new features for it.
I noticed a couple tweets last month about fast, less than 24-hour review times for iPhone app submissions. After I tweeted it, a whole bunch of other people came forward with similar stories. Apps going from submission to ready-for-sale in 12 to 24 hours.
The App Store is still fundamentally broken in many ways, possibly beyond repair depending on who you talk to, but there’s no question that fast review times are great for developers. Even if the progress stops with this, it’s a significant improvement to the App Store process.
Is it just for established devs? Just for minor bug fixes? It’s not the latter, since some of these were brand new apps. The question is whether this was a change for a certain class of developers and apps or whether it represents an overall speed-up to the review process, and maybe even a hint at prepping for the iPad launch.
Review times are a big deal and they’ve gone mainstream. Opera Mini has a very public “count up”:my.opera.com/community… widget as part of their extensive pre-approval hype. You can tell from the demos that Opera put a huge amount of work into polishing Mini before submitting it, to remove as many potential objections as possible, and to get users excited before it ships. A high-profile rejection now would erase any goodwill that Apple has built up recently.
I know some developers are nervous with openly discussing or blogging about their relationship with Apple, but I think more people should follow Opera’s lead. By being vocal on the App Store’s strengths and shortcomings, we force Apple to be more transparent. Bad press has a proven history of leading to overturned rejections. The narrative of the last few months, to me, is that the App Store is getting better, and I don’t think it would be happening without the critics.
I get a lot of great feedback about “Clipstart”:www.riverfold.com/software/… There’s value in almost every feature request, even the ones I don’t plan to directly implement. Some people also suggest that I should copy more from iPhoto. While I understand this — they want a familiar interface — it has always been my goal to be different than iPhoto. Why?
Two main reasons:
Both Aperture 3 and Lightroom 3 now have video support, but I’m not too worried. There’s plenty of room between iLife and $199/$299 for Clipstart to carve out a customer base.
With the iPad set to ship in just a week and a half, I’ve been quietly reshuffling some of my projects around it. I’ve written critically of the iPhone and App Store a couple times, such as how the iPhone is a gold rush distraction that “doesn’t need me”:www.manton.org/2009/09/i… I also stand by “earlier opinions”:www.manton.org/2009/11/t… of how unfixable the App Store is, especially now when it’s obvious that any effort trying to convince Apple to open the store is completely wasted. They never will.
But I really like what I’ve seen of the iPad platform so far and I think it represents a big shift for everyday computing in a way that a cell phone can’t. So I renewed my membership in the iPhone developer program.
I’m working on 2 apps for the iPad. The first is just a minor iPad refresh of an existing iPhone app at VitalSource called “Bookshelf Noteview”:itunes.apple.com/us/app/bo… (iTunes link). It’s for reading notes and highlights synced from our e-book platform.
I’m not ready to announce the next app yet, but it’s a personal project which I had originally written for the Mac over a year ago. I shelved it at the time because I wasn’t sure there was demand, the backend web services weren’t mature, and I wasn’t ready to take it to completion. For the iPad though, it might be perfect.
And that’s ultimately where I see the most interesting potential for the iPad. New middle-ground apps that we haven’t even thought of yet, not ports from another platform. Apps that would feel small or distracting or wrong on the Mac, yet equally oversized for a relatively underpowered iPhone. Maybe the never-tested-on-a-real-device launch day apps will be buggy and the overall quality low, but I can’t wait to try them anyway.
As I “wrote in January”:www.manton.org/2010/01/m… I decided to go to Macworld to show off Clipstart and Wii Transfer, and to experience the conference again and hang out with friends. I ended up doing less of the latter, because I lost my voice and was feeling terrible for a couple days, but nevertheless the trip was great and I’m very glad I went. Worth it.
Here’s my summary of the show, what it took for me to be there and what I got out of it for “Riverfold”:www.riverfold.com/. This is supposed to be in the spirit of “Rogue Amoeba’s excellent series on Macworld”:www.rogueamoeba.com/utm/2007/… but more from a super-tiny company perspective, and just where my experience differs.
I do want to quickly mention costs, since that’s the primary consideration when planning these things. I took advantage of the Indie Developer Spotlight shared kiosk to keep investment low. In fact, I wouldn’t have gone otherwise. I kept the whole trip to about $2700, with a rough breakdown like:
$1250 - space on the show floor
$900 - hotel for 4 nights
$250 - flights to and from San Francisco
$100 - printed “2000 flyers”:www.flickr.com/photos/ma…
$200 - other misc costs, cabs, and food
I could have saved some money in there on the hotel, but in general I think I did pretty well. For a lot indies it’s probably not that much different than a WWDC trip.
I worked 8 hours each day on my feet at Moscone North, in my little booth space in the very corner of the expo. I was lucky for two things: Guy English was awesome and covered for me a couple times so I could take a real break; and the restrooms and water fountain were so close I could slip away when traffic was slow and be back without missing much.
The less expensive booth option was supposed to be for a table shared between 3 developers, with presumably a dozen or more small companies filling the area. But unlike the iPhone pavilion in the center of the tradeshow, which was packed with exhibitors, hardly any Mac developers took advantage of this offer. It was just me and one other company.
This was disappointing at first, since a less dense area doesn’t convey the same excitement and means less foot traffic. But there were other aspects of the deal that turned out better than expected, such as included wired internet even though none was originally promised. Compared to a traditional booth, it was a bargain.
Before leaving Austin for San Francisco I jotted down a few notes on how I could measure success, since I didn’t want to pin whether it was worth it just to direct sales.
See friends and meet new people. Check, but there were a lot of people that I ran into very briefly and didn’t get to really talk to. See aforementioned lost voice.
Get ideas from customers. Check, got plenty of great ideas. I loved talking to random Mac people, not limited to just the ones who bother to send email.
Figure out how to sell the product. There’s nothing like explaining your application over and over again all day to refine your pitch. I feel like I have a much better handle on this, but there’s still work to do, and web sites to update.
Actually sell some copies. I used a coupon code to track sales. During the conference my sales were flat, but in the weeks since I’ve had the best sales days of Clipstart ever.
Get exposure in the press. Check, was interviewed by Ryan Ritchey for “The Digital Lifestyle”:thedigitallifestyle.tv/home/2010… Merlin Mann for “MacBreak Video”:www.pixelcorps.tv/macbreak3… and talked with other members of the press on the show floor. I should have done more but lacked the energy.
Win best of show award. Nope, but wasn’t expecting it. I think it’s a shame that only one Mac application won, but on the flip side it’s great that it was “Inklet”:tenonedesign.com/inklet.ph… Really cool app.
Everyone’s expectations coming into the event were low — the previous exhibitors who backed out, the attendees who wrote Macworld off, and the press who questioned the show’s relevance. But clearly Macworld 2010 was a success. The second day of the expo I was late to the show floor, arriving just a few minutes before they opened the hall. There was a huge mass of people waiting to get in.
There will be a Macworld 2011. I’m really excited to see how it works to move the whole expo and conference to Moscone West. I’m not sure if I’ll be there yet, since as demonstrated this year I can’t plan nearly that far in advance. Throwing all of this together 2 weeks before the show only worked because of everyone who made things a little easier during the week.
Thanks to Jason Snell, Merlin Mann, Adam Lisagor, and everyone else who stopped by and waited patiently through my demos; also Guy English, Paul Kafasis, David Barnard, John Fox, John Chaffee, the RogueSheep guys, my booth buddies from “Hello Chair”:hellochair.com/appsaurus… and the other indie developers I’m forgetting; and especially Albert McMurry, Dan Moren, and John Gruber for telling people about Clipstart. It succeeds only because of word of mouth.
In closing… Maybe it’s because James Cameron is still in the news, but I’ve always loved this line from the character Rose in Titanic: “It doesn’t make any sense. That’s why I trust it.”
That’s mostly how I felt about exhibiting at Macworld. Even though it was “cheap” by tradeshow standards, for me it was real money and a risk. I booked my flight the day I realized that the only reason not to go was because I could fail.
I started this blog exactly 8 years ago today, right before SXSW, so I thought I’d post about something related to the event. This year Gowalla and Foursquare are going to be huge. I was a little late to the location-based game party, initially being turned off by Foursquare when it asked for my phone number just to register, but over the last 6 months I’ve been thoroughly enjoying using Gowalla.
“Jeff Croft has a detailed breakdown”:jeffcroft.com/blog/2010… of the differences between Gowalla and Foursquare:
This is one of Gowalla’s best features. I also prefer its design, and the playful personality they’ve baked into the app. While I agree with Jeff that there doesn’t need to be one winner, I’m not interested in checking in with more than one application every time I visit a spot, so I use Gowalla exclusively. And because I have friends at Gowalla, I want them to succeed.
My message to Foursquare users who are coming into town for SXSW: Gowalla is an Austin-based company and they are “doing fun stuff for SXSW”:gowalla.com/sxsw. Why not give Gowalla a try for the weekend?
When “the iPad commercial”:www.apple.com/ipad/gall… popped up during the Oscars, I thought it captured the power and elegance of the device extremely well. But as I commented on Twitter, after repeat viewings you can see that it’s probably faked. The iPad must have been filmed on a stand or table and then composited into the shot later.
Contrast this to “Cabel Sasser’s”:www.cabel.name/2006/03/n… video of the Nintendo DS Lite, which was a faithful presentation of how the game system feels to use and yet still “sold people on the device”:twitter.com/shauninma…
Apple stretches the truth with all the iPod and iPhone ads and it never bothered me before, but this one seems wrong. How it feels to hold an iPad will be the difference between a good product and a great one. Can you hold it still with one hand? How easy is it to rotate it? What is the angle like when propping it on your legs?
This is a pretty minor complaint — I’ll be pre-ordering my iPad this Friday regardless and couldn’t be more excited — but I wish Apple didn’t feel the need to lie about such an important part of the product.
“Wil Shipley on Apple’s decision”:wilshipley.com/blog/2010… to be aggressive on their iPhone patents:
And “my tweet on this”:twitter.com/manton/st… from yesterday:
Whether Apple wins this patent lawsuit or not doesn’t even matter; the old Apple many of us fell in love with is dead and maybe never coming back. I still want to think of Apple as the company that fights the good fight, innovating and putting user experience first. But you have the App Store exclusivity and rejections, and now you have the patents.
It’s a shame they’ve gone so far off course. Regardless of market share and billions in revenue, I’ll always hold Apple to a higher standard than every other mega corp, and hope not just for better products but also for leadership and doing what’s right.
I first met Dan Benjamin in 2005, at an off-site meeting for VitalSource in Telluride, Colorado. I don’t remember much of what we talked about over the course of those few days, but what I do remember, as the team was riding in the back of a jeep heading up the mountains, is that he kept talking about radio and podcasting.
In the five years since then he’s started a couple successful podcasts, and now he’s launched something bigger: a podcast network called 5 by 5 with a strong lineup of new shows.
I love seeing someone’s passion, only loosely related to how they earn a living, go from something in the back of their head to a full core business. Good luck, Dan. It’s off to a great start.
“Brent writes a fair post”:inessential.com/2010/02/2… on when Core Data is great and when it’s a performance bottleneck:
If I had been writing that post I probably wouldn’t have praised Core Data as much as he did, although admittedly because I rarely use it, and not at all in any shipping applications. Its approach always seemed slightly wrong to me.
My main reason for sticking with SQL directly is that I know by coding at this lower level — with my own lightweight model objects on top of FMDB and utility methods for working with the Clipstart database — that if something is slow it’s my fault. I can fix things that are my fault. I can’t fix fundamental design problems in Apple’s code.
My quote from “Cult of Mac”:www.cultofmac.com/i-have-be… sums up my feelings about the iPad from a business perspective:
Will there be a “Clipstart”:www.riverfold.com/software/… for iPad? I hope so. This platform will be the future for plenty of customers. Apple lived up to the hype not because of the hardware or distribution or anything entirely revolutionary, but because of the software. Splitviews and popovers. Keynote and Pages. These apps are just as competent as their desktop versions.
Daniel and I talked about the iPad for most of “Core Intuition 26”:www.coreint.org/2010/02/e…
The first couple versions of “Clipstart”:www.riverfold.com/software/… had a very basic search feature. You could enter keywords and it would search filenames, tags, and video titles. You could also enter special terms such as tags=christmas or imported=today, but you couldn’t mix and match different terms together.
When I started working on a more advanced search parser, I realized that I was about to write a bunch of code that surely someone had already generalized and shared with the world. Tada! “ParseKit”:parsekit.com by Todd Ditchendorf is that framework.
Clipstart 1.3 now supports these kind of searches:
christmas and (@julian or @kids)
also…
(uploaded=no and flagged=yes) or (date=2010 and @vacation)
I use ParseKit’s tokenizer to take these apart and then I translate to SQL myself for SQLite. New in 1.3, Clipstart also allows saving any search as a “smart tag” for quick access. I’m very happy with how well it’s working.
Why not use “NSPredicate”:developer.apple.com/mac/libra… and friends? I wanted more control over the parser, for example for the @kids shorthand for tags. Eventually I’ll have a more traditional NSPredicateEditor-like UI for managing searches, but I find that text input is a much quicker way to find things in my video library.
“Lukas Mathis writes”:ignorethecode.net/blog/2010… about removing features:
He also links to “my Wii Transfer survey”:www.manton.org/2009/07/w… so I thought I’d post a quick follow-up. I eventually did remove a feature, and the survey to customers served as a nice sanity check that the feature wasn’t heavily used. The interesting part, to me, is that the feature I removed was the entire 1.0 product for Wii Transfer. Literally everything that 1.0 did is now gone.
It’s been two weeks so far without any complaints. I like to think that it removes a distraction from the app — one less place in the app that could lead the customer down the wrong path. And hopefully it’ll eliminate a tiny part of my support load, as no one can ask me questions or have problems with that feature again!
On an internal company mailing list I once wrote:
I was talking about resisting the urge for everyone on the team to pile on their favorite features before 1.0, but I think this applies to apps with a minimal design as well. A simple app shows promise. A cluttered app with too much going on looks “done”, and sends a message that it is mature and maybe going in a different direction than what the user wants. In that way, the irony is that removing features (the wrong features) may actually make an application more appealing to new users.
I wrote the following before the iPad was announced. The world may have changed since then, but I’m posting it anyway. Enjoy.
I like the content but not the title in “John Casasanta’s blog post about the so-called death of Mac software”:www.taptaptap.com/blog/ipho… He shares some great stats and lays out the case for why iPhone development is more appealing and successful for him, but that doesn’t make the Mac dead. What he really meant and says later is that it’s dead to him.
For those of us who love writing Mac software and who don’t feel the pull of get-rich-quick blockbuster apps, the Mac is alive and remains just as healthy as it was before the iPhone was announced.
That’s not what I want to write about, though. The real question is how do we learn from the App Store and expand the market for Mac software. Compared to the iPhone, the Mac has a fragmented application discovery and an inconsistent purchasing experience.
When Keith Alperin and Rick Fillion “talked on the MDN Show”:www.mac-developer-network.com/shows/pod… about a possible Mac app store, Rick revealed some interesting numbers from “Bodega’s”:appbodega.com installed base: 80,000 downloads and 10,000 active users. They’re not 1.0, and I don’t see anything wrong with these numbers, but it’s not big enough yet to make an iPhone-like impact on how we buy Mac software.
What Bodega does have is a technology head start. “My products”:www.riverfold.com have been listed there since launch, and they have a polished application and feature-rich backend for tracking releases and collecting usage metrics. The key is solving the chicken-and-egg problem of getting the Bodega app in everyone’s hands.
There are two approaches: either get people excited about installing Bodega because it’s useful for updating existing apps (which it is), or sneak a copy of Bodega on to many more Macs (which is what this post is about). This solution isn’t perfect, but short of Apple building a real Mac App Store or a marketing giant like MacHeist getting involved, it’s the only idea I can see working.
First, start with “PotionStorefront”:github.com/potionfac… There are a few of these in-app purchase frameworks out there, but I like the “Potion Factory’s aesthetic”:www.potionfactory.com/thehitlis… and Potion Store is popular. The web service used to submit orders could be supported by other custom store backends, including Bodega’s own purchasing system when they have it.
On top of this in-app purchase foundation, you bundle a subset of the Bodega application discovery UI directly into the framework. Users can download and install demo versions of new apps without leaving the catalog. Think of it as a “lite” version of Bodega, streamlined to fit inside everyone’s app. You also include the full Bodega application so that it can be launched and optionally installed in the user’s applications folder.
What you’ve effectively done here is give everyone who buys a third-party app access to a new store where they can discover other apps. It’s compelling for developers because the more companies that participate, the wider their reach becomes. And it’s great for users because over time it starts to create a consistent user experience, and familiarity reduces the effort in buying Mac software.
Some tricky issues remain, though. You don’t want to distract users from buying their first application, or muddle that app’s branding, and you want to later encourage users to find or be notified about new applications without it looking like an advertisement. The challenge is in finding a balance that most developers would want to use.
Back to the iPhone’s success, from a post by “Guy English”:kickingbear.com/blog/arch…
We’ve never seen anything like it, and I’m really happy for my friends who have had success on the iPhone. Luckily, the iPhone and Mac don’t actually compete. The App Store can sell ten thousand times the amount of software as the Mac does and it doesn’t change the fact that Mac users need software too. It’s our job as developers to continue to provide solutions for users and help those users find us.
I haven’t been to a Macworld since the late 90s. I’ve had it in my head for a couple years that I’d like to go back, but with so many developer-focused conferences it’s been hard to justify an extra trip for Macworld. At the same time, my “indie apps”:www.riverfold.com need a nice marketing refresh. So why not exhibit at Macworld and get to see the show again while reaching a new audience of potential customers?
I knew I’d regret it this year if I didn’t take advantage of the “small indie pavilion kiosk”:macworldexpo.com/indiespot… So with frighteningly little planning so far, I’ve booked the expo, flights, and hotel. I’ll be at the show and I’ll be demoing the just-released Wii Transfer 2.7 and the unannounced Clipstart 1.3. The rest of the details… not so clear.
But I’m pretty excited about the conference and hope to see many of you there. The expo runs February 11th - 13th, and you can “get a free expo pass here”:rcsreg.com/macworld/…
It was “just last week”:www.coreint.org/2010/01/e… that we mentioned “Today 2.0”:www.secondgearsoftware.com/today/ from Second Gear on the Core Intuition podcast, and now Justin Williams at Second Gear is making news again by organizing Mac developers to donate to charity in the wake of the Haiti earthquake.
I’m happy to announce that Riverfold is participating. Since my wife and I already gave to the Red Cross, I decided to donate my sales to “Save the Children”:www.savethechildren.net/, an international organization working in Haiti now. It’s amazing how many Mac and iPhone developers have come together for Indie Relief, and great that we are able to do something that reaches more charities and has a bigger impact than if we were all just making individual contributions.
So if you’ve been on the fence about whether you need Wii Transfer or Clipstart, “buy a copy today”:www.riverfold.com/. Thanks!
I finally took the time to give “Wii Transfer”:www.riverfold.com/software/… some much-needed attention, releasing version 2.7 of the application tonight. It’s got the usual bug fixes and some small visual improvements, but the most important change is better video streaming. The biggest mistake I ever made with Wii Transfer was to buy an Apple TV instead of forcing myself to use my own application.
For this release, I sat down with Wii Transfer and a ripped copy of Star Trek, and I just watched it over and over, experimenting with different Flash Video conversion settings and tweaking networking code. I wasn’t going to release this until I could watch a 2-hour movie without any rebuffering. The quality is never going to be as good as a console or set-top box with dedicated video streaming features — this is Flash on the Wii we are talking about — but I’m happy with what I came up with.
Wii Transfer is still only $19, and version 2.7 is a free upgrade for any customer who ever bought the application going back to 1.0 over three years ago. Also an important reminder: all sales go to charity starting tomorrow, January 20th, as part of “Indie Relief”:www.indierelief.com/.
Seth Godin on an “exhibit for Tim Burton”:sethgodin.typepad.com/seths_blo…
This is the kind of thing I’ll try to remember when I look at the apps I’ve started but never shipped, even as they sit very close to finished for a year or more. Almost everyone I know who has successful products also has experiments and failed prototypes and unfinished work you’ve never heard of. That’s okay as long as it doesn’t stop you from shipping the best and making those real.
I have a lot to announce this week. Posts on a new Wii Transfer, the Indie Relief effort, and Macworld all coming up.
“The MDN Show episode 16”:www.mac-developer-network.com/shows/pod… reveals the winner of the MDN Community Award: a tie between Matt Gemmell and Jonathan “Wolf” Rentzsch, with Mike Ash as runner-up. Looking back on 2009 there should be no surprise over these top three. Matt has been sharing great code with the community for years and is now a fixture of the MDN podcast; Wolf started the successful C4 conference and won a Macworld Eddy for ClickToFlash; and Mike Ash has packed more technical information into a year of his weekly Q&A series than would fit in many Mac programming books.
(This also seems like a good time to link to nominee Daniel Jalkut, who got “his own version of a community award”:www.red-sweater.com/blog/1074… last month.)
I had a tough time singling out a specific developer among a dozen or more fantastic people, many who I consider my friends. But for me it was an opportunity to reflect on something at C4 that I didn’t get a chance to write about earlier, and since he won anyway I’ll include the email I sent to Scotty here.
“A leader sets the tone and attitude of the community. For example, at the C4 conference when some attendees used the Twitter backchannel to turn against and openly mock a presenter, Wolf shamed the audience instead of glossing over or ignoring the event. It was a community course-correction and a reminder that Mac OS X developers come from many different backgrounds: old-school classic Mac programmers, NeXT developers, Linux and Windows users, even designers and web application developers.
“The community went through a rough transition point migrating to Mac OS X over 10 years ago, and is in the middle of another transition to embrace everyone excited about the iPhone platform. What I learned from Wolf is that we should never be afraid to welcome ‘outsiders’ to the community even if they haven’t yet caught up on the history and conventions of the platform."
I have nothing but great things to say about everyone listed on the MDN page. Congrats again to Matt, Wolf, Mike, and the rest of the nominees.
I was chatting with some developers the other night about giving away software to Apple employees. If you’re not familiar with the practice, it’s fairly common to give free or discounted licenses to Apple employees as a gesture of goodwill to the people responsible for making our platform, and in the hope that they will spread the word to friends and customers in the Apple Stores. (If you’re a developer and want to set this up, “check out Dan Wood’s overview”:www.karelia.com/mac_indie…)
I’ve given away over 1000 licenses for “Wii Transfer”:www.riverfold.com/software/… and “Clipstart”:www.riverfold.com/software/… to Apple employees since I started doing it a few months ago. I didn’t expect this number to be so high, but I guess it makes sense. Apple folks are getting a link from their internal site directly to my special registration page, and many of them probably request a serial number just in case they need it later.
The question I have isn’t whether it’s worth it; it only took a few hours to set up, and even if it just makes a handful of Apple employees happy then that’s a success. But I was curious about the greater impact of giving away my software. Is the $0 investment in a pile of other free licenses enough to engage someone to, for example, take the time to set up Clipstart and move a collection of videos into it, let alone recommend it to others? (See also: “Worthless apps”:www.manton.org/2009/12/w…)
To find out more, I sent a special newsletter to all the @apple.com addresses in my registration database, asking if they used the software, how they liked it, and whether they’d recommend it to others or not. And I included in “the short survey”:riverfold.wufoo.com/forms/riv… a place for general feedback, and a choice about upcoming features.
Some developers I talked with were concerned about a potential backlash. Although I send a newsletter to my customers once or twice a year, it’s debatable whether some of the people I was including had implicitly signed up by purchasing (with a 100% discount!) or whether I had crossed a line. The last thing I want to do is upset any of my customers, and I provide the same level of support to everyone whether they’ve paid full price, received a free license, or just tried the demo.
In the end I decided it was harmless. The email was short, plain text, and had an obvious one-click unsubscribe link. One of the things I like about using “Campaign Monitor”:www.campaignmonitor.com is that once someone unsubscribes, any new mailings are automatically scrubbed against the unsubscribers list. Even if I accidentally add the customer again in the future they won’t receive an email. So far, 2.2% of recipients have unsubscribed.
As for the survey results, here are a few graphs. Not many people filled out the survey (like unsubscribes, just a couple percent, though they’re still trickling in after 2 days), but the other feedback I received in the comments and feature questions was very helpful. 100% of users said they had mentioned the product to someone else.
Would I do this again? No, not such a narrowly-focused newsletter as this. The quick survey served its purpose, but I am always nervous about wearing out my welcome. I plan to add an explicit newsletter opt-in checkbox to my free license page, and I should do a better job of differentiating free licenses and paying customers in the future. I’ll send another general newsletter out to all customers (and opt-ins from contests) when I have something major to announce later in the year.
Clipstart 1.2.4 is done! It’s a minor bug fix update but includes dozens of small improvements (and some not so small, if you’re measuring not with new UI but in number of lines of code changed). I’m very happy with this release and excited to move on to some other new features in the works for 1.3 and beyond. “Download and more info”:www.riverfold.com/software/…
And because I don’t have anything else of substance related to Clipstart to talk about yet, I’ll leave you with “this Buzz Andersen quote”:log.scifihifi.com/post/1598… about quality:
I’m not there yet, but yeah, well said.
This story about “PayPal screwing over a Mac indie business”:blog.apparentsoft.com/business/… should be a real concern to anyone relying on PayPal. These kind of things come up from time to time, often with frozen accounts because too much money was suddenly flowing into or out of an account, but I’ve always stuck with PayPal because they have low rates and I haven’t run into any problems. There’s nothing fancy about the way I sell “my products”:www.riverfold.com/, but it works, and I hate to change things that aren’t broken.
As a user, I’ve gone from avoiding PayPal to preferring it. I’m less likely to use a credit card with online shops that I’ve never heard of before (although more because of the hassle of entering all my information than for any security concerns). It’s also convenient for me to have small expenses like hosting and software purchases all in one place under my PayPal account.
But it’s time to get serious about this, so I’ve decided to use “FastSpring”:www.fastspring.com as a backup. I like FastSpring’s admin interface, testing mode, templates, and focus on customer support. I’m impressed with the “Atebits custom store”:sites.fastspring.com/atebits/i… hosted on FastSpring, and the “reasons Justin Williams chose for switching”:carpeaqua.com/2009/11/0… The fees are a little high for everyday use (8.9% vs. PayPal’s 3.9%), but it’s perfect as a secondary payment processor, waiting for me to flip the switch if anything goes wrong with my PayPal account.
In the software world, the best strategy is to ship early and often. Get something out there that solves a real problem, then fill in the missing pieces and continue to improve it. Iterate. In politics, though, we often only have one chance in years or decades to get it right.
The healthcare bill passed the Senate and is on its way to becoming real, even if it’s a shadow of what it could have been. We should be thankful that we got anything — the changes do matter — but at the same time I can’t help thinking it was a missed opportunity.
Who’s to blame? I wish Democrats had fought harder; I wish they’d framed the debate correctly from the start. I still like George Lakoff’s focus on calling the public option the American Plan, but I also like John Neffinger’s point that maybe the real mistake was in not starting with a single-payer plan so that the public option would look like a moderate compromise. It feels like many Democrats were resigned to failure early on.
In an unrelated tweet a few weeks ago, from comic artist Kazu Kibuishi: “If you have a fallback, you will fall back.” My failures reflect that too. To shoot for greatness you have to put everything you’ve got into your first effort.
I keep coming back to something Hillary Clinton said in a debate with Obama early in the Democratic primaries of 2008. It struck me as so true at the time that I wrote it down:
And that’s what happened.
I was reminded by “Nick Bonatsakis on Twitter”:twitter.com/nickbonas that I never wrote about how giving away the iPhone worked out. The short answer is: pretty well! The longer answer follows.
I’ve conducted 3 giveaways for Riverfold Software now:
I noticed when originally giving away the Wii that most of the entries were Windows users — people who couldn’t even use my application! So for the iPhone giveaway I made a change: you could only enter by downloading the app and choosing a special menu item, which loaded a simple webview with the entry form. Pretty straightforward, and no complaints. The total number of entries was lower, but they were targeted to existing or potential customers.
In additional to sending news about the giveaway to a few contacts who I hoped would pick up the story, I also wrote a formal press release for it, which “went out through prMac”:prmac.com/release-i… This is so inexpensive that it’s hard to find fault with it, but I think the main outcome was getting contacted for advertising on sites that I had never heard of before.
Another thing to remember is to set up a “system to track referrers”:www.manton.org/2008/09/t… through to sales, so that you can judge the effectiveness of these giveaway-style marketing efforts. I could tell right away that it paid for itself, but it wasn’t a significant bump in overall weekly stats. I do believe it helps long-term though.
The final part I took pride in was shipping quickly. Growing up we all had the wind knocked out of our sails by the “allow 6-8 weeks for delivery” fine print on cereal box prizes or other mail-in gimmicks. If nothing else, I made an effort to ship the next day if possible, and I paid for express shipping.
Giving away stuff is fun. Until I get sued for not following some obscure rule on contests because I didn’t hire a lawyer, I’ll plan for more giveaways in 2010.
Clipstart 1.0 tried to be smart about not importing videos that were already in your library, but it stopped short of actually giving you much control over whether to import duplicates or ignore them. I also felt like the window showing duplicates could be improved to provide more information about each file. At a glance you should be able to tell if Clipstart is doing the right thing.
So I put a lot of effort into this for the soon-to-be-released Clipstart 1.2.4, and the result is this window:
It generates a few frames of the timeline for each video (both old and new file side by side), which turns out to be an excellent way to confirm that they are indeed the same file, and also shows the original filename even after Clipstart (or the user) has renamed it. Now I can scan through the window in about 2 seconds and I’m done. Contrast with iPhoto which prompts after each video is imported, instead of at the end of the batch, and if you blindly trust it by checking “Apply to all duplicates” then you have no feedback on whether you made the right choice.
The new duplicates window works with both volume-based cameras like the Flip and SD cards, as well as USB devices such as the iPhone 3GS and iPod Nano. I hope to ship version 1.2.4 soon, and there’s a “beta in the forums”:www.riverfold.com/forums/to…
Update: As pointed out by a customer, Ignore and Keep are actually pretty confusing verbs here. I’ve changed it to “Skip Duplicates” and “Import Duplicates” for the final release.
Walt’s nephew “Roy Disney died this week”:www.cnn.com/2009/SHOW… In 2003 I blogged about “Roy leaving the company”:www.manton.org/2003/12/r… I said:
Luckily for us, since that time a lot has changed, and the animation division does have leadership in John Lasseter. One of the most visible changes just opened in theaters last weekend: The Princess and the Frog. I’ve seen every theatrical release out of Disney feature animation since I could afford the few bucks to go to a theater, so I wasn’t likely to miss this return of 2d animation.
My daughters and I really loved this movie, not just because of my love for hand-drawn animation, but for a story that works and characters that are rooted in something real — singing Cajun fireflies and voodoo magic aside, of course. There are some really touching scenes here. “Sandro Cleuzo says”:inspectorcleuzo.blogspot.com/2009/12/m… the animation was rushed, but I think they did a heck of a job.
The credits are almost as if nothing has changed — Eric Goldberg, Andreas Deja, Mark Henn, Nik Ranieri. “The reality is slightly different”:www.dreamonsillydreamer.com/, but there’s a mix of new animators among the familiar names. A lot is riding on the success of this film, and it managed a respectable $25 million over the weekend.
Great job, Disney. I’m glad Roy got to see the beginning of the next 2d comeback.
I’ve been meaning to link to this since it was posted earlier in the year. “Jens Alfke hopes”:mooseyard.com/Jens/2009… for a decentralized future Web 3.0:
I agree. Even for the best-loved centralized companies, like Twitter and Flickr, I want a copy of my data. If the first set of desktop tools to interface with web services were all about sharing and publishing, the next software generation will need to also effortlessly download and backup that data. Even usually careful programmers “sometimes get it wrong”:news.ycombinator.com/item
Jens goes on to talk about CouchDB, including a link to “this intro book”:books.couchdb.org/relax/. Looks good. Couch and “other no-SQL database systems”:nosql-database.org like Mongo are interesting technologies that I’d probably come up with an excuse to use if MySQL wasn’t such a workhorse already. Related, for the Ruby fans in the audience: “Phil Burrows on logging with Mongo”:blog.philburrows.com/articles/…
I like “this article on Mobile Orchard about the relationship between price and ratings”:www.mobileorchard.com/app-store…
This makes sense to me, and the other side of pricing that’s so important is the message you send. The perceived value of a product is connected to the published price. This is especially true in the App Store, where there’s no way to try the software before purchasing it. The price sets expectations.
So to take the Mobile Orchard analysis a little further: no one feels guilty judging a free app harshly with a 1-star rating because even the developer thinks the app is literally worthless.
Sure, there are good reasons to have a free app. To complement another paid service or desktop app, as a demo for a game or full version, or to “make $125,000/month in ad revenue”:fingergaming.com/2009/12/0… In fact half the ideas I had for iPhone apps would have been free. But I don’t think any of that changes the truth of what Mobile Orchard said, that free stuff isn’t respected as much as something the customer is personally invested in.
I’ve been blogging here since 2002, and I started Riverfold in 2006, but it’s taken me a while to realize something pretty obvious: traffic flows back and forth between my personal blog and the company site, and I should stop fighting it. Today I’m embracing that in a small way by adapting the “riverfold.com”:www.riverfold.com design to this blog, and linking more prominently to my indie products.
I’ll still post about things that have nothing to do with software. I don’t want to give that up, and some of my favorite posts wouldn’t exist if I stuck to programming or business topics. Some non-software favorites I found while surfing “the archives”:www.manton.org/archives…. include “Ollie Johnston died”:www.manton.org/2008/04/o… “Perfection”:www.manton.org/2005/08/p… “The Great Scott”:www.manton.org/2005/02/t… “Bush veto”:www.manton.org/2007/11/b… and “50,136 words”:www.manton.org/2005/12/5… But hopefully by unifying things a little it’ll be more consistent, and encourage visitors coming to my blog for the first time to also buy some Mac software.
Thanks for your support over the years. Even when the referrers dry up and the click-throughs aren’t worth graphing, I’ll still write here, and maybe every once in a while it’ll be something good.
I let my iPhone developer account expire last week. Even though I had already stopped development on my iPhone projects, officially letting go of even the temptation to build for the iPhone platform has really helped me focus.
The Rogue Amoeba rejection for Airfoil Speakers Touch has been covered on Twitter and at Daring Fireball, but I think it’s easy to get distracted by legal technicalities and not the heart of the matter: as long as Apple is the gatekeeper, there will be bad decisions and apps that deserve to be approved will be rejected instead. For this reason the App Store cannot be fixed with incremental improvements.
There are only two possible solutions:
There is no third or fourth solution. There is no compromise or small improvement to the review process. Better transparency or tiered support options won’t help either. Without either of the above two changes, rejections will continue because in a subjective review process there will always be bad judgement calls. Some percentage of indie developers will abandon the iPhone either because the risk is too great or based on principle alone.
Let me take the second one (allow applications to be installed without being listed) because it plays directly to this Rogue Amoeba rejection. Rogue Amoeba is one of my favorite Mac companies, and Daniel Jalkut and I record Core Intuition using their Audio Hijack Pro app. It’s universally regarded as great software.
It might surprise you to find out that Audio Hijack Pro is not listed in the Apple Downloads site, though other Rogue Amoeba products such as Fission, Nicecast, and Airfoil are. I’m not sure Rogue Amoeba has ever spoken on the record about this, but Apple apparently doesn’t like the app and won’t list it. Maybe because you can use it to record copyrighted music? Who knows.
But it doesn’t matter because being rejected from Apple Downloads doesn’t mean you can’t make Mac software! It just means you have to market the software yourself. Rogue Amoeba has to work extra hard to get the word out about the app, but their business won’t fail just because Apple doesn’t give it their blessing.
This is so important for a small company. I want my software to fail because it sucks, or is buggy, or doesn’t have the right features, not because Apple can shut me down over a minor difference of opinion.
There are a lot of well-intentioned suggestions for improving the App Store, but the result will always be the same until we acknowledge the root problem. The only fix is for Apple to remove itself as gatekeeper, or let us route around them.
“Great post by Jason Cohen”:blog.asmartbear.com/blog/put-… on why you need feedback about the real reason people aren’t buying your product:
I fall into this trap quite often, of pretending I know what the product needs for sales to finally take off. So I’ll add all the features I hope customers want, or I’ll make a small change and see if sales improve. But the truth is that there are so many variables in this system that it’s difficult to know which change made the difference.
As an example, I decided recently that I was being too generous with the demo limits in “Clipstart”:www.riverfold.com/software/… so in the 1.2.1 release I turned them down a little. Instead of letting you tag 30 videos and upload 3 for free, it’s down to 20 videos and 2 uploads. The idea is to just do a little bit more to encourage users to buy the software when they are first trying it out and like it, rather than waiting a month until they decide to use it again.
Sales have been up the last week, so this worked, right? Maybe not. Clipstart has a review in this month’s print edition of Macworld, so it’s possible the sales are up because of that. Or because a couple of my blog posts have been linked more heavily recently. Or for any number of other reasons.
Unless you measure why the product doesn’t sell, success will be based on luck and intuition, which only go so far. I’m looking forward to reading Jason’s next post.
I talked in “Core Intuition episode 22”:www.coreint.org/2009/08/e… about how I’ve stopped working on my indie iPhone apps. Mike Ash is also done with it. “He writes”:www.mikeash.com
Reading through the comments got me thinking. I’m not abandoning the iPhone just because the App Store is such a frustrating environment to run a business in, or that I have a bunch of real work I could be doing instead of playing games with Apple. It’s also because most of the apps I would write have already been done, and in some cases done very well.
I love having a small computer in my pocket and mine is full of third-party apps. I’m thankful for the developers who are coming from other platforms and focusing all of their attention on the phone. And they are thrilled to be an a platform that is such a step up from traditional mobile development. The financial success stories of developers hitting on a great idea and it just taking off in the App Store are real and inspiring.
But the iPhone doesn’t need me.
As a user there’s no way I’ll give up the phone, but as a developer I can focus my time on “things that I have control over”:www.riverfold.com/, and add value to places where no one else has a good solution. Perceived gold rush or not, stretching myself too thin with both iPhone and Mac development is a great way to fail at both.
Imagine for a moment that “Yellow Box for Windows”:www.cocoadev.com/index.pl wasn’t killed off — that we could build Windows apps using Cocoa. Should I make my apps cross-platform just because it’s Objective-C? No. Writing software for a platform I don’t use would be like still supporting Mac OS X 10.2; there’s no way I’m going to boot into that thing to test and fix my app.
If you’re a Mac developer, my message to you is the same: just because the iPhone is awesome and runs on Objective-C does not mean you are required to build software for it. Maybe your time would be better spent refining old apps or building new ones on the Mac. Maybe… the iPhone doesn’t need you, either.
Somehow it’s been a couple years since I wrote about “using VoodooPad for authoring help”:www.manton.org/2007/01/f… I always meant to update the post with more information, and I still receive occasional follow-up emails from developers who are trying this for themselves. My workflow is virtually unchanged since then, and the help for “Clipstart”:www.riverfold.com/software/… is built the same way.
Here is the Clipstart VoodooPad document in case it’s helpful to other developers: “Clipstart_Help.vpdoc.zip”:manton.org/misc/Clip… The important parts are the special pages WebExportPostflightScript and WebExportPageTemplate.
Meanwhile, “Philippe Casgrain wrote a great blog post”:developer.casgrain.com that is nearly identical to what I do, but with more detail and steps for triggering an export from Xcode. Lately I’ve been pointing people to his post since it’s more technical than mine was.
“Mark Dalrymple also posted”:borkwarellc.wordpress.com/2009/09/0… a time-saving SVN script for VoodooPad today. I’ve been needing this!
VoodooPad is just a really good fit for this stuff. (Also see “Macworld’s 4-mice review”:www.macworld.com/article/1… for VoodooPad 4.1.) Or if you are more of an OmniOutliner kind of person, check out “Omni’s Helpify tool”:blog.omnigroup.com/2008/10/0… for converting outlines to an Apple help book.
In “episode 21 of Core Intuition”:www.coreint.org/2009/07/e… I called the Image Capture API “quirky”. What did I mean by that? A few things.
Refcon. This should be familiar to anyone who has built Mac OS 9 or Carbon apps. I’ve certainly written plenty of code that stuffed a pointer to an object in the refcon field of a structure or passed to a callback method. It’s an essential pattern for being able to integrate C++ or Objective-C objects with a C-based API.
For Image Capture, the code might look like this:
Then in the callback you cast the refcon back to your controller object and go about calling methods and accessing member variables.
Works fine, but what about 64-bit? The reason I noted this part of the API to blog about was because the first version of my code accidentally cast my pointer to a UInt32. Luckily for us, the refcon is actually declared as an unsigned long instead, so it should share the same pointer size in 64-bit land, where long and void* are both 8 bytes. Other data types in Image Capture, such as ICAObject, are declared to be UInt32.
(What would we do if the refcon was UInt32? The solution is not terribly difficult: use a simple lookup table that maps a random ID or incrementing number stored in the refcon to your 64-bit compatible pointer. But this just doesn’t seem to be necessary very often.)
No delete function. I found this one strange, and had to dig in example code to find the solution. There is no first-class function in Image Capture for deleting objects off of a camera. Apparently this isn’t a feature that is supported by all devices, but nevertheless it seems common enough that it deserves something more than an enum constant hidden in a secondary header file.
Here’s how you go about deleting a video off of the iPhone:
Bad delete on success design. Related to the above, Image Capture has this trick that seems clever at first but which I don’t think could be used for most applications. You can set a flag to tell Image Capture to delete a video after it imports. Maybe this also explains why there’s no standalone delete function, but the design feels dangerous to me; if an import fails halfway through importing 10 videos, the first 5 will still be deleted. I much prefer to examine the imported files to make sure they were saved correctly, and then after everything was successful go back and delete the imported objects.
It’s been a couple months since we recorded Core Intuition 21, but there are some other segments worth noting. Daniel and I talked about the WWDC 2009 session videos, a plug for “rooSwitch”:www.roobasoft.com/rooswitch… beta testing MarsEdit 3, and a listener question about working for non-developer managers. Listen at coreint.org or “subscribe in iTunes”:phobos.apple.com/WebObject…
My son is seriously into LEGO Star Wars right now. He’ll spend hours every day building ships, and it’s the most incredible thing watching how good he’s gotten at it over the last couple of months. For his birthday we ordered him the X-wing set, which is “all kinds of awesome”:www.flickr.com/photos/ma…
One of my favorite posts to this blog was partially about LEGOs. “In 2006 I wrote”:www.manton.org/2006/01/l…
There’s a lot more to the post, and I still believe what I wrote. But it turns out that LEGO Star Wars sets are surprisingly well designed. There are very few custom pieces, and almost all the sets (we must have about 10) share the same shapes, just with different colors and for different purposes. I’m a big fan now.
Tonight we sat in bed together and looked at LEGO catalogs. I’m in those awesome years where being a dad is just like being a kid again, and this post is to capture a little part of that moment, before it’s gone.
I mentioned on the “latest Core Intuition”:www.coreint.org/2009/08/e… that I no longer have any plans to release my own iPhone software. While that decision is mostly based on my unwillingness to give Apple so much control over my business, and frustrations with the App Store process in particular, there are a handful of technical reasons why iPhone development is not a good fit for me. Here’s one: open source.
“Daniel Jalkut’s essay on the GPL”:www.red-sweater.com/blog/825/… hits all the points about how the GPL can hurt developers by discouraging commercial participation. I’ve used LGPL projects in both “Clipstart”:www.riverfold.com/software/… and “Wii Transfer”:www.riverfold.com/software/… and I am careful to use them correctly. But iPhone development presents an interesting problem.
Can’t run command line tools. Separating the GPL code into a command line tool that is inside your application bundle is a common way to get around licensing issues. This is not allowed in the iPhone SDK.
Can’t replace dynamic libraries. The LGPL says that you can also link to libraries at runtime, but the catch is that the user must be able to replace an LGPL library with a newer version of their choosing. There is no way for normal users to do this on the iPhone.
Can’t use private frameworks. Oh, that point above about dynamic libraries? Actually it’s a moot point because Apple requires everything to be statically linked anyway. So you are blocked at every pass; you can’t ship an app that loads code dynamically even if the user could touch it.
The only solution I’ve seen so far is to release a special version of your Xcode project, with most of your application split into compiled libraries instead of source code, and allow developers with the iPhone SDK to relink your application with a different copy of whatever LGPL code you used. I stopped researching this when I put my own iPhone projects on hold, though. It’s just another example of how the closed nature of the platform creates an unnecessary burden in the software development process.
“Gus Mueller”:gusmueller.com/blog/arch… in response to a post from Joel Spolsky:
I hinted at this in “my last post about new Clipstart features”:www.manton.org/2009/08/c… When Clipstart 1.0 launched and sales were lower than I had secretly hoped, the feedback was still so encouraging that it was obvious I had to keep rolling out new versions. Release 1.1, a month later. Release 1.2, which is “shipping today”:www.riverfold.com/software/…
Some products are just easier to sell than others. For Wii Transfer, people enter “music wii mac” in Google and then a few minutes later they are clicking the Buy button on my web site. But with Clipstart, even though I believe it to be a superior product, it’s going to take work and marketing and word-of-mouth and demo coaxing and making it so good that you’d be nuts to shoot video and not have it installed.
For the last couple of years, I’ve been squeezing work out of every free moment I have to build Clipstart and Wii Transfer, and every six months or so I’m just completely burned out and need to take a break. I was in North Carolina for work meetings last week and after coming back I took the opportunity to sleep 10 hours a night for 3 days. I seriously needed rest and to spend some quality time with family away from the computer.
And now I’m making some coffee and ready to get back to work.
A lot of people ask me how I’ve been able to dedicate time to side projects when my life is already pretty full with a regular job and kids. The truth is that most of us have small pockets of free time, and it’s just about how we prioritize and use that time.
Gus Mueller says that the secret to building VoodooPad 1.0 was simple: he didn’t own a television. Gary Vaynerchuk, in his upcoming book Crush It, puts it this way: “Someone with less passion and talent and poorer content can totally beat you if they’re willing to work longer and harder than you are.”
So it’s about setting priorities and pushing yourself. Pretty straightforward. But recently I ran across a forum post on the community site ConceptArt.org that took this even further — that success comes not just from priorities and working hard but also with real sacrifice. The members of ConceptArt are passionate about improving their art and helping others, and there’s an obvious pride there that comes from the shared challenge of becoming a better artist.
In a comment on attending a $95 painting workshop, the first commenter said:
There is something in that extreme comment that just nails it. Go without food? We’re still having trouble with the trivial sacrifice of not watching TV over here!
The advice I’ll give to myself and to anyone else who needs inspiration on finding time: rewrite that comment for yourself, replacing “week”, “food”, and “afford it” with what your sacrifice is going to be. Examples:
New projects aren’t going to magically finish themselves. If we’ve been tinkering with a project for a year and it seems like it’s never going to be done, the reality is that it probably cannot be finished without making a scheduling change. Even a tiny sacrifice to open up an extra hour a day might be enough to make it happen.
Now that I’m done “giving away a free iPhone”:twitter.com/manton/st… I can move on to the next phase of my marketing plan: release new and better software! Crazy, huh? Clipstart 1.2 is nearly ready and I’m very proud of this release. There’s so much new stuff I could have called it 2.0.
Batch export. Select multiple videos and convert them to H.264, or optimized for iPod, iPhone, and Apple TV, and optionally run a script on the results. It can even create an HTML 5 web site and export in Ogg Theora format for Firefox and Opera users.
Twitter upload. Works with Yfrog to upload a video and post to Twitter. To include a custom tweet, use the “Upload with Options” command, just as you would add a description to a Flickr, Vimeo, or YouTube upload.
New tagging interface. Easy way to tag multiple videos from the keyboard. You can also now drag videos to an existing tag to apply that tag to the selection.
iSight capture. I wasn’t planning on adding this until later, but I think it complements the Twitter support well. Capture from the iSight and it records as H.264 and adds the video to your Clipstart library.
New toolbar and button style. I shouldn’t have used the round rectangle scope button style in Clipstart 1.0, so I decided to roll my own that fit well with the toolbar. It’s still not a standard toolbar but I hope to transition to one in a future version of Clipstart.
Change date for multiple videos. You can update the date for multiple videos at once, with the flexibility of changing specific portions of the date, such as just the year or month. Great for correcting dates from cameras.
AppleScript support. Just the basics for now, but you can get a list of videos, with tags and other metadata for each.
Plus some other fixes and Snow Leopard compatibility. I plan to release it in the next couple days, just in case Snow Leopard is released on the 28th as rumored. If you are interested in trying a beta and submitting some last-minute feedback, drop me an email at “support@riverfold.com”:support@riverfold.com.
Yesterday I sent out a newsletter to all my “Wii Transfer”:www.riverfold.com/software/… customers. You can see the “text of the newsletter here”:www.riverfold.com/newslette… I wasn’t sure how effective this would be, but I immediately got a bunch of responses to the survey, and hopefully more interest in Clipstart too.
I decided against doing any specific tracking for number of views and links clicked, but there was an obvious spike in traffic for a couple hours as people clicked on the links in the email.
The survey results are about what I expected. Most people are buying Wii Transfer to watch movies and listen to music on their TV. I’ll use this feedback to simplify the user interface around these features, and prune back a feature set that had grown a little too fast for its own good.
Here’s a chart of the results so far:
I used “Campaign Monitor”:www.campaignmonitor.com for sending the newsletter, and as usual I’m very pleased with how simple they make this. I did a full customer export from my registration database and Campaign Monitor merged it with the existing list from my newsletter last year, weeding out duplicates and removing anyone who had already unsubscribed.
I get a lot of funny looks when I tell people I host everything on Dreamhost. It’s not a great fit for everything — I have some ideas for projects that would be better suited to Amazon EC2, and who knows, maybe I’ve just been on a lucky server — but it has generally been more reliable than any previous hosting company I’ve used, including when I used to run my own server.
Dreamhost succeeds because of scale. They have so many servers, and such low prices, that they are forced to automate everything. This means they can more quickly deploy new software, rebuild servers, or restore a broken installation, and that their panel interface has to provide access to every feature a customer might want.
“This post from their status blog”:www.dreamhoststatus.com/2009/07/1… is revealing. There are over 600 machines on that list, but it must be only some fraction of their customer base, because my server name isn’t on there. “According to WebHosting.Info”:www.webhosting.info/webhosts/… Dreamhost hosts about 875,000 domains.
I strongly believe that “being small is a competitive advantage”:www.manton.org/2007/02/c… but anyone who’s played the role of sys admin knows that automation means everything, and that’s what Dreamhost seems to get right.
Sometimes it seems like every app is trying to be “the iTunes for <insert subject here>”. I’ve worked on “an app that fits into this category”:www.vitalsource.com/software/… and there are countless more. iTunes 1.0 represents one of the biggest shifts in Mac user interface design we’ve seen — single window, source list, and smart groups.
While the iTunes UI is great for music, I’m not convinced it’s automatically great for all workflows.
“Clipstart”:www.riverfold.com/software/… goes out of its way to do something different, by twisting the traditional source list a little to promote tags as the most important part of the UI. At first I feared that some customers would find it worse, that the UI would fail and I would be forced to become more iTunes-ish for the next version. But I think only by trying something different can you hope to be better. I’ve been using Clipstart to manage my movies all year and the tag-focused UI really works, especially when you start building up your library and can search and find related tags across all your videos.
I released Clipstart 1.1.1 a few days ago with a bunch of bug fixes, and an “iPhone 3GS giveaway”:www.riverfold.com/software/…press/3gs.html too.
This month I’ve been lucky to have “Clipstart”:www.riverfold.com/software/… featured in both the US and UK print editions of Macworld. It’s great to see the product in print.
Around 1996 to 1998 I worked for a small Mac software company called Purity Software. When “Ned Holbrook tweeted”:twitter.com/nedley/st… that he had a collection of old Macworld print magazines, combined with having Clipstart’s review fresh in my mind, it jogged a memory that one of my products from Purity was reviewed in Macworld and I had always wished I had kept a copy. WebSentinel was a C++ PowerPlant app with a great UI for server products of that era (“screenshots here”:www.purity.com/websentin… — warning, Mac OS 8), though in hindsight it suffered from some annoying bugs and had trouble scaling. It turns out that 10 years later the review is nearly impossible to find online, but by following a series of broken links I eventually got a copy from the Internet Archive’s Wayback Machine.
I’m archiving it below. It ran in the December 1998 issue.
–
WebSentinel 2.0
Master of the Realms
By Jeff Davis
For Macintosh Webmasters who find their server’s built-in security limited and tedious, Purity Software’s WebSentinel 2.0 promises relief. This WebStar API (W*API) plug-in provides support for multiple database mechanisms and an attractive interface for an array of security services, including new features such as support for workstation restrictions, HTML log-in forms, and account expiration.
WebSentinel 2.0 extends the realms model of Web security common on Macintosh Web servers. Rather than applying permissions to a folder (such as the Logs folder), you set permissions for a group of URLs (the realm) that share some specific text (any URL that contains .log, for example). This method can be very powerful, allowing administrators to secure like files regardless of their location on the server.
In addition to standard HTTP authentication for realms, WebSentinel 2.0 supports HTML-forms-based authentication, allowing you to present personalized log-in screens. Webmasters can designate customized forms and no-access files for each realm. WebSentinel 2.0 even offers Redirection realms, so requests for certain URLs can be automatically sent to another page.
Once realms are defined, you grant access to users, groups, and workstations. In addition to simple user names and passwords, administrators can define expiration criteria for each user, consisting of a date, a number of days, or even a number of accesses.
WebSentinel 2.0 supports multiple “data targets” (back-end databases); you can save your information to more than one type of outside database, including those in Purity’s own Verona format and those in FileMaker Pro.
It took me about 60 seconds to install WebSentinel 2.0 on a Mac server running StarNine’s WebStar 3.01. After another five minutes, I had my users, groups, and realms up and running. Both the administrative application and Web-browser interface are attractive and usable, but a few very minor interface glitches exist. Although assigning access to users and groups is quite simple, WebSentinel 2.0 needs to offer an easier way to display all users and groups assigned to a given realm within a single window.
The security options all worked nicely, and there was no noticeable performance hit with ten users and realms. I did encounter problems when trying to use the plug-in with WebTen, due to an inconsistency with Tenon’s W*API implementation. Tenon has a patch that addresses these problems.
Macworld’s Buying Advice
Macintosh Webmasters will definitely find that WebSentinel 2.0 offers an elegant extension of WebStar’s realms-based security. But those dissatisfied with the whole realms concept should look to other options, such as Tenon’s WebTen, which offers built-in file and folder security.
RATING: 3 1/2 mice PROS: Elegant interface; authentication forms; multiple data targets. CONS: Lack of file and folder security; no easy way to view access by realm. COMPANY: Purity Software (512/328-2288, www.purity.com). $199 (upgrade from 1.0, $79).
December 1998 page: 62
“Huge post from Craig Hockenberry”:furbo.org/2009/07/1… on the App Store. Lots of good points. I especially like the insight comparing it to the music store, the need for upgrade revenue, and ideas for improving discoverability.
Where I have a problem is at the $999.
Not for support or early access to new versions of the iPhone OS, that’s fine. ADC Select and Premier members are used to paying for non-essential bonuses. The issue is whether we should pay extra to work around a problem that Apple has created for themselves and developers.
And I totally respect that Craig is just throwing out a bunch of possible solutions, hoping that something will stick, that Apple will start to pay attention and draw inspiration from the community. “As he said on Twitter”:twitter.com/chockenbe… “I just want to put money where my mouth is.” I think the $999 figure speaks to just how painful this process has become. Luckily developers are also natural problem-solvers, forever hopeful even when desperate.
But just as the $99 fee to become an iPhone developer didn’t filter out the junk apps and unserious developers new to the platform, neither will throwing more money at the problem make it go away. The gold rush is still on, and we should expect app submissions to only accelerate.
Most importantly, let’s take a step back and remember: it was Apple’s choice to build a closed system, one in which they alone could approve and deny apps. The idea that we should pay extra because they underestimated how much work it would be to approve thousands of apps really bothers me. It would be punishing developers for Apple’s own failure.
“Colin Barrett pointed out”:twitter.com/cbarrett/… that Apple loses money on free apps, when you consider server overhead and review staff. I find it difficult to believe that Apple is doing anything except raking in the cash from the App Store. After all, they are used to giving away bandwidth for a number of products: Safari and QuickTime downloads, iLife and iWork software updates, not to mention updates to Mac OS X itself.
From an article back in May, “Techcrunch also assumes”:www.techcrunch.com/2009/05/1… that Apple is doing quite well off the App Store:
I want to believe that there is a solution to this. A quick reading of “AppShopper.com”:www.appshopper.com shows that on some days up to 100-200 apps go live on the store. That’s a lot of apps. But Apple is a large company, and they’ve surely dealt with more difficult staffing problems than hiring some people who know how to use an iPhone.
Other than a handful of exceptions in the jailbreak community, iPhone developers are playing by the rules Apple created. The burden is on Apple to deliver fast reviews, and it’s something that all developers deserve, not just a select few with extra cash to burn.
I’m extremely impressed by this UI from MobileMe. All web-based, of course.
Excellent progress feedback, great attention to detail… But then they nearly ruin it with “item(s)”.
Every product needs a believer. Not on the product team, but outside. A champion beta tester. Someone who sees the potential and will offer such constructive criticism and feedback early on that if you don’t make the app perfect you will be personally letting them down.
This is so critical, that many products succeed or fail to reach 1.0 on this point alone. Without inspiration from your peers, it becomes difficult to push through “the dip”:sethgodin.typepad.com/the_dip/, the rough times in development when everything goes wrong and you can’t imagine how your app will ever see the light of day. Seek out that one person — friend, spouse, blogger, anyone — who will light a fire under you to ship a quality product.
Yes, I want to hear how much you like my app, but I also want to hear where it fails and frustrates you.
The feedback I’ve received for “Clipstart”:www.riverfold.com/software/… is astonishingly well thought out and helpful. I like to think the app is attracting the best kind of customers: articulate and experienced enough to know what they want. If I could only implement half the suggestions to improve the app it will evolve into something great.
Of course, great beta testers only go so far. We still have to work really hard. “Merlin Mann said it best”:www.43folders.com/2009/03/1… “The only person who can sit on your ass is you.”
“Clipstart 1.1”:www.riverfold.com/software/… is out, with support for the iPhone 3GS, YouTube, and more. I’m really happy with the response I’ve received so far. The 3GS is such a convenient device for video that even people who weren’t taking lots of clips before now find themselves with a bunch of videos. That deserves a dedicated management app.
“Ryan Irelan”:ryanirelan.com asked me the other day if Clipstart would support a simple email option, for quickly sharing a video with family without uploading to a web site. This is a pretty good candidate for using Clipstart’s file actions, which allow you to process the selected video files with a script.
I liked how “Acorn handled this kind of thing”:flyingmeat.com/wikka/Aco… so I essentially lifted its file actions feature directly and put it into Clipstart, even down to the ACShortcutKey shortcut comments. Even though Acorn is for still images and Clipstart for videos, it seemed similar enough that you could conceivably take lightly-modified scripts from one app and use it the other, if they did not deal with the file’s contents.
Here’s the email script that will be included in Clipstart 1.1.1:
#!/usr/bin/osascript
on run argv
set filepath to item 1 of argv
set old_delims to AppleScript’s text item delimiters
set AppleScript’s text item delimiters to {"/"}
set path_items to text items of (filepath as text)
set AppleScript’s text item delimiters to old_delims
set filename to last item of path_items
tell application “Mail”
set new_msg to make new outgoing message with properties {subject:filename, content:"" & return & return}
tell new_msg
set visible to true
tell content
make new attachment with properties {file name:filepath} at after the last paragraph
end tell
end tell
activate
end tell
end
Running scripts has been in Clipstart since 1.0. The implementation is pretty simple. I parse the available file action files to extract the executable path and any shortcut keys and modifiers, then dynamically create the menu items. When it’s time to run an action I use NSTask and friends to execute the program and pass the script file and selected movie path to it.
Instead of this:
/path/to/myscript.sh /path/to/movie.avi
Clipstart does it like one of these:
/usr/bin/bash /path/to/myscript.sh /path/to/movie.avi
/usr/bin/osascript /path/to/myscript.sh /path/to/movie.avi
I did this to not require setting +x on the file, but it also seems to be a more convenient way of processing command line arguments when run from osascript.
You know it has been a good conference when you come back inspired, with ideas and tools to build new things. No surprise that WWDC was like that for me, as it is pretty much every year.
Even before the keynote was over I was getting questions — which continued all week — about whether I had iPhone plans. At the very least, Clipstart 1.1 needs to be able to import videos off of the 3GS. “That’s in beta now”:www.riverfold.com/forums/to… But what about a native phone app?
I’ve convinced myself over the last couple weeks, after listening to what people are doing with their phones and evaluating the existing applications in the App Store, that Clipstart for iPhone would be a very useful app. Video on the 3GS is a big deal. Eventually I can see a new top-level Video category in the App Store, and whoever is in that list is going to do very well.
“Neven Mrgan”:mrgan.tumblr.com/post/1240… sums up the urgency:
I’ll admit that after WWDC I panicked, thinking for a moment that I had to deliver Clipstart for iPhone immediately, and drop everything I’m doing to make that happen. I no longer believe that. The Mac version of Clipstart has a lot of potential and I can’t get too distracted from following up on that. But at the same time I will be expanding what I do on the phone, so we’ll see where that goes.
What I like most about the “FastScripts 2.4 release”:www.red-sweater.com/blog/823/… is that Daniel was willing to completely change the product evaluation terms to give new life to the product and get it out to more users.
It’s always a risk to make a pricing or demo limit change. Whether accurate or not, I imagine the financial side of product development as a delicate tower of blocks, where the slightest change could cause your whole sales structure to come crashing down. For that reason I tend to not touch anything if it is working, but I recognize that I am probably holding my business back at the same time by not being more flexible.
“Paul Kafasis of Rogue Amoeba”:www.rogueamoeba.com/utm/2009/… on exhibiting at Macworld 2010:
I like companies that make decisions based not just on spreadsheet numbers, but on belief and instinct too. It’s a shame Apple didn’t show more of that when weighing whether to continue exhibiting at Macworld. Because Rogue Amoeba doesn’t sell on the show floor, the conference has to be less about directly recouping costs and more about connecting with customers and building goodwill and name recognition. See also “Should I Exhibit At Macworld”:www.rogueamoeba.com/utm/2007/… from Paul Kafasis in 2007.
I haven’t attended or exhibited at a Macworld since the late 90s, and every year I miss it.
Last week I looked at the SVN log for my application in development and realized that I had started it exactly 1 year ago. While I wasn’t actively working on it every day or week during that time, that’s still a very long time for me to work on an application before shipping it. I knew I had to call the 1.0 done and push it out.
I was falling into that infinite 1.0 cycle where I could continue to improve the application forever without releasing it. The sooner I noticed that trap, the sooner I was able to correct course and get the app into the hands of real users.
The app is called “Clipstart”:www.riverfold.com/software/… It’s for importing, tagging, and uploading home movies. I have high hopes for the app and a lot of fun stuff planned for the future.
As usual, a lot of people talked about the product even before I did. My thanks to Dan Moren of Macworld for “covering the launch”:www.macworld.com/article/1… before I even had a chance to spam him with a press release; to John Gruber for “posting about how he uses it”:daringfireball.net/linked/20… and to “Duncan Davidson”:journal.duncandavidson.com/post/1024… and “Mike Zornek”:blog.clickablebliss.com/2009/05/0… for their write-ups. I also very much appreciate “all the retweets”:search.twitter.com/search and goodwill from my friends on Twitter. Those meant a lot.
There’s always the risk when developing for Mac OS X that Apple will compete directly with your product. iTunes, Mail, and Safari are high-profile examples, as well as the “lightning strikes twice” hit of Watson/Sherlock and Sandvox/iWeb. That history is “well documented”:www.karelia.com/news/smal… so I won’t repeat it here.
But when listening to the “Macworld podcast”:www.macworld.com/weblogs/m… a week ago (the episode with Dan Moren and Jason Snell back from the iPhone 3.0 announcement) it struck me that iPhone software is a little unique. They made the point, which I think is true for most software, that Apple’s offering is usually simple, full of holes that could be filled with new features from third-party developers. There is usually room for a developer with a unique twist on an idea to market and sell his solution to like-minded users, even if Apple ships a default good-enough app for most people.
Except there’s one pretty significant problem, especially on the iPhone. Apple cheats.
Third-party apps cannot run in the background. So it doesn’t matter how many features a recording app has that Apple won’t bother to implement, background recording is the killer feature that will always remain out of reach for developers.
Put another way, if the Apple app didn’t record in the background and a third-party app could, that third-party app would likely be worth $5-10 to many people for that one feature alone. But give Apple background recording and it doesn’t matter how many features another app adds — syncing music, FTPing to a server, multiple tracks, sound effects, more file formats — it’s going to be a challenge to convince users they need two recording apps. I expect some audio developers to overcompensate by adding every feature listed above and more to make up for the one feature they can’t have.
I wasn’t going to write about MacHeist this year, but after a hail storm damaged nearly every roof in our neighborhood, I noticed something kind of obvious: there are a lot of business that make it up on volume.
This is the new MacHeist promise, right? Not just exposure, although that’s part of it, but selling so many tens of thousands of copies that the developers do very well regardless of their tiny underpriced cut of the profits per sale.
We don’t get hail in Austin very often. I took the Flip out and “filmed a little bit of it”:www.flickr.com/photos/ma… as golf-ball sized balls of ice blanketed the yard. Afterwards every roofing company in Texas descended on Austin offering steep discounts, in some cases even covering an insurance deductable of $2000 or more. Depending on who you ask, such practices may or may not be considered insurance fraud, but like MacHeist it does come with ethical considerations. The roofing companies knew that they could do so much business in the next 2 weeks that they will easily make up for reduced profits by the sheer volume of work.
There’s another kind of discount shared between roofing companies and MacHeist. Users promote the package they just purchased in exchange for further discounts. For MacHeist it’s spamming your Twitter followers (I get a free Delicious Library!). For roofers it’s spamming your neighbors with a yard sign (I get $250 off!).
I’ve learned a few things from all of this that I think will help me make “my own indie business”:www.riverfold.com stronger, or at least more consistent. I gladly give free licenses to reviewers, bloggers, and small Mac user groups. I also routinely do 10-20% off discounts that anyone who knows how to search Twitter or “RetailMeNot.com”:www.retailmenot.com can use.
But I’m just going to have a default “no thanks” answer for big promotions and mass giveaways. It’s consistent with what I believe about keeping prices fair to sustain a Mac business, and it takes the guess work out of which promotions harm the Mac ecosystem and which are a great deal for everyone.
Last week my “@wii”:twitter.com/wii account on Twitter passed 3000 followers and seems to finally be growing strong after a year of neglect. I now try to post once every couple days with Nintendo news, and I’ll eventually throw in a tweet on new Wii Transfer updates. That was my evil plan from the beginning: have some fun with the account but also use it to build an audience and promote my own projects.
I view @wii as a gift. I don’t know how long it will be under my control. As Twitter continues to go mainstream, eventually I expect Nintendo will want my little 3-character Twitter name for themselves, and I might just be glad to hand it off. Twitter works best with a personal voice, and I’ve already all but closed some of my secondary accounts.
I’m more conflicted about what to do with the “Wii Friend Codes site”:wiitransfer.com/codes/. At one time I imagined it as a full Riverfold product, with integrated Mac and iPhone apps, but now I find that I lack the passion to really take it to new places. And to be honest, it works as is.
On a previous episode of “Core Intuition”:www.coreint.org/, number 14, Daniel and I talked about open source. One LGPL tool I use in Wii Transfer is called FFmpeg, a very popular video conversion project that forms the base of many video web sites, as well as the Mac QuickTime component, Perian.
In the latest Wii Transfer I updated to a new version of FFmpeg, which it turns out had a major bug: “broken audio for 8-bit input sources”:roundup.mplayerhq.hu/roundup/f… Of course I am including the fix in a bug fix update to Wii Transfer (still “beta in the forums”:www.riverfold.com/forums/), but not before many customers were hit by the problem.
Not to look a gift horse in the mouth, but it reminds me of one annoyance with FFmpeg: no releases. You basically just follow trunk, and if there’s a bug, sorry. This is understandable. It’s open source, after all, and the developers don’t owe you anything. But at the same time, it’s one of the reasons I’ve moved to Perian-only in my new app, and left the FFmpeg trunk and other similar open source command line tool projects behind. With Perian I can track specific major releases and know that someone has tested them. QTKit is good enough now on Leopard that I feel comfortable basing on app on it.
Daniel also mentioned in passing that violators of open source licenses are likely to get away with it. I think that’s largely true, but I found that the FFmpeg developer base has a pretty keen eye to this issue. If they notice that commercial software is using FFmpeg or MEncoder or other portions inappropriately, they will list the software in their “hall of shame”:www.ffmpeg.org/shame.htm…
It’s often true that the further away you get from an event, like the release day for the Safari 4 beta, the closer you get to a fair analysis. Initial Twitter reaction was gut level and some not even based on anything but screen shots. “My own post”:www.manton.org/2009/02/d… was admittedly slightly half baked, but I think it stands up fine.
Now we are seeing some more thoughtful analysis, including from “Dan Frakes of Macworld”:www.macworld.com/article/1… and “Lukas Mathis”:ignorethecode.net/blog/2009… and of course the thorough “John Gruber of Daring Fireball”:daringfireball.net/2009/03/s…
I wanted to revisit one thing with click-through. If you eliminate the mouse rollovers and click-through for inactive tabs, you end up with surprisingly few places to accidentally click. Here are two screenshots illustrating the difference between Safari 4 and BBEdit.
It’s true that the file icon needs a hold-and-drag, so it’s harder to click, and the hide toolbar button is off to the side and less dangerous than closing a tab. Nevertheless, viewed by pixels alone there isn’t a significant difference between the safely clickable area of these two window title bars if Apple makes this small change.
Update: If I left too much to the imagination, here are examples of the real Safari 4 clickable areas, not the way I wish it would be above.
And the extreme example with even more tabs:
The important point is that if you disable click-through for inactive tabs, the safe area does not change even with dozens of tabs, and in my opinion it is only marginally worse than other standard Mac applications, as shown in the first two screenshots. The current Safari 4 behavior, on the other hand, continues to degrade until the window title bar is nearly useless.
“Brent Simmons is still looking”:inessential.com/2009/03/0… for the perfect version control system:
I haven’t used Git much since Daniel and I discussed it on an early “Core Intuition”:www.coreint.org episode. Like Brent I just don’t see a big win for single-person projects, although it’s fascinating to watch how open source projects are using “Github”:github.com/.
I like what Brent did a few months ago with his blog redesign, how both inessential.com and ranchero.com complement each other. He also wrote “more about his publishing system”:inessential.com/2009/01/3… including a bit in passing about the tool I used to start my blog, Radio Userland.
I mention it because this blog is 7 years old today. Happy birthday to manton.org.
In my “last post about family pricing”:www.manton.org/2008/10/f… I mentioned that I modified my PayPal scripts for backend order processing to support family packs, but I left out that the whole system is a hack. A hack that processes a nice chunk of money, but a hack nonetheless. Hard-coded PayPal buttons and coupons, PHP that would make even newbie web developers cringe, too few lines of code to really be taken seriously.
I refactored it a few months ago, but kept some ugliness in there to remind myself that I should move to a “mature store solution”:www.potionfactory.com/potionsto… Sometimes we build systems that are flawed from the start, and it’s wasted effort to invest time into something that will be replaced. Instead, let the thing stand out like a sore thumb.
It’s a complement to doing things simply and taking shortcuts even when it’s tempting to overengineer and build the perfect system.
This ugliness trick works for other things too. For example, the Wii Transfer product page is /software/wiitransfer/ instead of just /wiitransfer. I gave this URL more thought and second-guessing than it deserved, and every time I type /software/ or see the link I cringe a little. But I did it for a purpose: one day I hope to sell or promote things other than software. For example, when I registered riverfold.com I was working on an independent animated film which I planned to sell on DVD direct to customers. (I’ve had that shelved for years now, though, as I’ve recently discovered there are only 24 hours in a day.)
Others will say that you shouldn’t mix such different projects under the same brand, and that makes a lot of sense. But I also know it to be true that if you want to build a strong blog following, you should stick to one subject and become a respected voice in that field, and I didn’t do that either. I made a conscious decision with my personal blog to keep it loose and cover several different things that I am passionate about, and because of that I’ll likely never have tens of thousands of readers as other popular Mac development blogs have.
So maybe one day Riverfold will sell something other than Mac software. When that time comes, it won’t matter what the URLs are, but until then, the /software/ URL won’t let me ever forget that I have other things in mind.
The first reaction most people had to Safari 4 — especially the new tabs interface — was negative. I’m here to defend it.
But first, let’s get the mistakes out of the way, because they are substantial. Safari 4 tabs have several new usability problems:
Clicks to close or drag in inactive tabs should not be allowed. As Daniel Jalkut pointed out on Twitter, these “landmines” decrease the available space to click when dragging a window. And the problem only gets worse as you add more tabs. It requires too much thinking before being able to drag a window. (You can bet Apple has research that shows most people only have 1 or 2 tabs open at a time, but nevertheless you are going to sometimes have a bunch.)
Click-through should not be enabled. Same point as above, but don’t allow closing tabs or clicking the drag handle when Safari is not the frontmost app. John Gruber has written extensively on this issue, and this post from 2003 is a good place to start.
Title bar font is different than every other app. I understand this decision, but it’s unnecessary for small numbers of tabs. If you have 1 or 2 or even 3 tabs open, there’s no reason not to use the full font size so that Safari’s title bar is consistent with other apps. It’s distracting.
Too subtle. Because nothing in the content area of the window changes, it’s easy to miss the tabs. They are in a more prominent place but somehow fade into the background. I’m not sure whether this is a good or bad thing yet, but I’m leaning toward bad.
There are other largely aesthetic complaints about the new tabs, such as how the default wider tabs look odd compared to previous versions of Safari, but a lot of that is just unfamiliarity and doesn’t point to a specific usability problem.
So why do I like what Apple is doing here? Because I’m hopeful that this is the first experiment to bringing system-provided tabs to applications.
Here’s what I wrote about this issue in 2005:
In the last 4 years the problem has only gotten worse. Developers are rolling their own tab solutions and there is no consistent behavior or keyboard shortcuts that I have seen. Worse, coding fully-featured tabs with the ability to drag windows in and out of a tab group is very difficult, and most apps don’t go that far.
The Safari 4 tabs are conceptually the right way to go. It’s not “tabs” at all. Instead, think of it as an efficient way to dock multiple windows together.
Getting the tabs out of the content area of the window is also the first real step to making this available to other developers. While I don’t think you should stamp this on to all applications, certain classes of document-based applications could “opt-in” to this new system and get it mostly for free, with consistent UI and behavior provided by the system. Developers who had special requirements or wanted a custom tab look-and-feel could continue to build their own tabs without worry that their UI would be interfered with.
I have no idea if this is the direction Apple is going in, but the Safari 4 design makes me think that at least someone at Apple has this in the back of their head.
While not a major blockbuster, Coraline seems to be quietly doing pretty well. It has recouped about half of its production costs, and according to “Box Office Mojo”:www.boxofficemojo.com/weekend/c… actually added a few theaters in its second week of release.
One of the artist blogs I follow is by Matt Williames. I didn’t realize “until he posted about it”:handdrawnnomadzone.blogspot.com/2009/02/c… that he worked on facial expressions for the film:
Cartoon Brew also links to a collection of “YouTube clips from an artists panel”:www.cartoonbrew.com/feature-f… about Coraline. It’s a shame the “art of” book seems so incomplete.
I thoroughly enjoyed the movie. A packed theater and applause when the credits rolled only added to my impression that this movie is something special that is being carried by word of mouth.
A few months ago “Ars carried a story”:arstechnica.com/journals/… about Apple canceling a call center in Colorado. This part stuck out to me:
In this case it was just bug fixes, but it reminded me of “Getting Real”:gettingreal.37signals.com/. Make software easy to use and simple and then there are fewer things that can break and users are less confused. I have been obsessed with following this advice lately. Some of the limitations I’ve put in a couple recent projects:
Limiting features in an app does not come naturally to me, but the more I embrace it, the more value I see in it. I “tweeted a bonus side effect”:twitter.com/manton/st… to this approach last week: “Maybe another reason why simple software succeeds: customers see in it all the possible features to come, implemented just right for them.”
“Daniel”:www.red-sweater.com/blog/ and I have now recorded 13 episodes of Core Intuition. Each time I go through these stages of denial and acceptance:
Our latest episode is out now on the “Core Intuition web site”:www.coreint.org/. We talk about getting started, making mistakes, business, pushing to 1.0, and the upcoming “NSConference”:www.nsconference.com/.
A special thank you to our listeners. The feedback is very encouraging.
“Rob Walling has a good post”:www.softwarebyrob.com/2009/01/0… about all the expenses it’s easy to overlook when starting a software business. The most insightful line is this:
This rings true for me. Wii Transfer is too successful to abandon, but not successful enough that I can retire to a beach house. Luckily I love the “people I work with”:www.vitalsource.com/, but I’ll admit that running Riverfold on the side is making me a little bit nuts.
I guess the “good news” is that I’m pretty used to too much work and too little sleep.
I don’t have an expensive camera and I don’t know that much about photography, but you’ll just have to trust me that the sky looked amazing this morning. Especially a few minutes before this picture was taken.
We should have another 80-degree day today before it gets cold again. As much as I complain that it doesn’t snow in Austin — that wouldn’t it be great if the kids could live a real winter at least every couple of years, the kind they read about in books and newspaper comics — I have to admit that it’s pretty nice to be outside with a t-shirt in the middle of winter.
Funny thing about mornings. I could sleep until noon every day if kids and work didn’t prevent me, but I seem to be most productive early anyway. Stepping into my home office still dreary eyed and without breakfast, catching up on tweets and email from Europeans and other night owls, then settling into source code or design or testing with some amount of quiet before the rest of the world sends another batch of distractions my way.
Forget the realities of slipping release schedules and buggy software. Morning is that special time when everything still seems possible.
Centralized app update notifications on the iPhone were a great idea, right? Turns out, maybe not. My App Store icon has a “26” badge on it. I have no idea which apps have a new version available until I click and scroll through the list, or use iTunes. The reality is that at least 3/4 of them are for apps I downloaded but don’t use very often. I now have to set aside some time to weed through this list of apps.
I’d much rather get a friendly reminder of a new version when I launch the app itself — maybe even outside the app’s control, near the top of the screen just like when a phone call is in the background. There are a few apps I use every day that were updated weeks ago, but I continued to use an old version because the notification was lost in the noise of dozens of other junk apps.
The 5th annual “STAPLE! indie comics expo”:www.staple-austin.org is coming up in 2 months, and I’m happy to say that one of my favorite comics artists growing up will be headlining the show: Stan Sakai of “Usagi Yojimbo”:www.usagiyojimbo.com fame. If you are in Austin in March, please plan to attend. (And say hi if you see me. I’m usually helping sell t-shirts or milling around somewhere.)
There’s also a “new short Usagi story”:www.myspace.com/darkhorse… on MySpace’s Dark Horse page.
“Daniel Jalkut”:www.red-sweater.com/blog/ and I have wrapped up episode 12 of Core Intuition, available now on the “Core Intuition web site”:www.coreint.org/. If you are a Mac or iPhone developer, or even if you are just interested in what two developers think about current Mac news, please subscribe and give it a listen.
This time we talk about Macworld 2009, including announcements in the keynote, third-party developers “Fraser Speirs”:speirs.org and “BusyMac”:www.busymac.com/, future iPhone devices, and the Macworld user conference. Plus: I spill more details on my new indie app and Daniel shares a tip for refactoring NIBs.
Got feedback? We’ve love to hear from you at “feedback@coreint.org”:mailto:feedback@coreint.org.
Every year my New Year’s resolutions look about the same: draw more, journal more. (Blogging more is never one of my resolutions, but I’m nevertheless off to a good start this year with a goal of about one new post a day.)
This year I knew I needed some inspiration to keep drawing more. I ordered a calendar of drawings from the in-progress short film Leonardo and pinned it to the wall above my desk. My idea was pretty simple: every day I will see this calendar, and I will mark off the days that I actually draw.
The calendar is still blank. Guess I’ve failed, so far.
In better news, animator Jim Capobianco is nearing completion of the film. He’s been posting some excellent tips on his blog about what he’s learned during production. I saw a rough cut of his film at the 2D Expo. Even in storyboard form you could tell it would be great. I blogged briefly about the trip to California for the expo and WWDC back in 2004.
His day job is at Pixar, where he’s been responsible for other hand-drawn efforts such as Your Friend the Rat (on the Ratatouille DVD) and the WALL-E closing credits.
I like this KVC mini-rant from Gus Mueller’s post about writing “Acorn plug-ins in JavaScript”:gusmueller.com/blog/arch…
Gus has been posting to both his personal and company blogs lately. Another neat script over on the Flying Meat blog is “this one about drop shadows”:flyingmeat.com/blog/arch…
I still get a lot of mileage out of Flying Meat’s other product, VoodooPad. I’ll be writing a follow-up to my “authoring help post”:www.manton.org/2007/01/f… in the next week or so, this time with an example document.
Last month “I asked on Twitter”:twitter.com/manton/st… for opinions on comma-delimited vs. space-delimited tagging. I didn’t get very many responses, but what I did get was pretty interesting.
Consensus: most people like commas and everyone likes Flickr. (The second takeaway here is that the service or app is more important, since Flickr uses spaces and everyone seems to cope just fine, even that 66% who prefer commas.)
You can see the “full report stats on Wufoo”:riverfold.wufoo.com/reports/t…
As I mentioned in my “Rails rant last week”:www.manton.org/2009/01/r… I have an unhealthy distrust for Rails plug-ins and monkey-patching gems. In addition to often breaking when you upgrade Rails, too many high-level abstractions can make it difficult to understand and debug the code later when things go wrong. For those reasons I will sometimes roll my own solution instead of using someone else’s. (As an aside, I rarely do this with Mac development, perhaps because I understand the internals of Mac frameworks much better than I do for the Rails core.)
But I’ve just been so impressed with the “will_paginate”:wiki.github.com/mislav/wi… plug-in. It’s fast and there are no obvious compromises — good out-of-the-box defaults and enough hooks that it can be customized.
If you are doing any Ruby on Rails work and haven’t checked it out yet, I think you’ll find that will_paginate is a very elegant solution to something every web app is going to need.
I started reading the “Get Rich Slowly”:www.getrichslowly.org blog last year and it has quickly become one of my favorites. Don’t let the name fool you — it’s really just about practical advice for paying off debt, keeping a budget, and saving money for retirement. The author hits that perfect blogging voice that feels very authentic, as if he and his readers are peers.
“This recent post”:www.getrichslowly.orgblog/2009/01/05/9-methods-for-mastering-your-money-in-2009/ to start off 2009 covers all the major goals of the site. Here’s a snippet from budgeting:
I think there’s something for just about anyone in his blog, whether you are paying off a mountain of credit card debt or starting as an entrepreneur who wants to keep enough cash in the bank to cover those slow months.
In October I “blogged about”:www.manton.org/2008/10/f… and then launched a “family pack” purchase option for Wii Transfer. $39 for 5 licenses vs. $19 for 1.
The results are in, and they are unspectacular.
2.6% of orders were family pack purchases. At an extra $20 per order, that essentially comes out to the equivalent of one extra sale for every 40.
To all my customers who were honest enough to choose the more expensive option, thank you. I don’t think most people need the flexibility of running 5 copies of Wii Transfer simultaneously, but I’m glad that it’s helpful for a few of you out there.
Now that I’ve written this down and crunched the numbers, it calls to mind something that “Joel Spolsky”:www.joelonsoftware.com said in an interview. All the coupons or referral fees or discount prices or other gimmicks they tried are ultimately just a diversion from the best way to increase sales: make the software better.
I’ll leave you with this chart for 2008 sales. August was shiny-new-version month.
I liked today’s Macworld keynote. In many ways it was a return to pre-iPhone keynotes, with a few good announcements but nothing crazy earth-shatteringly amazing how-can-we-ever-top-this-again. Solid upgrade to iLife. Good news on iTunes. Impressive battery life on the refreshed 17-inch MacBook Pro.
At first I was worried that new versions of iPhoto and iMovie would obsolete my new app before its 1.0 even ships, but I think I’ve narrowly escaped the knife.
“Ryan at 37signals had this to say”:www.37signals.com/svn/posts… about iPhoto ‘09:
The new iPhoto does look amazing, but I’m not convinced that adding these new concepts improves the usability of the app significantly. Even in iPhoto ‘08, it’s not often clear when to use an Event vs. an Album. Tagging in Flickr and other popular web apps has proven that a fast, generic one-size-fits-all approach to categorizing can not only work, but is more flexible and requires less mental overhead to churn through images, movies, or what have you.
“Dave Winer proposes”:www.scripting.com/stories/2… a simple solution to revoking authentication in web services:
There are important things missing here, such as not sharing your credentials, but I have to admit I do like the simplicity. If the hostnames were grouped by user agent, the UI wouldn’t even be half bad. If nothing else, maybe this will light a fire under OAuth implementors to get moving. (And I count myself in that group too, since I’m involved with some services that need OAuth pretty badly.)
If you “string together tweets from Alex Payne”:search.twitter.com/search it makes for an interesting narrative about OAuth too.
Dan Benjamin did something interesting several weeks ago: he took his popular blog Hivelogic, where he’s been posting since 2001, and rebranded the content under a new domain, “danbenjamin.com”:danbenjamin.com/. Apparently that was just the kick he needed to “get even more serious”:twitter.com/danbenjam… about blogging, because he’s been on a roll lately.
A couple of my favorite recent posts over there include “Apologize”:danbenjamin.com/articles/… and “Fake Amazon”:danbenjamin.com/articles/… The latter is a must-read that finally puts a name to what may be the beginning of the end of the Amazon we all know and love:
I’ve also been enjoying the “Tack Sharp podcast”:tacksharp.tv/, even though I hope to never pay more than $300 for a camera.
Mike Ash has been rocking with his weekly Friday Q&As. From the “latest about using private APIs”:www.mikeash.com
My new app (not officially announced yet — more later) currently uses Quick Look as a significant part of the user interface. Quick Look is a private API on 10.5, but my hope was that surely it would be made public by 10.6. If I coded correctly for both cases (I have a 10.6 seed running here I can test against), then I could safely release the product and be reasonably certain that nothing would be break.
I’m now rethinking that, both because it looks increasingly like Quick Look will remain a private API even in Snow Leopard, and because I’ve gotten feedback that it’s not a perfect fit for how I’m using it anyway. At the very least I will turn Quick Look into a secondary option, something that wouldn’t be missed if it went away, and roll my own preview UI to be the default.
Blog archives don’t lie. It’s been nearly 4 years since I first “blogged about Ruby on Rails”:manton.org/2005/02/t… (Three years and 10 months, but I’m not patient enough to wait until February to post this.) Here’s a portion of what I said back then:
In that time I’ve increase my use of Rails. At “VitalSource”:www.vitalsource.com we have a bunch of Xserves running Rails applications. Mac developers have embraced Rails in the form of “PotionStore”:www.potionfactory.com/potionsto… Cheap shared hosts have been replaced with virtual servers, “many”:www.railsmachine.com with an emphasis on Rails hosting.
The community is huge now. What’s not to like?
Plenty! Here are my top gripes about Ruby on Rails.
Deployment. Ask anyone — even its biggest fans — and they will complain about deploying Rails applications. This stems from two points: the overhead to initializing a Rails application, meaning multiple instances have to be fired up and ready, unlike PHP which can process a script at a moment’s notice; and the path of ever-changing deployment strategies littered with the corpses of FCGI, Mongrel, Passenger, Thin, and more.
Upgrades. Rails matured quickly and is constantly improving. That’s great for features, great for best practices, and great for a clean API. The downside is that methods and entire chunks of the framework are deprecated and removed every major release. Forget about backwards compatibility. If you aren’t reading the blogs and keeping up with the latest changes, you’ll pay a price when it comes time to upgrade your application.
Attitude. David Heinemeier Hansson and the Rails core team have been outspoken in their lack of concern for end users. It’s because Rails is not actually a product. It was released and is open source to benefit the community and to grow the framework, but average developers should have no misconception that anyone with Git commit access is looking out for their application. I have great respect for Hansson, as well as the other high-profile developers of Rails, but it helps set expectations to underscore that Rails is not a supported product.
Java. Developers new to Rails generally come from the two other most popular web development languages: PHP and Java. Many leaders in the community come from that latter group, some of whom I count among my friends. Chad Fowler, in his “interview with Pragmatic”:www.pragprog.com/podcasts/… spoke to the baggage that developers bring to a new platform. I think some of this baggage from a more “serious” architecture is leading to new complex abstractions, such as Capistrano. Whether fair or not, I also largely blame the Java developers for using tabs-as-spaces, which is evil. ;-)
Extensibility. The Rails team wisely made a conscious effort to limit the number of features in the core of Rails, instead preferring new optional features to be implemented as gems or plug-ins. The problem is that there are limited hooks to extend the framework. Ruby is great at dynamically extending classes that weren’t designed with extensibility in mind, but there is no gaurantee that one plug-in’s monkey-patch will continue to work in future versions. Ironically, “merging Merb”:weblog.rubyonrails.org/2008/12/2… into Rails 3 will bring better supported APIs for plug-in authors while no doubt breaking a bunch of old stuff.
Speed. I put this one last because I don’t actually think it’s as big of a show-stopper as many people think. Still, it’s true that Ruby is one of the slowest languages out there, falling behind Python, Perl, PHP, Java, and enormously behind compiled languages. ActiveRecord is great, but it also makes developers lazy and requires tweaking the defaults to achieve the same performance as hand-rolled SQL. Projects like “Rails Metal”:weblog.rubyonrails.org/2008/12/2… look very cool, though, so that’s a good sign for the platform.
Even with all these critiques, there is something special about Rails and I will continue to use it for many applications. But at the same time, any shame I used to have at using PHP is gone. If I need to do something simple, I will use a simple solution. As a sort of backlash against my frustrations with Rails, I built everything that powers Riverfold (order processing, admin interfaces, the “Wii Codes application”:wiitransfer.com/codes/ and Twitter services) off of PHP.
As we start 2009, I continue to be inspired by what independent artists and developers are able to create with limited resources. Here’s one example.
Roger Ebert recently “posted a thoughtful review”:blogs.suntimes.com/ebert/200… of animator Nina Paley’s independent feature Sita Sings the Blues. Paley is still in a small bit of copyright trouble with the songs and is trying to “creatively find a way out”:blog.ninapaley.com/2008/12/2… The copyright problem was news to me. I subscribe to Paley’s blog but haven’t been keeping up with it lately.
Early in 2008 I invited Paley to screen her films at “STAPLE!":www.staple-austin.org/, but she was busy finishing Sita and preparing for its premiere in Europe. She has some great older shorts too, including one of the first Flash to QuickTime animated shorts I remember seeing, Fetch, which was linked years ago off Hotwired’s defunct animation site.
(Speaking of STAPLE!, “Stan Sakai”:www.staple-austin.org/guests/ will be our guest in March. If you are in the Austin area, please stop by.)
Sita Sings the Blues will find an audience eventually. I gave some money as Paley was soliciting donations to finish the feature, and I know I’m not the only one inspired by what she’s created. Making an indie feature film is an amazing accomplishment.
Video game console sales numbers for November are in. Two years after the Nintendo Wii was introduced — you know, the console that was derided as a gimmick, a fad, just a faster GameCube — the little white console still outsells the Xbox 360 over 2 to 1. It outsells the PS3 over 4 to 1. (“Here’s a 4cr post”:www.4colorrebellion.com/archives/… with official numbers.)
The doubters were so wrong about this one. The fans and industry experts who were quick to sell Nintendo short kept waiting for a fail that never happened. If you go into a Best Buy right now the video game section is completely owned by the Wii and DS.
Not everyone can take a risk and have it pay off so well, but it’s at least important to acknowledge that conventional wisdom and focus groups (what “everyone” knows) would have doomed Nintendo. The trick is being able to tell when you’ve got an idea that is truly special, and not just something you are clinging on to out of a stubbornness to be different.
In related news, I imported a “Nintendo DSi”:www.nintendo.co.jp/ds/series… from Japan last month and it’s a great rev to the portable system. It would be even better if I could read Japanese.
Forget the developer perspective for a minute. Even as a user I find the race-to-the-bottom iPhone price drops completely maddening. I’ve bought apps for $5 and $10, and now many of those prices have either been cut in half or lowered to 99 cents. I felt like I got my money’s worth at the higher price, so I’m not complaining that I was ripped off. Instead, I just feel like a fool.
But I’ve learned my lesson. The message from developers could not be more clear. Apparently the way to buy iPhone software is just to wait a month for the price to drop.
I realized this week that I don’t consider myself an iPhone developer. Technically I’ve paid my $99, but I’ve scrapped all my ideas except a prototype I’m working on for “VitalSource”:www.vitalsource.com/, and even that I expect someone else to finish and bring to market. If I was an independent iPhone developer I’d be furious at the instability of pricing on the App Store. Even to users it looks like chaos.
I mentioned on “Core Intuition”:www.coreint.org episode 11 that I’ve been having fun making small icons for my new app. Here are a few partial screenshots:
Some of these are just pixel-by-pixel drawings, with slight gradients in places. For other parts of the user interface I used vectors in Photoshop, which gives a nice anti-aliased look that is important for some types of shapes, but for really small icons and widgets it’s pretty satisfying to just poke at things “fat bits”:www.google.com/search style.
“Gus Mueller”:gusmueller.com/blog/ pointed out that I should be using PDFs or drawing them in code to be ready for resolution independence. He’s right of course. Maybe Apple will announce a device at Macworld that will make that task seem more practical.
I rolled out “family pack” pricing for “Wii Transfer”:www.riverfold.com/software/… over the weekend. I had to make changes to my custom PayPal integration scripts to support it, and I also modified the product page to use a simplified checkout (no standalone store page). Pretty straightforward.
I was less sure about pricing. A quick survey of other Mac developers yielded results like these (normal price / family price — all of these are for 5 users):
“Radioshift”:www.rogueamoeba.com/: $32 / $59
“Yojimbo”:www.barebones.com/: $39 / $69
“Hazel”:www.noodlesoft.com/: $21.95 / $39.95
“iLife”:www.apple.com/ilife/: $79 / $99
“Bento”:www.filemaker.com/products/… $49 / $99
“TextExpander”:www.smileonmymac.com/: $29.95 / $44.95
“MoneyWell”:nothirst.com/: $39.99 / $69.99
Additionally, some companies don’t have a family pack, but offer discounts for multiple copies:
“Acorn”:www.flyingmeat.com/: $49.95 / 2+ (20% off)
“On The Job”:www.stuntsoftware.com/: $24.95 / 2+ (20% off)
“BusySync”:www.busymac.com/: $25 / 5+ (10% off)
“Transmit”:www.panic.com/: $29.95 / 10+ (10% off)
So 5 copies is the standard for family packs. My original idea was 3 copies for $29, so I threw that out. Five copies for only 50% more seemed way too cheap, especially since Wii Transfer is already the least expensive software of any company I found. True, this is “free” money — most customers don’t buy more than 1 copy anyway — but on the other hand they are getting 5 separate serial numbers. Unlike Apple’s iLife (which has no serial numbers), or Radioshift and BusySync (which allow a special serial number to be used on multiple computers), Wii Transfer’s URL bookmarking feature requires each copy of Wii Transfer to have a unique serial number to identify the computer.
I think customers buying a family pack are exceptionally honest. They are going out of their way to do the right thing. But at the same time, it needs to be a fair enough price that I’m not losing anything if a few customers decide to share their “extra” serial numbers with a friend.
In the end I settled on $39 for the 5-copy family pack, essentially double the normal price of $19. The Bento pricing model convinced me that it was doable, even if percentage wise it’s slightly higher than other products. I’ll be watching stats over the next month to see how well it works. “Decisions are temporary”:gettingreal.37signals.com/ch06_Done… I’m not afraid to change the family price or drop it altogether if it doesn’t meet my expectations.
We planted some trees in our front yard recently. They take decades to grow, and we are under no illusion that they’ll provide meaningful shade before our children have families of their own. It’s easy to say: “Why should I bother? It will take too long before we can see results.”
But it’s like anything — the sooner you start, the less time you have to wait until that thing is mature.
If you procrastinate forever, just because you won’t see results anytime soon, you’ll find yourself looking back 10 years later and wishing if only I had just planted that tree / started that new software project, it would have been done by now.
In other words, don’t let the weight of potential work stop you from doing the right thing.
Last month, on the 7th episode of Core Intuition, we talked about promotion. In particular I had good things to say about Campaign Monitor, and the folks who built it heard the episode and wanted to ask a set of follow-up questions to use on their own blog. “That mini-interview with me”:www.campaignmonitor.com/blog/arch… about how I used the service is now online.
In closing out that blog post, Mathew Patterson of Freshview suggests a couple things I agree with, including sending a newsletter more frequently than once a year. In fact I would love to send another one soon, to link up a survey to get some more information about why customers are purchasing Wii Transfer.
Unfortunately my hands are tied with yearly. When I put together the Wii giveaway promotion, I specifically told users opting in that it would be about once a year. I did this to encourage people to sign up without wondering if they would be spammed all the time. And also, I doubted that I would have the time to send a newsletter much more often than every year. So it’s not ideal, but there it is.
Since then we’ve recorded 2 more shows. The latest “Core Intuition”:www.coreint.org hits the lifting of the NDA, the iPhone Tech Talk Tour, and Apple’s stock price.
The best essays are the ones that contain some truth or insight that doesn’t go out of style months or years later. As I return to regular blogging (12 posts in September compared to about the same number of posts between all of May through August), I sometimes stumble upon older posts that have held up pretty well.
Here are 10 of my favorites over the last 6 years with brief comments on why I like them. If you’ve only recently started reading my blog, maybe you’ll find one of these interesting.
“Understanding Comics”:www.manton.org/2003/01/u… January 2003. Probably the first of several essays where I write about art and software. Since I wrote it, Scott McCloud has finished his third book on comics.
“Perfection”:www.manton.org/2005/08/p… August 2005. Doing our best work, inspired by Tufte and the golden age at Disney.
“Set unreasonable deadlines”:www.manton.org/2005/12/s… December 2005. Code more in less time, three years ago, but still very much inspired by 37signals. I like how this post mentions my favorite animation autobiography.
“Limitations in toys and software”:www.manton.org/2006/01/l… January 2006. I connected LEGOs and toy utility with user interface design in this one.
“Smart software bloat”:www.manton.org/2006/02/s… February 2006. In a general sense, how to add features without burdening the user interface. Discoverability in context.
“Mediocrity is the new application platform”:www.manton.org/2006/03/m… March 2006. About web, native, and hybrid applications, and when to choose one or the other.
“Customer support”:www.manton.org/2007/02/c… February 2007. Sparked by a post from Ryan Carson, I write about my own experience with Wii Transfer support.
“Bush veto”:www.manton.org/2007/11/b… November 2007. I’m pretty sick of partisan politics right now, a month before the election. This post reminds me of the passion I had just a year ago.
“Fancy-pants productivity”:www.manton.org/2008/03/f… March 2008. A little bit of a rant, reacting to the opinion that code must always be beautiful.
“Ollie Johnston”:www.manton.org/2008/04/o… April 2008. Where I comment on the death of a master animator. I should re-read this one every year.
The other night I was digging around in other people’s old blog posts, catching up on things I never read but should, and I found this gem on “Seth Godin’s blog”:sethgodin.typepad.com/.
“Watch it on YouTube”:http://www.youtube.com/watch?v=1k08yxu57NA and then come back here.
Maybe the video and show is old news to everyone else, but I was stunned. A seemingly unremarkable man, by his own admission lacking confidence, the judges and audience clearly expecting the worst, expecting humiliation.
And then he is transformed. He nails it.
I consider myself reasonably competent, but not great, at what I do. My weakness is that I have my hands in too many unrelated projects to ever master one thing. The areas I am most passionate about receive a cruel pittance of attention. Not so with Paul Potts.
It’s inspiring to see someone who is just freakin' good, rising above expectation out of a bland job to surprise and overwhelm everyone around him.
Oh, and the nice thing about discovering this video late? I can fast-forward to the finish. “Here’s the winning performance”:www.youtube.com/watch with some additional backstory.
I don’t link to Daring Fireball much anymore. Everyone who cares about the Mac and reads my blog, also likely reads his. I will link or write about obviously redundant topics that everyone else is also writing about only when I feel like I can add some kind of value. I felt that way with “my short NDA post”:www.manton.org/2008/10/n… putting it in the context of customers.
But John Gruber’s latest, “The Fear”:daringfireball.net/2008/10/t… is just too good not to link to. Many developers and professional bloggers can write passionately about rejected iPhone apps, but no one connected that to the default dock and its significance in the original device introduction by Steve Jobs. Whether the theory is true, we may never know, but man is it a good read.
Last week I blogged about “my experience with a late Amazon order”:www.manton.org/2008/09/a… commenting that I was a happy customer again after they apologized. Even after being mistreated, customers will forgive everything if only the company does the right thing in the future. It’s the same way an angry customer will fire off a support email rant but then become an advocate for the company if the company responds quickly and honestly.
Thank you, Apple. “Lifting the NDA”:developer.apple.com/iphone/pr… has turned the whole developer community into optimists overnight.
When “MobileMe”:www.me.com launched with a beautiful new design, the web application suite was essentially unusable because of terrible performance. Timeouts and slow page refreshes were the norm. At the time, I didn’t think too much of this. I just waited a couple of weeks until they had either improved their backend infrastructure or until traffic had died down enough to make the site work again.
But one thing that did catch my eye is the insane number of Ajax hits from the SproutCore-based UI. Even “Cappuccino”:cappuccino.org/, which I praise as brilliant to everyone I talk to, seems to join Gmail’s progress bar with this same loading overhead cruft.
Maybe I’m reading too much into it, but I think as work shifts from the server side to JavaScript there is the potential for waste and chattiness. It’s like the countless pixel spacers from the 1990s table-based designs all over again.
Now there’s a counter-argument to this, that you can cut down on the weight of hits by just sending snippets of JSON or some other lightweight format without the baggage of too many HTML tags, but in practice I think the overhead of the large JavaScript libraries and resources to construct modern app-like UIs overshadow potential gains.
Unavoidable? Maybe. Or maybe most applications will still benefit from “traditional” Ajax. “Twitter recently redesigned”:blog.twitter.com/2008/09/c… and made their web site faster in that way. Instead of a completely new client-driven interaction model, they just take pieces of the web site and load content without requiring a full page refresh. Easy wins. Web 3.0 not required.
When producing “Core Intuition”:www.coreint.org we generally record more than we need, giving us flexibility to cut out the rambling tangents, technical errors, and frequent “uhms” that threaten to destroy any kind of pacing or interest in the show. The decision of what to leave out is just as important as the original source work — being able to recognize the best parts that add value vs. the fluff that can be dropped to make the whole thing stronger. It’s that way with any product, not just podcasts.
For episode 8, posted this morning, we ended up recording even more than usual, so we cut a batch of insignificant things but also a few good points in an effort to bring the podcast down to something closer to 30 minutes. I wanted to gather a few of those lost topics here.
Politics. We recorded the show Friday before the first presidential debate, so it only made sense to discuss the campaign. Core Intuition started before the Democratic primaries were officially over, during which time Daniel and I were quite vocal on Twitter and blogs about the election. It still surprises me that we haven’t let politics get into the show. Probably for the best.
SXSW. I talked more about the SXSW Interactive festival, from its beginnings in the 1990s as a multimedia show to the current mix of web, social media, and design. Some of the most interesting talks in the last couple of years trended away away from “5 experts on a panel” sessions to more formal talks, by speakers who love SXSW and don’t want to see it fall into mediocrity. While it’s not a developer conference, there has been a steady attendance increase from web application developers and even Mac developers.
TED. Daniel commented on the 20-minute sessions at “TED”:www.ted.com/, and how any conference would benefit from this focused approach. Imagine how much more useful sessions at WWDC would be if the speakers cruised through their technical slides in 20 minutes and then left much more time for Q&A.
So those were a few of the segments we left out. The final show included a wrap-up of the C4 conference, insight from Daniel’s “Shush” iPhone app, and rants on Google Android and user experience. “Check it out”:www.coreint.org.
I’ve been meaning to link to “this post by Justin Williams”:log.carpeaqua.com/post/3266… on shipping his Today app quickly:
There is always more to do, a never-ending stream of features you could implement for 1.0, and the same can be set for other non-software projects. When I started preparing a newsletter last month, the features crept on: I should have a coupon code, and maybe a special URL to track links, or a survey, or HTML email design instead of plain text.
I explored most of these options before finally realizing it was more important that I send the newsletter than wait for it to be perfect and solve every problem. In the end I’m glad I didn’t spend much time on it, because overall the newsletter was not very successful, providing just a blip in web site traffic and negligible increase in sales.
I placed an order on Amazon last week and chose Amazon Prime overnight shipping, something I do pretty often. The package was late. Even on Saturday, when the package was nowhere near Texas, the Amazon order page still showed estimated delivery for Friday.
I emailed support asking for a refund of the $3.99 overnight charge since they failed to ship on time, and the answer I got back surprised me. They would refund it “this one time”, but in the future I should know they don’t do Saturday delivery. All the details I had provided in my email had been glossed over, and instead they had essentially called me an idiot.
The refund itself was irrelevant. It’s just 4 bucks. But please don’t blame the customer. Even if it’s not your fault, but especially when it is!
(A second email with Amazon cleared up the matter and they apologized. I’m a happy customer again.)
I’ve blogged before about “refunds in the context of customer support”:www.manton.org/2007/02/c… and this Amazon situation just underscores that how you treat your customer is actually more important than the money. I would have been much less upset if they had refused to refund the shipping, but at least acknowledged that I was right about the order date and expected delivery.
“Paul Kafasis writes”:www.rogueamoeba.com/utm/2008/… on the Rogue Amoeba blog:
In some ways it feels like nothing has changed since March when I “posted here about the iPhone NDA”:www.manton.org/2008/03/i… I guess I’m disappointed that there hasn’t been more public conversation about building iPhone apps until now, but there’s definitely an attitude change just in the last few weeks — one in which fear of Apple’s lawyers is replaced with something closer to rebellion: posting sample code, blogging extensively, and abusing ad-hoc distribution. It’s right and healthy for developers to become as distrustful toward Apple as Apple has been hostile to developers.
From a “Wil Shipley post”:wilshipley.com/blog/2008… a few months ago:
I’ve been thinking about mistakes and bugs as I beta test “Sifter”:www.sifterapp.com/. Since it’s not ready for launch yet I won’t comment on it specifically, except to say that despite many bug systems becoming very mature (in some cases, too mature) every developer still has a different set of needs. There will always be a new bug system promising to fix all your problems, and for many of us we have to keep reminding ourselves not to code our own. Been there done that.
No, I don’t mean “Dave Winer’s thoughts”:www.reallysimplesyndication.com/riverOfNe… on RSS reader design exactly, although that’s part of it. It’s more the way we in the technology community interact with the world. Hundreds of news feeds, company chat, external IRC channels, private AIM, email dinging every 5 minutes, and the constant flow of tweets. At home, we’re connected essentially 24/7; on the road, the iPhone brings it all with us. Plus there’s the never-ending pile of work to do on too many projects.
Technology news or politics or development moves too fast and doesn’t slow down. It’s easy to feel like you’re being pulled down the river, one hand struggling to hold on to the raft and the other deep in the current, information overload all around.
Since coming back from C4 I’d been fighting a cold, which developed into a cough and sinus infection and fever and whatever worse. I finally hit the doctor up last week and just unplugged, checking email twice a day for emergencies only. I spent the rest of the day sleeping, reading, and with family — a self-imposed vacation for my brain as much as my body.
Four days later I’m feeling quite a bit better, and trying to think about what changes to make in my schedule so as to not wind up insane or dead before I’m 35. But even as I say that I acknowledge that it’s stretching the truth, because I’ve never been happier.
The primary way to track marketing and word-of-mouth about your product is to look at web site referrers. Easy. Just install “Mint”:www.haveamint.com and you’re done.
But not all referrers are created equal. A prominent link on Digg might lead to sales or it might lead to dozens of “wish it was free” comments on your blog. To really judge the effectiveness of referrers (and in turn give a better idea about where resources should be placed in the future) take it one step further to track the initial referrer link all the way through to purchase. You want to know where the customer first learned about your product.
This isn’t a new idea and I’m certainly not the first to do it. Wil Shipley spoke at length about this technique during “his C4 talk”:www.viddler.com/explore/r… in 2007, in the context of online advertising. In talking with other developers it became clear to me that most people don’t do this, even though it can be achieved in about a dozen lines of code.
The basics are pretty simple:
Here’s the PHP source for my main product page:
And then the source for the final “thanks!” page after a purchase is complete:
Note that because I am using simple PayPal buttons, not all customers actually reach the last page, because they can ignore the “return to seller” link after a completed transaction and instead go wherever they chose. This limitation goes away if you have rolled your own store or used something like “PotionStore”:www.potionfactory.com/potionsto…
I’ve been tracking these for over a year now. I’ll share some stats about what I’ve learned in a future blog post.
There will be many C4 wrap-up blog posts, but “Fraser Speirs hit the spirit of the conference”:speirs.org/2008/09/0… very well:
I had a great time at C4. As always I met a bunch of new folks and caught up with everyone I hadn’t seen since WWDC or the previous C4. It was especially wonderful to hear the positive feedback about “Core Intuition”:www.coreint.org in person. Thanks!
I also participated from the stage, as Wolf called me up to be on Saturday night’s panel literally minutes before it started. I have a feeling I came off as a bit of an oddball — I managed to shrug off software pirates, decry moving away from Subversion, suggest a “crap” label for the App Store, and actually recommend Dreamhost — but I hope there was value in it for attendees, even if it was less exciting than last year’s panel. Wil Shipley did a great job guiding questions for the panel.
For a view into what the conference was like, “check out the C4 Flickr pool”:www.flickr.com/groups/c4…
The latest episode of “Core Intuition”:www.coreint.org is up. Daniel and I focus on promotion and marketing in this show — releasing a new version, sending email newsletters to customers, and promoting your brand on a blog. We also hear from Daniel about development life with the new baby and talk up C4, which starts tomorrow in Chicago.
The web site now includes links for products and topics mentioned in the podcast. We’ll be transitioning the site to a full blog with listener comments soon. In the meantime, send an email to “feedback@coreint.org”:mailto:feedback@coreint.org with thoughts about the latest episode or suggestions for future topics. Thanks for listening!
As I mention on the next “Core Intuition”:www.coreint.org/, which I’m currently finishing editing and should be out tomorrow, “Wii Transfer 2.6”:www.riverfold.com/software/… was very well received. I put out a 2.6.1 tonight to address Mii problems for some customers, and with new encoding settings that improve movie streaming quality significantly.
The following chart shows the spike in sales for August along with every month of 2008 and 2007. This isn’t revenue but total units sold for the month.
While I don’t expect nearly this level for September, I am nevertheless interested in how far it will drop. Maybe I’ll post an updated chart at the end of the year.
For the extra curious, the jumps in September and October of last year were when I released version 2.5 and when I did the MacZOT promotion. December was MacSanta, and somewhere in the middle of there I did the Nintendo Wii giveaway.
“BBEdit 9 is out”:www.barebones.com/products/… and it’s a solid upgrade. A recently came across an old BBEdit 4 CD, which Rich Siegel gave me back in the mid 90s when I was helping run the WebEdge Mac web developer conference. Good times! Bare Bones is one of the only “old indies” to make the transition so strongly to Mac OS X. Rich is also “speaking at C4”:rentzsch.com/c4/twoOpe… this coming weekend.
I made a comment on “Dave Winer’s points”:www.scripting.com/stories/2… about McCain VP pick Sarah Palin that I feel like I should republish here. I’ve commented on dozens of blogs and news sites through the primaries, but I haven’t posted here on this blog, instead preferring to let off steam on Twitter. I think this comment serves as a nice snapshot in time of the race, at least from my perspective, so here it is:
Some of your points may end up being true, but let me just address number 6. Since you didn’t vote for Hillary, there are 18 million people who know more about this point than you do.
Every day this week at the convention, the main news story was Hillary and party unity. What would she say, would Democrats unite? Well she hit it out of the park with her speech, and Bill Clinton did too, and then Biden followed strong and it was easy to be excited about being a Democrat, about the story of Obama and Biden and how hopelessly lost the Republicans were by comparison. Even those Democrats who were frustrated with the party, and disappointed with Obama in general, started to warm up to the ticket.
When McCain picked Palin, it was like none of the week had happened. Everything was reset back to the primaries, in how Hillary had been treated by the press, party, and Obama supporters, and how Obama had passed her over for VP.
On the issues, Palin is no Hillary. But every day for the next 2 months, Palin will be a reminder to disgruntled Democrats that Obama messed up.
“Buzz Andersen responds”:log.scifihifi.com/post/4759… to some of Mike Lee’s recent blog posts:
Although I was at first disappointed that I had no time (either at VitalSource or for my own projects) to have an iPhone app at launch, as the weeks and months pass since the App Store opened I find myself less and less sure about what the App Store market actually looks like. Everything is changing very quickly. While there is no doubt a huge opportunity in iPhone development — and with another 30-40 million iPhones hitting next year, each of those new customers will have their own impulse buys and novelty purchases, to say nothing of the real apps that people need on their phone — at the same time I wonder when iPhone development will be as mature and stable as the Mac software market is.
This isn’t a direct comment on what Buzz is saying. His blog and comments on “Mike’s post”:www.atomicwang.org/motherfuc… are right-on as usual.
One of worst-kept secrets of “Wii Transfer”:www.riverfold.com/software/… is that the movie playback is not as good as what you might see on an Apple TV, Xbox 360, or PS3. I do my best to improve the quality with every release, but let’s face it: while the Wii is perfectly capable of playing fullscreen video, it stumbles when put to that task inside the Opera web browser through Flash.
In the upcoming version 2.6, I’ve added the ability to skip directly to any part of a playing movie by clicking on the timeline with the Wii remote. It was frustrating not to be able to do that in previous versions and made it difficult to watch or fast-forward through long movies.
The way many Flash movie players handle skipping is by inserting metadata into the FLV file that contains a map between seconds in the timeline and file positions for the keyframes, and that’s the way Wii Transfer works as well. Unfortunately this requires rewriting the entire FLV file when post-processing movies. (“Ian Baird”:blog.skorpiostech.com suggested a future optimization would be to store the metadata separately and redo the player to send seconds instead of file offsets to the server.) I was initially using the open source flvtool2.rb to achieve this, but it was extremely slow, so I rewrote it in Objective-C. (Not a port. The Objective-C version was written from scratch and is significantly shorter than the Ruby version in terms of lines of code. It does a little bit less, but it’s optimized for exactly what Wii Transfer needs.)
This chart shows the performance improvements when processing a couple large movie files. Measured in seconds, so shorter bars are better.
The other good thing that came out of all this work is that I can now look at a FLV file in a hex editor and not be totally confused. “Hex Fiend”:ridiculousfish.com/hexfiend/ was one of the best ways to debug what my code was doing when it failed.
I wasn’t going to give the silly $999 “I Am Rich” iPhone application any more attention after the initial laugh, but the more that everyone reacts to what went wrong the more clear it becomes that there is something to learn here. “Kottke thinks Apple shouldn’t restrict”:www.kottke.org/08/08/the… based on taste; “Ryan Irelan points to no shopping cart”:www.ryanirelan.com/blog/entr… as the problem; “Dan Benjamin mostly agrees”:hivelogic.com/articles/… but with some more analysis; and “John Gruber hits the same points”:daringfireball.net/linked/20… and mentions (in passing) what I think is the real problem: refunds.
iPhone developers have wondered for months how refunds were going to be handled. Although demo and trial versions (if added) will be used by many more customers, refunds to unhappy customers represent an extremely important part of the relationship between developer and customer. I’ve written before about “my philosophy with refunds”:www.manton.org/2007/02/c… and customer support, an opinion that is shared pretty universally in the Mac community. Just yesterday I gave a refund to a customer who purchased the software over a year ago, but apparently didn’t get around to actually using it recently and found it did not meet his needs.
If there were a proper way for developers to send App Store refunds — because of unmet expectations (app crashes or doesn’t work as advertised) or accidental purchases (my son bought this without asking me) — then this issue just goes away. It doesn’t matter whether I Am Rich is worth $999 or whether the shopping cart should be an option in iTunes. The core issue is refunds because it fixes several problems at once, and removes Apple’s personal judgement about what is good or bad for iPhone users.
I’ve really been neglecting this blog. I’m not sure what it is — I have plenty of posts in draft form and it’s not particularly hard to hit the “Send to Weblog” button.
Speaking of people who wrote MarsEdit, our sixth episode of “Core Intuition”:www.coreint.org is out. Daniel and I spend a good chunk of the show on bug tracking, thoughts on running a software business while preparing for a new baby, staying inspired and getting distracted, and a bunch more. Plus we put out a call for good artists to contact us.
We had a lot of fun with the show and I hope you enjoy listening to it. If you have feedback, send an email or “post a comment on Daniel’s blog”:www.red-sweater.com/blog/544/…
Yes, this post is a month and a half late. I could probably just re-post what I wrote in 2007 and it would almost pass for this year’s WWDC review. Just insert more iPhone and more beer.
Instead of a formal write-up, I wanted to piece together the week from Twitter posts, but that proved tedious enough that I had to write a little app to help me out. I started by adding my own relevant tweets for WWDC week, then threw in a dozen people I follow and selectively picked the tweets that were significant or about events for which I didn’t directly post.
So here you go. How I remembered WWDC 2008, in 95 tweets.
manton: Totally forgot about partitioning my MacBook for potential 10.6, but (surprise!) it’s still partitioned from last time. Now packing. Sat 06:14 PM
manton: Woke 20 minutes before my alarm. Making coffee for my taxi driver / wife. Sun 03:52 AM
manton: Migas in AUS while waiting for my plane to get here. As usual arrived way too early. Sun 06:26 AM
manton: I brought a Wiimote with me for testing and the lights are blinking. Suddenly paranoid about Bluetooth on planes, so taking batteries out. Sun 06:28 AM
manton: San Diego airport. Slightly delayed flight. Never been here but it looks like the worst place for a layover. Sun 10:15 AM
manton: Landed at SFO. Sun 01:08 PM
willie: bart Sun 01:25 PM
manton: Still surprised to run into other devs in person. Almost adjusted from online to real world. Sun 03:03 PM
duncan: Bumped into @willie @manton and @phi Sweet!!!!! Sun 03:39 PM
dmoren: en route to sfMacIndie via Moscone West… Sun 05:16 PM
brentsimmons: At Jillian’s – Tommy’s next. Sun 07:45 PM
dmoren: chilling with @clint and @ejacqui. I do not know where in SF they have taken me. Hope I make it to the keynote tomorrow. Sun 08:38 PM
bmf: Tommy’s’d! http://snipurl.com/2en8i Sun 10:47 PM
ccgus: chiefton! Sun 11:34 PM
gruber: Fucking-A, @nevenmrgan, @seoulbrother, @manton, not a bad scene at all. Mon 12:21 AM
danielpunkass: I’m so not going to Denny’s. I am at home away from home in my sweet friends' guest room. Final tweets then good night. Mon 02:21 AM
rtmfd: Running on fumes, tequila fumes. Mon 06:35 AM
manton: Set my alarm for 9am. Woke at 7 with the sun streaming through the windows. Aeiii. Mon 07:34 AM
chockenberry: I will be happy to demo [REDACTED] apps during WWDC. You can touch it. Mon 08:07 AM
manton: And I’m in. Mon 09:53 AM
moonshark: in the WWDC keynote, good view considering the crowds Mon 09:56 AM
atomicbird: Al Gore is here Mon 10:02 AM
gruber: Holy shit $199 for 8GB Mon 11:48 AM
twelvelabs: Happy to finally get to see several months of my work shared with the rest of the world. Mon 12:07 PM
manton: Apple published a Snow Leopard press release before even showing developers? Not cool. Mon 01:28 PM
manton: Graphics and Media, don’t let us down. I’m hovering dangerously between disappointed and satisfied from this morning and early afternoon. Mon 04:58 PM
brentsimmons: Heading for buzz’s party. Mon 06:57 PM
manton: Dinner and good "best of the day" discussion with @willie, @moonshark, and work folks. Heading to Buzz party. Mon 08:31 PM
manton: Choosing sleep. Tue 12:24 AM
manton: Forget 3G, forget GPS. You know what I would pay $199 for? Flagging messages in MobileMail. Tue 12:35 AM
buzz: Well, I think we can call the party a success. Tue 12:45 AM
manton: Guessed i picked the wrong session. Mostly new people based on the show of hands. Tue 10:40 AM
manton: Session hopping is much better than seeing yet another intro to Xcode demo. Tue 11:07 AM
ashponders: @manton is not carrying anything today. I am jealous. Tue 11:24 AM
manton: iPhone view controllers. Nice thing about only playing with the SDK a little is that I’ll learn more this week. Tue 01:43 PM
brentsimmons: CocoaHeads tonight. 7-9 Apple Store. Presentations + Q&A. Tue 01:59 PM
manton: Almost the end of day 2, and I’m not sick of the iPhone yet. Tue 04:46 PM
manton: W too busy. Grabbing quick noodles at Metreon before CocoaHeads. Tue 06:30 PM
louielouie: At CocoaHeads WWDC - getting to hear about Objective-J first-hand woohoo Tue 07:05 PM
ccgus: I just realized I didn’t demo acorn in my pres Tue 07:45 PM
brentsimmons: Heading to Ars party. Tue 09:21 PM
manton: Good presentations at CocoaHeads. Outside full Ars party wondering what’s next. Tue 09:43 PM
brentsimmons: Tempest. Yest. Tue 11:31 PM
macdevnet: Back from Cocoaheads and Ars Party, I think I’m getting to old for this. Great to spend some time getting to know @manton though Wed 12:10 AM
manton: Why can’t I sleep in? This is annoying. It’s as if my kids are here virtually, waking me up across time zones. Wed 07:14 AM
manton: Pixar session is always good, got in early. Wonder what @SenorDanimal is up to. Wed 12:06 PM
ccgus: I lost manton Wed 12:08 PM
manton: Push stuff is elegant, but the team doesn’t seem to understand the scale of what they are building. Wed 03:04 PM
manton: Grand Central Dispatch. Cool stuff. Looking forward to randomly using blocks a lot before the fun wears off. Wed 04:06 PM
manton: Apple Design Awards. I didn’t enter, so I’m almost relaxed. Good luck to all. Wed 07:33 PM
willie: At ADA. We didnt enter because our lack of superfluous shiny technologies Wed 07:37 PM
manton: Congrats to @nevenmrgan on the ADA win! Wed 08:09 PM
manton: Twitterific won! Congrats @chockenberry, well deserved. Wed 08:14 PM
atomicbird: Best iPhone productivity app: OmniFocus Wed 08:15 PM
manton: Going to stay for at least part of Stump to support @willie’s addiction. Wed 08:50 PM
manton: I don’t usually sit this close to the front. Scared. Wed 09:05 PM
willie: Involved in 2 stump points for the crowd this year. Rock. James Brown and the Quadra 840av. Wed 10:15 PM
manton: A surprising number of people I know are winning Stump t-shirts this year. Wed 10:28 PM
brentsimmons: At chieftain. 5th and Howard. Wed 10:47 PM
brentsimmons: Tempest now, folks. Thu 01:02 AM
manton: Using the iPod dock in the hotel room. Strange, but the first time I’ve actually ever used a radio dock. Sounds good! Thu 07:57 AM
manton: Wish there were Apple t-shirt sizes between kids 7 and adult small. Preferably in pink. Thu 09:48 AM
manton: Sitting in on Advanced Ajax for a change of pace. Thu 10:20 AM
manton: Typing lyrics into Google on iPhone to expand my WWDC music playlist. Thu 10:29 AM
manton: @atomicbird Tom Dowdy. It was a great tribute. Thu 10:36 AM
manton: Wasn’t going to see Dinosaurs, but intrigued after hearing a better description. Thu 12:26 PM
manton: Just passed @schwa talking enthusiastically to a trash can. Then noticed the earbuds. Thu 03:34 PM
manton: Debugging with WebKit session. Inspector just keeps getting better. Still like CSSEdit, buy may use it less. Thu 04:01 PM
danmessing: Apple bash time. Thu 06:48 PM
gruber: Thirsty Bear with Buzz Andersen and other malfeasants. Thu 09:05 PM
buzz: Drinking a Golden Vanilla beer with assorted Mac noteables at the Thirsty Bear. Thu 09:16 PM
willie: Barenaked Ladies - http://snaptweet.com/20fd8 Thu 10:09 PM
moonshark: Bare Naked Ladies - Apple WWDC Bash - http://snaptweet.com/3d7d5 Thu 10:11 PM
dmoren: totally just film-geeked out with @nevenmrgan. Hitchcock, bitches. Thu 11:23 PM
brentsimmons: Heading to Tempest. Thu 11:56 PM
danielpunkass: Tempest tonight was perfect crowd. Could have used several more hours of that scenario. ‘Tis a shame. Fri 02:27 AM
bmf: Dan M. wrote the "e" and ate the shit out of some toast. Fri 03:01 AM
danielpunkass: I got my ride home thanks to @manton’s cab allowance. Thanks! Fri 03:06 AM
manton: Last WWDC session. It’s been a great week but can’t wait to be home. Fri 01:58 PM
manton: Dropped my badge at the hotel and going to wonder around. To everyone I missed saying goodbye to: safe travels and seeya next time! Fri 03:17 PM
manton: @brentsimmons @rtmfd I’m going to take a raincheck on last drinks until the next conference, need to go shopping. Was good to hang out. Fri 03:30 PM
manton: The Ms Pac-man in the W lobby doesn’t need quarters. Fun. Fri 03:43 PM
manton: Visiting the Cartoon Art Museum. Fri 04:04 PM
manton: Walking to Chinatown in search of gifts. Fri 05:24 PM
manton: Walking back to the hotel using the longest possible route. Feel very relaxed. Fri 06:08 PM
duncan: Taking @willie @manton @phi Daniel and crew to Luce. Oh yeah. Celebration of a long week. Fri 07:01 PM
willie: dining with @pinar @duncan @moonshark @manton & others. Good times. Fri 07:23 PM
willie: Pantade - http://snaptweet.com/dc8bd Fri 07:41 PM
willie: Bisque - http://snaptweet.com/d901c Fri 07:41 PM
ccgus: A great WWDC photo set: http://tinyurl.com/5rtwpu Fri 08:33 PM
willie: Study of Chocolate - http://snaptweet.com/04f07 Fri 08:41 PM
danielpunkass: I’m committing to never beat myself up again for missing lots of sessions at WWDC. The social contacts are priceless and inspirational. Fri 09:45 PM
manton: Great dinner with the work folks + @duncan, @pinarozger, and Daniel Steinberg (no twit?). @willie has the food photos. Fri 10:08 PM
manton: And that’s it. Catching a taxi to SFO. WWDC review: worst keynote, best conference week. Sat 06:27 AM
manton: Landed in Austin. Pretty funny flight crew made the trip back easier. Sat 01:31 PM
“Daniel Jalkut”:www.red-sweater.com/blog/504/… and I just posted the 2nd episode of “Core Intuition”:www.coreint.org/. I’m not sure which is a bigger milestone: starting the podcast to begin with or sticking with it for at least two shows. I think the podcast is coming together well and the feedback we’ve received so far backs that up.
This episode feels a bit more content heavy than the previous one. We talked about what it’s like to work while traveling, tech books and some thoughts on the 3rd edition of Cocoa Programming by Aaron Hillegass, and then dedicated most of the last half to distributed version control systems such as Git. Even though it is just days before WWDC, we only touched on WWDC indirectly. I expect there will be enough to talk about after next week to fill more than a few shows.
Editing the show continues to be a challenge but it’s so rewarding, just being able to slowly craft the episode from the recordings. You tell a little lie every time you tweak the original source audio, but hopefully the end product feels more authentic or at least fresh. It makes me appreciate even more the work Ryan does on “The Talk Show”:www.thetalkshow.net/. Our goal is to improve the quality each episode until we reach a point we are happy with, so if you have any feedback I’d love to hear it. After WWDC I’m going to invest in some real headphones. I was shocked how different the show sounds between my speakers, cheap headphones, and iPhone.
If you haven’t subscribed yet, you can now find the “listing on iTunes”:phobos.apple.com/WebObject… and get it synced to your iPod or iPhone in just a few clicks. Enjoy!
Like many new tech endeavors for 2008, it was announced first on Twitter. Core Intuition is a new podcast from Daniel Jalkut and me, with a focus on the daily life of a Mac developer and whatever related subjects are going through our heads. There was so little time between the “let’s do it” idea to recording and edit and web site and Twitter account that I might not have believed it actually happened if I had blinked, but here it is. Expect the traditional iTunes page, blog, and other formalities to follow soon.
Daniel’s blog post has more on the announcement. He also has comments enabled, so feel free to jump over there and post feedback, unless it’s the angry, negative kind of feedback in which case please send a private email to feedback@coreint.org. :-)
Thanks for listening. We’ll be doing these regularly so please subscribe in iTunes if you want to catch the next episodes.
As most Nintendo Wii owners know by now, Mario Kart for Wii shipped last week. I put together yet another friend code database to track and share codes, but this one is unique because it builds on Twitter. Just follow “@wii”:twitter.com/wii and send your friend code in a reply. No registration, no data entry. All your friends on Twitter who also use the system will automatically be linked, so you can quickly get a view of which friend codes to add. It’s also a great way to discover new Twitter users.
I’m pretty happy with how the implementation has worked out. It’s build on essentially three background scripts:
If you own a Wii and use Twitter, “give it a try”:wiitransfer.com/codes/. If you have any questions or feature requests, please send me an email or reply on Twitter. Enjoy!
I first heard of the “Flip”:www.theflip.com/products_… a few months ago, but it wasn’t until “this 37signals post”:www.37signals.com/svn/posts… that I started paying attention. I was attracted to the simplicity of the video camera: few buttons, decent quality, and kid-proof design. Here is my mini-review.
Speed. This is where the Flip shines. It is compact enough to take anywhere, and simple enough that you can take it out of your pocket and start shooting video in seconds. I’ve already shot way more video than I would with my traditional DV camcorder.
Battery. It runs on two AA batteries. I was able to record a ton of video before replacing them, accumulating 3 GB of files over several weeks. This is unheard of compared to any other still camera or video camera I’ve owned.
Transfer. The Flip saves as the Xvid flavor of MPEG-4, which is not supported natively by QuickTime. Luckily a quick “Perian install”:www.perian.org later and you can view and edit them in QuickTime Player or any app that supports QuickTime. Just mount the camera and copy them over, or convert to H.264 with something like VisualHub. The “Wii Transfer 2.6”:www.riverfold.com/software/… beta also supports Xvid to convert and share to your Wii.
Quality. I wanted to do a side-by-side comparison with Motion JPEG used on most digital still cameras, but this isn’t a video hardware review site so an in-depth analysis is beyond the scope of what I need or have expertise in. To my eyes it looks pretty good though. Make sure to get the Ultra, not the regular Flip Video which has a lower bitrate.
Complaints. You need to give the power slider and record buttons some real pressure, and on a few occasions I’ve clicked record only to realize 1 minute later that it didn’t start. I understand that the designers didn’t want us turning it on or recording unintentionally, but this negates some of the speed advantage mentioned above.
In a nutshell: The Flip isn’t for everyone, but at just $140 it’s hard to argue with its strengths. I take it everywhere now. One pocket for iPhone, one pocket for Flip.
The search phrase “wii transfer serial numbers” (or “wii transfer serials”) is consistently one of the top referrers from Google to this blog, usually pointing to “my post about the first 75 days”:www.manton.org/2007/02/f… I figure I get enough traffic that I should dedicate a page to this. (I’m the developer, by the way.)
Here are the best ways to get Wii Transfer:
After Hillary won Ohio, Texas, and Rhode Island last month, I decided it was time to think less about actively supporting my own candidate, who clearly wasn’t going away, and more about the future of the Democratic Party and what it would take to come together when a nominee is chosen. I had been quick to defend Hillary on Twitter and in blog comments, but the more I considered the close race and the long month until the next primary in Pennsylvania, now finally here, the more convinced I became that a joint ticket is the answer to a unified party.
Rather than bicker with my friends who support Obama, I changed my tone to emphasize our shared values and launched a new site: “unitetheparty.com”:www.unitetheparty.com/. I’ve been posting there regularly since March, and hope to build a group of like-minded Democrats to write on this topic, as well as a list of supporters who want to see a joint ticket happen.
Thinking about the endgame of the race in this context provides an excellent backdrop for discussing the real issues important to voters. There’s still an opportunity to use these campaigns for good: setting the right tone against McCain and bringing awareness of the Democratic agenda to everyone.
Last week Traci asked me if I had heard about the animator who had died. Now of the 220 feeds I subscribe to in NetNewsWire, a full 60 of those are in a group called “Animation and Comics”, so I should have heard about any news from a variety of artist blogs or industry sources. But I’ve had my head down working on a number of programming projects – both Rails and Cocoa and just keeping up with the never-ending flood of email and Basecamp messages – so that NetNewsWire group was closed, and I was sadly ignorant.
My first question to her: “Was it Ollie?”
And of course it was. Ollie Johnston passed away at the age of 95, the last of Disney’s “Nine Old Men”. See the epic Cartoon Brew post for more. I had blogged about the death of his friend Frank Thomas in 2004, and also of colleague Ward Kimball in 2002.
For those who don’t know me very well, and even many who do, I’ll let you in on a little secret. One day my boss is going to wonder why I don’t answer his emails, and it will be because I’ve thrown the computer in the trash, set my USB devices on fire, and returned to the first passion of my life.
Sure, I have an old-school animation desk (old office 2005 and new office this year, next to computer stuff) and a bunch of paper and sharpened pencils to play with. Sure, I’ll still always love building software, designing user interfaces, and am grateful for the friends I have at work and in the Mac development community. Sure, I can’t support a family and giant mortgage doing silly portraits on the street corner.
But damn it. Ollie Johnston died.
Wii Transfer has a full-page mini-tutorial in the May edition of “MacLife magazine”:www.maclife.com/, as part of a section on connecting your Mac to video game consoles. I finally “picked up a copy”:twitter.com/manton/st… last night. It was certainly a nice surprise and seems to have brought a small increase in sales.
I’ve also been wrapping up the next version of Wii Transfer, which hopefully smoothes over most of the rough spots in the current release. After sending beta copies to a few customers, I’m opening up a “new forums section”:www.riverfold.com/forums/ as an experiment in getting early builds out without a more formal public beta. (It’s not linked from the main site yet, but will be soon.) Every developer handles betas in a different way, but I like the balance Jesse at “Hog Bay Software”:www.hogbaysoftware.com has achieved between his released software page and the early builds and developer notes in the forums section, for those customers willing to dig a little bit below the surface.
There are a few things in this post by “Ryan Norbauer”:notrocketsurgery.com/articles/… (via 37signals) that bother me. One is this idea that “code is meant to be read by humans first and computers only secondarily”. I understand what he is getting at, but even though I respect new advances in productivity, we have to be very careful to keep our core priorities. There’s a word for when the balance shifts away from the user and more to us as programmers: selfishness.
Imagine two programs: one is ugly and hard to read, but it compiles and is bug-free; the other is beautiful and readable, and it also compiles and is bug-free. To the user they are identical. They both succeed.
Now take those two and give them both identical beauty and readability, but accidentally break one so that it either does not compile or runs so horribly buggy and slow that it is useless to everyone. Writing code for other programmers to read isn’t enough. You have to start with code that works before you get all fancy-pants.
This growing trend to raise beautiful code and programmer productivity above the performance or functionality of the final product is dangerous. The final product is what counts. Not how you build it, but what you’ve built: how it scales, how it performs, how it solves a particular problem.
And sure, there are many times when I write slow, lazy code that doesn’t work well. But that’s a compromise you make when you have to meet a deadline, or because you aren’t sure how to optimize yet, not because you start out by deprecating user experience. If you believe Ryan, it sounds like there is a whole “movement” of programmers who toss any potential performance achievements out the window before they even get started.
You can say that great products are complex, and so you need to focus attention on how the software is built and maintained. That is true. When I ported a large application from Carbon to Cocoa a few years ago I made the decision to do so because of future productivity.
You can say that happy programmers create high-quality products. That is also true. When I am feeling most productive I am usually enjoying myself because the work environment I’m in is encouraging.
But don’t put the practice of software development above the actual result, because to do so means you care more about writing code than solving problems.
“Craig Hockenberry half-joked on Twitter”:twitter.com/chockenbe… about the iPhone SDK non-disclosure agreement and it reminded me of one of my personal annoyances in the development community: we tend to take NDAs very seriously. I’ve always been impressed by how Scott Stevenson in particular can write thoughtful articles about Mac software development that go out of their way to tiptoe around unannounced APIs. In his “latest excellent introduction”:theocacao.com/document…. to the iPhone SDK, there are no less than 3 mentions of the NDA in the original post and comments:
I’ve also been hit by this community-killer. At WWDC last year I posted to Twitter about new .Mac features and it remains the only tweet I have ever deleted. I had this sudden paranoia that conference staff would kick me out of Moscone and revoke my ADC account. Silly.
But let’s look at reality. Over 100,000 people have downloaded the SDK. This couldn’t be more different than WWDC, which effectively encourages discussion only while in San Francisco by requiring an investment of at minimum $2-3k between conference, hotels, food, and travel. The SDK by comparison is totally free to download.
Put simply, how can Apple expect us to take an NDA seriously while at the same time they spread the applications and documentation covered under this NDA to every corner of the Mac universe?
I’m not a lawyer, but this one seems legally ridiculous. There are a few issues handled by the license:
Like independent comics and art? “STAPLE! is in Austin today”:www.staple-austin.org at the Monarch Event Center, off I-35 and 2222. I’ve been on the STAPLE! planning committee for four years now and have enjoyed watching our little show grow from its humble beginnings, but it’s still a completely non-profit, volunteer-led endeavor and we need your support to make it a success. Come join us anytime between 11am and 7pm (or “check the schedule”:www.staple-austin.orgguests/ for our featured session times), and then come back downtown later tonight for the after-party and live-art show at Red’s Scoot Inn (“flyer”:www.staple-austin.orgpromote/staple2008_afterparty.jpg).
About once a year I like to put together a podcast episode around a theme, and this weekend that subject is Hillary Clinton. I think I’ve prepared it with fairness and respect, so even if you disagree please do the same. It’s both a personal expression and a way of capturing a moment.
» Download (MP3, 6.2MB)
» Subscribe in iTunes
It’s about 13 minutes long. Enjoy.
I love the passion in “this comment from Wil Shipley”:theocacao.com/comment/5…
I’m one of those people who will upgrade to “Delicious Library”:www.delicious-monster.com 2 on the first day and I know I won’t be disappointed. Although my indie app has a tiny fraction of the users Delicious has, I’m currently going through the same kind of delays.
After months of quick, focused “Wii Transfer”:www.riverfold.com/software/… releases, I decided in November to skip a minor bug fix release and roll up all the outstanding issues into a bigger release with several important user interface improvements. You reach a point in this process where there is no turning back, and for every refinement to the product you see just how much more you could do. I think it’s that kind of constant, iterative polishing that Wil is going through now.
If you are curious about the business of software development, don’t miss his “talk from C4”:www.viddler.com/explore/r… last year. In many ways I’m glad it took so long for the videos to go up; I’ve already forgotten half of the content so it will be fun to review the sessions.
Need something to listen to on your iPod while waiting in line to vote today? Try out these fantastic recent episodes of two of my favorite podcasts for animators and animation fans.
“Spline Cast with Ed Catmull”:splinedoctors.blogspot.com/2007/11/o… I’ll be honest, I’ve followed the careers of John Lasseter and Steve Jobs a lot closer than I have for Ed Catmull, but this podcast shows pretty clearly the depth of impact Ed Catmull has had on the computer industry and the Pixar culture. It’s a great listen not just for anyone who cares about animation, but also for entrepreneurs who want a look into how you stay successful year after year.
“Animation Podcast with James Baxter”:animationpodcast.com/archives/… There are many great animators, from well known independents who receive Oscar recognition to those who work 12-hour days in relative obscurity at a big studio, but there are only a handful of true masters of the art form. Baxter is one of my favorites. The powerful sequence with Moses and the burning bush and the mannerism of Belle fixing her hair were both always really memorable for me.
Enjoy! Happy Super Tuesday.
The MacBook Air is the first Apple product to come along in years that I don’t want to buy. It looks great, the multi-touch trackpad is cool and unexpected, and I like Remote Disk. But it’s just not significantly different than a MacBook to me, and I don’t travel enough to make the thinness or weight really matter. To “upgrade” from a regular MacBook to an Air just seems wasteful.
The “new Apple” has been doing a great job of eliminating duplicates in their product line (only one tower, only one of each size of iPod). If the Air had an 11-inch or 12-inch screen it would be a much easier sell because it becomes clear why the product exists: buy this if you want something small.
For two months in 1999, my wife and I travelled through Europe with only a backpack each and a PowerBook 520c to share between us. That machine was very small (just a 9.5-inch screen), yet she did contract work for Apple on it and I coded and released new versions of Mac software, dialed up to the net via modem from hotel rooms and hostels in the days before wi-fi. It was much heavier than an Air but for traveling light it was still a great choice.
It feels like Apple missed an opportunity at Macworld yesterday. I’m not particularly disappointed, though, since I wasn’t one of those hoping for a sub-notebook.
I’m going to skip the usual Macworld predictions and cut straight to the good stuff: Apple needs a tablet for the huge numbers of artists and creative professionals who have stuck with the Mac for so long, or who are finally coming back to the platform. I hope for this every year, but the evidence is starting to mount that yes, Apple is working on something.
John Gruber doesn’t see a tablet happening:
I think his reasoning is exactly correct if you think about a tablet as just a Newton or large iPhone, but as I say above I don’t think that’s the market at all. Honestly as much as I loved the Newton, the iPhone works great as a replacement. The primary market for a Mac tablet is the millions of people who look at the Wacom Cintiq and drool. An Apple tablet has to run full Mac OS X because it has to run Photoshop, Acorn, and Painter.
(Both Gruber and Dan Benjamin also discuss predictions during the latest The Talk Show episode, just posted. While you’re listening, also check out the Hivelogic comprehensive podcasting guide.)
So what about this: what if the MacBook sub-notebook and the tablet are one and the same? Imagine a beautiful slim MacBook with a detachable keyboard and touch-sensitive display, for example. Avoid the weird connections by making the keyboard Bluetooth only, with all the guts of the machine (including flash-based hard drive) behind the screen. I have a first-generation Toshiba Tablet PC and the hardware design is just bulky and terrible because they tried to make it all things to all people. A MacBook Nano-Tablet-Air could embrace “thin” and “tablet” and ignore everything else to achieve a truly great design.
But who knows. We’ll see in about 30 minutes.
“NetNewsWire is free”:inessential.com (congrats again Brent!) and reaction is coming in from other indie developers.
“Rory Prior”:www.thinkmac.co.uk/blog/2008… “It’s hard to compete with a product that’s as well known and frankly as good as NNW, it’s damn near impossible to compete with it when it’s free.”
“Paul Kafasis”:www.rogueamoeba.com/utm/posts… “When something is given away for free, its perceived value is lowered. If software is treated as valueless, it becomes much, much harder to sell.”
Ultimately I don’t think it’s going to have a significant negative impact as far as devaluating other software (except of course other news readers) because most people paying attention should connect that it supports Newsgator’s core business model. But rather than debate the issue I searched my archives to see what else I had said about the product. It must be one of the most-blogged-about apps ever, right? I’m limiting it to 1 post per year.
2002: “Moving to NetNewsWire”:www.manton.org/2002/09/m…
2003: “NetNewsWire as a platform”:www.manton.org/2003/03/n…
2004: “Google and the great apps to come”:www.manton.org/2004/12/g…
2005: “Tabs are a hack”:www.manton.org/2005/05/t…
2006: “Time for thinking”:www.manton.org/2006/07/t…
2007: “New software releases (plus screencast)":www.manton.org/2007/06/n…
2008: “New and old posts about NetNewsWire”:www.manton.org/2008/01/n… (you’re reading it!)
I received a lot of feedback after “I first wrote about the Kindle”:www.manton.org/2007/11/k… so here’s an update. I admit I’m still trying to understand the device; it has not immediately fallen into a spot in my routine the way the iPod and iPhone did.
“Dan Benjamin”:www.hivelogic.com pointed out that it’s wrong to compare the Kindle and iPhone because they are two completely separate kinds of devices, and that’s true. But the fact remains that Amazon could have partnered with AT&T and required a monthly fee for connectivity. Instead they chose to eat that cost to provide a seamless user experience.
“Willie Abrams”:willie.tumblr.com bought a Kindle and then returned it, unhappy with both the contrast on the device and the slow page turns. As I pointed out in my original post, the page turns are annoying, but they won’t ruin the device for most people.
“Andy Ihnatko”:ihnatko.com wrote glowingly about the Kindle and spoke at length on MacBreak Weekly about the free wireless and adequate web browser. Personally I have found the web browser to be extremely poor and the slow refresh inappropriate for modern, interactive sites. I didn’t even realize it came with a browser when I ordered it, though, so I consider it a nice bonus.
When I left town to take a week and a half holiday road trip with my family, I decided to leave the Kindle at home. After all, I already had my MacBook, iPhone, Nintendo DS, and a hardback book that would easily fill the week. The Kindle is small but it would just be wasted clutter in my backpack.
This turned out to be a mistake. For one, I had spotty Edge coverage in middle-of-nowhere West Texas, and it would have been an interesting experiment to see how the Kindle’s EVDO faired in other cities. But more importantly, while checking blogs someone recommended a book that I was interested in. I clicked through to Amazon and noticed that it was available in Kindle format. It would have been the perfect opportunity to buy it and start reading right away.
That is what the Kindle brings to the table. The hardware design is not an improvement over the Sony Reader (the Kindle’s keyboard remains a definite mistake), but the integration with Amazon and the convenient downloads from anywhere are both well implemented. I think Amazon has a history of tinkering in public view (home page design, shipping experiments), and the Kindle is no exception. They’re no doubt already working on version 2.
“David Heinemeier Hansson writes in detail”:www.loudthinking.com/posts/21-… on the problems with Rails in shared hosts:
Although I’ve been building Rails apps for a couple years, and will continue to do so, I made the choice with “Riverfold”:www.riverfold.com to go PHP-only so that I could deploy on inexpensive shared hosts and easily move my sites. Fact is, you need to dedicate a significant portion of your time to being a system administrator if you run a Rails site.
I find the general “we don’t owe you anything” attitude in the Rails community off-putting. What it means is quite simple: Rails is not a product, despite what it might look like when you “visit the web site”:www.rubyonrails.com/. This is fine and consistent with the opinionated nature of Rails (which from a design perspective is what makes Rails excellent), but it also means that features like backwards compatibility are not just ignored but actively discouraged. The message this sends is that the core team values their own personal productivity over the productivity of the general Rails userbase.
Also, make no mistake, the performance questions surrounding Rails are directly related to the web shared host issue. Rails can’t be hosted in the same way that PHP is hosted because it takes so long for a Rails application to be initialized, requiring dedicated long-running app instances and an ever-changing array of “best practice” solutions starting with mod_ruby to FCGI to Mongrel to “Thin”:code.macournoyer.com/thin/.
My friends and “co-workers”:www.vitalsource.com are no doubt sick of me bashing Rails (see “this post on the priorities of the community”:www.manton.org/2007/09/r…), but I still admire Rails and do want to see these problems solved. I would love to use “PotionStore”:www.potionfactory.com/potionsto… to power the Riverfold site, or to base my registration database and sales tracking in Rails.
Obama is passionate, thoughtful, centrist enough for broad appeal, and a brilliant speaker. If he’s the nominee I’ll support him fully with every bit of strength I have. There is something special about him, and it comes around rarely in a candidate.
“Dave Winer wrote”:www.scripting.com/stories/2… “Obama, like Carter in 1976, may be our pennance for having re-elected Bush in 2004. We’re taking the medicine we deserve for having been crazy enough to re-elect someone who was so bad for us.”
But what about Hillary? She’s part of the establishment, and I volunteered heavily for the Howard Dean campaign. Could I support someone as traditional as Hillary? As “Mike Cohen said”:mcdevzone.com/2008/01/0… “I oppose her very strongly, not only because of all the baggage she brings, but for her anti-progressive record.”
And yet.
“I posted to Twitter”:twitter.com/manton/st… on election night that something had changed between the Iowa vote and New Hampshire: Hillary had found her voice, and it surprised me. Turns out she knows what is at stake. I always knew she was a fighter; after 2000 and 2004, we need the Democrats to show some backbone again. But I think she’s been underestimated even more deeply than that, in her ability to speak to the core Democratic base while drawing upon her new experience and record in the Senate that most people aren’t familiar with yet.
And then there is the woman factor. Some people will say this matters but they don’t really understand unless they have daughters of their own, daughters who will grow up and become teenagers, the defining moment of their lives, during a woman presidency. This is both personal and huge and it could spread like wildfire. For me, it tips the balance.
My family is throwing its support — our money for donations, our phones for getting out the vote, and our voice — behind Hillary. Thank you New Hampshire for making this a real primary election again.
Wii Transfer’s featured day for “MacSanta”:www.macsantadeals.com starts at midnight tonight, but I’ve already rolled out the coupon code. Because I’m still using simple PayPal “Buy Now” buttons, I hacked together a little custom coupon field just for MacSanta (based on a simple JavaScript trick posted to the MacSB list). I tried to come up with a clear interface even though there isn’t a traditional online store, because it just doesn’t make sense to spend time on a full store for only one product. (Plus, look at that cute MacSanta logo! Aww.)
Here’s a screenshot “from the web site”:www.riverfold.com/software/… after you’ve redeemed a code:
On Friday the discount drops to a respectable 10% off for the rest of the month. Happy holidays!
After sitting on a shelf in my office for 2 months, unopened and unloved, I finally shipped off the Nintendo Wii today to the lucky winner. I was initially worried because he didn’t respond until well into the second day after I notified him, but he was pretty excited (“You’ve made my holiday”) and I’m glad it could ship out before Christmas. The picture here is in the car before I went into the UPS store to fill the box with peanuts.
The promotion took a surprising amount of effort, but it was fun and definitely worthwhile. There were a total of 2447 unique submissions (1925 for the email form, and 522 from Twitter). Of those, over 1/3 agreed to sign up for my annual Riverfold Software newsletter. I consider that alone a success, although until I look at the stats more closely it’s not clear what percentage of potential-customers are actually using Macs. My Wii Twitter account also doubled to about 300 followers.
Although sales were initially flat, both TUAW and Ars Technica ran nice stories on the promotion. I also wrote a press release with the idea of hitting some of the bigger gaming sites for the second week of the contest. In the end I decided not to, because I wanted to focus on Mac users, and because frankly there were plenty of submissions and I was burned out on the process.
The contest easily paid for itself, but the extra sales really weren’t that significant. I have a database that tracks referrers through to the actual purchase, so I noticed an increase of only about 10-20 copies out of the 100 sales for the month so far. Part of that is no doubt the catch-22 of giving away hardware that is required for your software product, but I know that long-term there will be a benefit to the wider exposure.
Mistakes? I should have made the whole promotion last just a day or two, and hyped it before launching instead. I also should have required that Twitter users follow Wii before entering, which would have boosted those followers and also greatly simplified tracking submissions (replies were spread over 3 RSS feeds and 33 iChat log transcripts). Relatively minor complaints, though, overall.
To everyone who provided feedback on the idea, thanks. Maybe next year I’ll implement some of the more interesting promotion ideas I heard.
A few months ago I was in Target and they had some Wiis in stock, so on an impulse I bought one. I’ve owned a Wii since launch day, but I had this idea to give one away for Christmas as an experiment to help promote Wii Transfer. I sat on the idea for a while, listened to feedback from others, and finally “rolled it out this morning”:www.riverfold.com/software/… with two methods to enter: web form (with field to notify a friend about the giveaway) and via Twitter (by sending a reply to @wii).
Unfortunately there was a major snag with the Twitter idea. It turns out that @wii replies won’t show up in my Replies tab (or RSS feed) in Twitter unless the user posting the tweet is already following “twitter.com/wii”:twitter.com/wii. I now regret not making that a requirement, but I also know that it would have hurt the simplicity of entering via Twitter.
So what’s the solution? For now, a combination of things. I am now tracking every tweet that contains “wii” (try it, there are some fun ones), which I will aggregate with the standard replies as well as results from a search on “Terraminds”:terraminds.com/twitter/ to fill in any of the tweets I missed. It’s all a bit cumbersome because the tracking results come through IM (luckily iChat transcripts are XML now).
It feels very fragile, but hopefully I won’t miss any entries. There’s no cost to submitting multiple times, so consider sending another @wii tweet next week or entering with the web form to guarantee you’re in the drawing. If in doubt, re-read the “last line on the fine print”:www.riverfold.com/software/….
All we do at “VitalSource”:www.vitalsource.com is e-books, from working with publishers on converting their content to our format, to managing the delivery of digital files and building the web-based infrastructure to support it, and finally to designing and coding the Mac and Windows applications for reading and annotating books. My “Kindle”:www.amazon.com/Kindle-Am… arrived on Tuesday, the day after it was released, and here are my initial thoughts after using it over the Thanksgiving weekend.
Out-of-box experience. Amazon really nailed the first-use experience. The Kindle came in a nice box and was pre-configured with my Amazon account. No syncing or setup necessary; you can start reading books immediately.
Screen. If you haven’t seen an e-ink device — actually held one in your hands, like the Sony Reader — don’t bother “reviewing” it. The iPhone screen is beautiful and I would love to have a small Mac tablet, something even a little bigger than the Kindle, but for reading books, nothing beats e-ink. It’s in a whole different class, and this is one of the areas where the Kindle shines. (It says a lot that the first FAQ item in the Kindle manual is about how the screen “flicker” when flipping pages is normal, though. It’s a little distracting but not a show-stopper.)
Connectivity. Amazon has been innovating with free shipping for years, so in a way it’s perfectly consistent to also offer free wireless connectivity. As a long-time Apple fan, I’m a little disappointed that Amazon is the one innovating with service plans, while Apple is stuck in the past with service contracts and high monthly fees with silly text message caps. I pay about $80/month for the privilege of using my iPhone; with the Kindle, I pay only for purchased content.
Purchasing. You can buy books from Amazon on your computer or from the Kindle itself, and I’ve tried both. My first purchase was using Safari on my Mac, and less than a minute later the book “magically” appeared on my Kindle. Again, no cables or sync necessary; the Kindle notices a book purchase and downloads it wirelessly.
Hardware. It couldn’t all be good news, could it? The button design is where the Kindle just falls on its face, and it’s bad news for both major areas of the device: the keyboard and the page navigation buttons. I just don’t see how they justified taking up so much room for the keyboard, because in truth you almost never need to use it. For the page buttons, try handing someone a Kindle for the first time and the first thing they do is accidentally hit next or previous page. It takes a while to train yourself on the best way to hold the Kindle.
There are other things I could say — about DRM (unavoidable) or emailing documents to the device (clever) or the book cover (clunky) — but I want to keep this short. Despite it’s flaws, the Kindle is a good device, and it goes beyond being the first usable e-book reader to offer seamless purchasing and book delivery from Amazon’s large selection. It’s not as polished a 1.0 as the iPhone release was, but it’s a solid offering and more innovative in some ways. I’m looking forward to both reading books on it as a user and experimenting with ways to get other content on the device as a developer.
“Steven Frank”:stevenf.com/2007/11/t… on Google’s phone announcement:
I heard about the Google phone consortium pretty much exclusively through Twitter, and the reaction seems about universal from the folks I follow (admittedly, half of them are total Mac geeks). I’m honestly not sure how the Google phone is relevant to me, but then again, I don’t like Gmail.
Although this week’s “37signals post on personas”:www.37signals.com/svn/posts… isn’t about Android, some of the points are relevant to committee-led design:
Not using your own product can turn into a real problem, and I realized after I bought an Apple TV that “Wii Transfer”:www.riverfold.com/software/… suffered from it. So I forced myself to use my own product instead, and that made all the difference. Plus, it was easy to unplug the Apple TV because the thing got so hot I was worried it would burn the house down while I slept.
A new “Ironcoder launches today”:ironcoder.org/blog/2007… with a longer hacking period and a nice iPod touch as the prize. I’ve come close to participating in the past and just haven’t had time. Although I don’t expect that to change this week, I’ll be keeping an eye on this one to see what the theme is. It could be a great opportunity to get more hands-on with some of the new Leopard APIs.
So I am 5 days or 700 characters in to my Story 140 experiment. Even though separation between each tweet is only implied, this is the end of the first paragraph, and on the web site I will be formatting it that way.
If you were to put the ideas you have in life into two buckets – and I don’t meant the little one-off ideas, I mean the big ones you care about and could passionately defend – you might divide them into ideas which are truly great, and ideas which sound great. The key here is to avoid the ideas which are neither great nor which sound particularly good at all. It’s too early to know which one of these idea types Story 140 is, but at this point I’m leaning toward the “sounds great” side.
Put simply, writing something 140 characters at a time is exactly opposite to the way I normally write. It is much more challenging than I thought, and after 2 days I immediately wanted to start cheating and writing a bunch ahead, so that the story flowed properly.
I’ll keep at it, but I did realize that I have to at least partially plan what the story is about. I have only a vague idea in my head, but as I give it some more thought I will probably jot down notes so that when it comes time to write the tweet each day I know a little bit about where it is going. Even so, please don’t expect greatness from this work of fiction. You will be disappointed.
On the plus side, I have received feedback (see “Ryan Irelan’s post”:www.ryanirelan.com/past/2007…) that it would be great for multiple people to contribute. As I said about NaNoWriMo, what makes some of these projects work is the community. I’d love to open up this concept, and I can turn the web site into more of an aggregator of sorts. If anyone has suggestions, please email me.
In which I am the last person to point to the “MarsEdit 2.0 release”:www.red-sweater.com/marsedit/… I figure if James Duncan Davidson is “just now purchasing MarsEdit”:duncandavidson.com/archives/… I don’t feel bad waiting so long to say good things about 2.0. (Rumor has it Duncan used to post to his blog with a set of Ant XML build files that he would run with custom Lua scripts as part of his Lightroom workflow.)
Seriously, though, it’s easy to believe that Daniel is right when he “talks about the potential for Mac desktop clients”:www.austinheller.com/2007/11/i… MarsEdit had a great start back in the early NetNewsWire days, and 2.0 shows that it has a strong future as well.
At lunch with “Brent Simmons”:inessential.com and the “Rogue Sheep”:www.roguesheep.com guys after C4, just before I left Chicago, we joked that what MarsEdit really needs is a Dock badge with the number of days since you’ve last posted to your blog. A big red guilt trip icon staring you in the face: “25 days since you last blogged, slacker!”
November is National Novel Writing Month (NaNoWriMo), but I’m way too busy to participate this year. (See “my wrap-up post from 2005”:www.manton.org/2005/12/5… for the last time I did it.) I would love to write something, though. Maybe I should consider “Ficlets”:ficlets.com or a similar site, but I’ve had Twitter on the brain lately. Why not take the embracing constraints approach and write a story through Twitter?
Introducing “Story 140”:www.story140.com/, a new web site and “Twitter account”:twitter.com/story140 where I will be writing a short story in 140 characters a day for 140 days. To make things interesting I set a few rules for myself (listed on the site), including that every tweet must be written the day it is posted and be reasonably grammatically correct while still exactly 140 characters. (I say “reasonably” because there will be the occasional use of incomplete sentences, and some people may question my spelling of dialog without the ending “ue”. That must be influenced by years of programming the old Mac toolbox.)
Even though it is extremely serialized, my hope is that the resulting story will actually be readable. We’ll have to see how successful I end up being at that goal. It’s already more challenging than I expected; the first tweet took me about 10 minutes to write, and the second one even longer.
“Twiterrific 3.0”:iconfactory.com/home/perm… is out, with a new price of $15 or free to use with ads. The ads are very effective and difficult to ignore, but really they don’t take anything away from the Twitter experience. The new version is great, though, and I’ll be sending my $15 to Icon Factory sometime in the next few days. “As Fraser Speirs said”:speirs.org/2007/11/0… it’s a small price to pay to be connected to friends and colleagues.
I post to Twitter much more often than I blog now, and I think I owe some of my followers an explanation. I made a rule for myself early on to only follow people who I have met in real life. I’ve only made a couple exceptions to this, and none recently. It keeps the flow of tweets easier to manage and relevant.
So if you follow me on Twitter and wonder why I don’t return the favor, that is why. You probably have interesting things to say, so say hi to me at some future conference so I can add you to my list. I’ve actually been thinking about taking it one step further and protecting updates, because I tend to post about what (to this blog) have been traditionally private matters. Jury is still out on that decision.
The following numbers are interesting, though. I only do very basic Mint stats for this blog (I just care about referrers, not number of readers), but it does make me wonder how many people read this blog. If you’re reading this, add a comment to this post. (Haha, gotcha! I don’t have comments.)
Yes, it’s a politically-themed post. Probably the only one before 2008, so don’t run away just yet.
The Bush veto of the bipartisan children’s health care plan a few weeks ago really made me angry, but it wasn’t until “Justin Miller responded”:twitter.com/incanus77… to “my tweet”:twitter.com/manton/st… that I started to think about why. Here’s the reason.
When Bush was elected in 2000, I expected this kind of stuff from him. Vetoing stem cell research? Killing children’s health care funding? Sure, par for the course for this Republican. But then 9-11 happened and everything changed. The war. Our president’s priorities changed.
Bush got a free ride from the media during the 2000 election, and again after 9-11. He would make the most incompetent and clumsy mistakes and yet be cut slack because, frankly, expectations are just so much lower for him than any other president in recent history.
At some point in 2004, opinion started to shift, led by folks like Howard Dean (who I’ve “written about before”:www.google.com/search). Eventually, after Bush won re-election, there would be enough anti-war momentum to matter. And that brings us up to now and this veto.
Everyone is focused on the war. Everyone understands the significance, the mistakes. Most of the country wants it over but we know that it’s complex, and the consequences for any given action will be felt for a decade. Compared to the lives lost in Iraq and the harm done to the stability of the Middle East, the rise of a new generation of terrorists – what does a health care bill matter? Is it worth fighting for?
Democrats in power by a slim majority probably think they have to choose their battles, have to give in on some issues so they can hold on to the important ones, like the war. But I say no. The only thing that works against this stubborn ass in the White House is to take the fight to him. Cut him off at every turn. Don’t give him a freakin' inch. Call for an override vote again and again.
Every. Single. Day.
That’s how you win. You put people on the ground in every state – organizing, protesting, getting out the vote. You put letters in the hands of our representatives – email, blogs, editorial, flyers. You put a loud voice to what you feel and never, ever back down.
Happy Halloween! “Wii Transfer 2.5.2”:www.riverfold.com/software/… is now available. This is probably one of the most difficult bug fix releases I’ve done. Full changes are in “the release notes”:www.riverfold.com/software/…releasenotes/, but the biggest stuff includes fixed Leopard UI glitches and a new 2-pass encoding that should result in much more consistent movie streaming quality. Along the way I touched most of the corners of the product, including many hours of trial-and-error debugging the Flash FLV player component.
While testing Wii Transfer on my TV the other day I had a moment to reflect on how this product has evolved. What started as a one-weekend hack has grown into something quite a bit more complex. It has a few rough edges, sure, but I’m proud of this little app and how I’ve been able to put a simple UI on all these different technologies (embedded web server, HTML/JavaScript/Flash UI, MP3 and FLV conversion, iLife integration, etc). I have a few new features planned and in various stages of development, but I think the just-released 2.5.2 is going to start a trend of refinement; there’s a lot I could do to improve the movie conversion and streaming experience before introducing anything radically new.
So, Leopard. I had originally planned to just wipe my old Leopard seed partition on the MacBook and test the GM, but at the last minute I dove full in and did an upgrade install on my primary machine, the Mac Pro. I have nightly SuperDuper clones just in case, but the upgrade was completely smooth. It’s a great OS foundation and I can’t wait to see what other developers have been working on.
After I shipped Wii Transfer 2.5 I decided to start spending a little time promoting the product. Every month or so I’ll do some small thing to improve sales. Last month that was a “press release”:www.riverfold.com/software/… followed by the “ad on The Talk Show”:www.manton.org/2007/10/t… and next month I’ll be giving away a brand new Nintendo Wii as a holiday promotion.
Today Wii Transfer is on sale at “macZOT”:www.maczot.com for the incredibly low price of just $9 (half off!). To be honest I have mixed feelings about these kind of promotions, and the first time macZOT approached me about it I declined. I worry that it can reinforce a message that all software should be cheap – that even $19 is too expensive – but on the other hand it’s great exposure to an audience that might not otherwise hear about Wii Transfer.
Lisa at macZOT has been great to work with, letting me set the price (even though I get a small fraction of what a normal sale would be, I felt it was important to do the promotion to its fullest and go below $10), and making sure macZOT pings my backend script so that serial numbers go out to customers right away. I know people can be frustrated if they have to wait to receive the product, and I also have a new serial number lookup form on the site that ties into all of this quite nicely.
It’s a fun experiment. If you’ve been thinking about purchasing Wii Transfer but thought it was too expensive, head over to macZOT to pick up your copy. The “discussion page”:maczot.com/discuss/ will probably have some comments too.
Late notice, but I’ll have a watercolor piece in tonight’s Monster Mash art show at the Lowbrow Emporium on South Lamar. If you’re in Austin, drop by between 7 and 11pm and say hi. (Address and other details on “the poster by Jason Chalker”:austinsketchsquad.blogspot.com/2007/09/t…) The art is from participants and friends of the Austin Sketch Squad, some of whom will be doing live art at the show. There will also be free beer and candy!
I snapped a “photo of my desk with art stuff”:www.flickr.com/photos/ma… while I was preparing for the show. I forgot to scan the final art, which sadly didn’t come out nearly as nice as my first sketch, but I’ll get a picture of that tonight. It was fun to work on and a nice break from late-night programming this week.
Ambrosia Software’s “Andrew Welch in a TUAW interview”:www.tuaw.com/2007/10/0…
This is the most disappointing part of what Apple is doing. Even with the iTunes Store, when they had to lock down the songs to appease the music industry, they still thought about the user: songs on 5 machines, unlimited iPods, multiple iTunes accounts on the same machine, great selection, and effortless buying experience. I can wait for a real iPhone SDK (WWDC 2008 please Apple kthxbye), but Apple of all companies should not let corporate deals needlessly cripple the ringtone user experience.
Episode 11 of “The Talk Show”:www.thetalkshow.net is up, and I’m happy to say that “Wii Transfer”:www.riverfold.com/software/… is this week’s sponsor. Even if you’ve been subscribed since the first show, click over to see the new site design by “Airbag Industries”:airbagindustries.com/. It’s beautifully done and I tried to create an ad graphic that feels at home there.
For the Wii Transfer ad text I included “Only for Mac”, partly to discourage any Windows listeners from clicking and to set expectations that Wii Transfer is not a web site, but also because after a decade of being ignored I think Mac users like to be reminded that there is a bunch of great software just for them.
Earlier this month “Daniel Jalkut wrote about the unlikelihood of MarsEdit for Windows”:www.red-sweater.com/blog/394/…
I love that Mac indies are receiving so many “what about a Windows version?” requests. I get similar emails every couple weeks about Wii Transfer for Windows, and luckily there are a couple Windows or open source alternatives that I can point people to. (Some of them are even cross-platform and available for Mac, but they are of the “double click this Java .jar file” variety, so I don’t generally consider them direct competition.)
It used to feel strange getting these requests. I would respond with “maybe” and “unlikely”, suggesting that it’s probably not going to happen but leaving open the possibility, as Daniel did when he said “almost nil”. Then I realized — who am I kidding? — I’m never going to port this to Windows regardless of demand. Never. “With the right team”:www.vitalsource.com I enjoy working on cross-platform apps, just as I appreciate meetings, planning, and the other formalities (in moderation) that come with a more corporate environment. But Wii Transfer isn’t about any of that; it’s my vacation from the real world, and on my time I use and build for Macs.
Also read the Airfoil for Windows section of “Ars Technica’s interview with Paul Kafasis”:arstechnica.com/journals/… from February.
I have a copy of CS3. Photoshop, Illustrator, and Flash are all permanently in my Dock. If you do any graphics or animation work, you pretty much need these tools, in the same way that anyone who does any kind of corporate writing needs Word.
But truthfully, I haven’t had Microsoft Office installed for about a year (I use Pages or Leopard’s QuickLook to read other people’s Word documents), and I see a similar fate for some of the big Adobe apps. Despite “what some people have said”:theocacao.com/document…. over the years, there will never be a permanent replacement for Photoshop – it is too powerful, does too much – but there could be a healthy market of smaller, focused tools that tackle one piece of the Photoshop puzzle.
“Flying Meat’s Acorn”:www.flyingmeat.com/acorn/ is the first of those tools that actually delivers. For the most part I can use Acorn as if I was using Photoshop. Keyboard shortcuts for switching tools, selection, basic layer manipulation – it all works.
I’ve been testing Acorn by working on some new UI mockups, a task it seems particularly well-suited for. One of the most refreshing things has been using a text tool that renders text just as it would look in a normal NSTextField control. Photoshop has a few anti-aliasing settings, but nothing that exactly matches the normal Mac OS X rendering, which makes mockups that mix and match screenshots from Interface Builder and new text look out of place.
As a 1.0, this is a very solid app, and most importantly it gets all that non-delicious stuff right. It would be easy when writing a Photoshop competitor to focus on the fun stuff – Core Image filters or whatnot – so it’s nice to see Gus didn’t gloss over the basics.
So what’s missing? After using it for a couple weeks for real work, the only things I am particularly missing are layer groups (totally understand why he left those out for now), Save for Web (which I hear is coming shortly), and Copy Merged (did I miss it?). And the big one: Open/Save for Photoshop files. It doesn’t need anything fancy in the .psd files, just the same features of a .acorn file to allow a designer to move between the apps if necessary.
Right as I’m about to post this, “Pixelmator finally ships”:www.tuaw.com/2007/09/2… I’ve only spent a few minutes with it, but it also looks pretty competent. Time will tell whether it holds up for real work as well as Acorn has for me.
This morning I finally rolled out “version 2.5 of Wii Transfer”:www.riverfold.com/software/… the most significant release of the product yet. It probably deserved a 3.0 label slapped on it, but I like how all the 2.x releases revolve around the sharing features (sending movies, music, and pictures to the Wii via the Opera browser). Besides, I have a special set of entirely new stuff planned for 3.0.
So what’s new? Movie streaming is the big one. You can now drag and drop movie files to convert to Flash Video format, which Wii Transfer’s web server will happily stream up to your Wii. It works surprisingly well considering the Wii has such limited memory and no hard drive. Last night I even tested with feature-length movies.
Other new features include background music for picture slideshows (both MP3 and AAC) and bookmark sharing, so that you can browse your Safari or Firefox bookmarks on your Wii to easily visit those sites. The “release notes”:www.riverfold.com/software/… page has more of the details.
I’ve also bumped the price up to $19, where I expect it to stay for some time. One way I like to think about the price of Wii Transfer is in relation to another common purchase from Wii owners: games. It’s still less than half the price of a new Wii game.
Special thanks to the beta testers who provided feedback. There are still a number of things about movie sharing that I’d like to polish up, so additional minor updates are likely. I often use the “Wii account on Twitter”:twitter.com/wii to post these and other announcements.
“Damon Clinkscales has a write-up”:damonclinkscales.com/past/lone… of the Charity Workshop that took place before the Lone Star Ruby Conference in Austin a couple weekends ago. I skipped the conference and attended these tutorials instead, enjoying some great talks by Marcel Molina, Bruce Williams, and 6 other speakers all packed into 4 hours. I definitely picked up a few good tips on Ruby blocks and ActiveRecord, but I was not-so-secretly relieved that I didn’t attend the full conference.
“Since brunch on Sunday”:www.flickr.com/photos/di… after the conference, where I got to hear another wrap-up from co-workers, I’ve been thinking about why. Why did I sell my RailsConf ticket and book a flight to Chicago for C4 instead? Why skip a cheap Ruby conference practically in my own backyard? Why have I whittled my Ruby-themed blog subscriptions down to just a few from dozens?
Now I know: it’s about the difference in the communities. The Mac developer community is all about building unique apps, crafting an excellent user experience, and the “indie culture”:www.al3x.net/2007/08/c… of building something small and useful. The Rails community by contrast seems focused on how few lines of code a controller method is. I’m lucky to work with people who care about that stuff, because it often does yield better applications, but I just don’t wake up in the morning excited about rewriting code, so why would I leave my family for a few days to hear someone talk about it?
There are many kinds of programmers. People who have hacked their whole life, dropping out of school to sell software; traditional developers with a CS degree and big company background; and even fine arts majors who fell into programming by accident as a way to build web sites. Based on that background, or what direction their passion takes them, I believe there is a balance between joy for the act of writing code vs. the pride in seeing the final product, and each programmer leans to one way or the other.
For Rails developers, at least many of the leaders in the industry who came from or were inspired by the extreme programming methodology and test-driven development, it’s the former: the art is found in the lines of code – how efficient can the logic be, how DRY, how RESTful.
For Mac developers, not just the “Delicious Generation”:www.rogueamoeba.com/utm/posts… but old school Mac developers as well, it’s the latter: the art is how the final product looks and behaves – being inspired to build something simply because you used another application that was great.
Cutting it this way allows me to see two things very clearly that were confusing before. It puts specifics to why I’ve drifted further away from the Rails cutting edge, and it explains why I get so annoyed with some of the newer crop of Mac developers who proclaim “bindings”:cocoadevcentral.com/articles/… and garbage collection as beautiful gifts for programmer productivity even though they have no added value for the user experience.
Rails is a great framework, and I will continue to enjoy switching gears to write web apps in between my Mac projects. But I’m not going to tune back into that community until there is an equal focus on the bigger picture as it impacts the user (more scaling, more UI best practices), or whatever the next big thing to hit web apps ends up being.
Soundtrack for this blog post: “The Touch”:phobos.apple.com/WebObject… from the 1980s Transformers feature.
Yesterday Apple announced new iPods, plus cool stuff like the Starbucks integration and iTunes Wi-fi Store. I was out at lunch and errands, so I followed the announcements on my iPhone with Safari and Twitter. If the new store had been available, I probably would have bought some music too.
“Dave Winer had mixed feelings about the new stuff”:www.scripting.com/stories/2… but likes how the iPod is evolving to be its own full-featured client:
The $200 price drop on the iPhone was a surprise. My first thought: Apple is totally playing to win. With such an aggressive price drop, they plan to own the high-end market, and maybe some of the middle too. It never crossed my mind that I was ripped off paying $599 until I started reading “comments in this TUAW post”:www.tuaw.com/2007/09/0… These are the same kind of people who say “I like your software but I wish it was free” to indie Mac developers.
The iPhone was expensive at $599 but worth it, and the new price doesn’t change that fact. It’s allowed me to work even more remotely, stay connected to friends, get unlost using maps in a new city, and greatly improve how I use a mobile phone.
(I wrote most of the rest of this blog post a couple weeks ago. It was originally titled “1000 emails in your pocket”, but that was before I saw Craig Hockenberry’s excellent “Benchmarking in your pants”:furbo.org/2007/08/1… blog post, which while not as directly accurate to Apple’s original iPod marketing, was much more funny.)
I’m not going to post specifically about the sessions at C4 yet, because anything I say would be redundant against posts from “Alex Payne”:www.al3x.net/2007/08/c… “John Gruber”:daringfireball.net/2007/08/c… and “Mike Zornek”:blog.clickablebliss.com/2007/08/1… among others. Instead I want to follow up “my original iPhone report”:www.manton.org/2007/07/i… with how the phone performed during travel.
There were a lot of iPhones at last month’s C4 conference. I had such good luck using the iPhone at the airport and on the train and walking around Chicago, I took my MacBook’s dead battery as a sign to stick to the iPhone all weekend, using it exclusively for email, Twitter, blog reading, and general web surfing. I responded to a handful of emails, used SMS for sending tweets, and hit the iPhone version of Newsgator Online (synced from my NetNewsWire subscriptions) for news and blogs.
Sure, I was jealous of everyone running Twitterific while I had to refresh m.twitter.com manually, but overall the experience was great. As “Matt Haughey has blogged about”:a.wholelottanothing.org/2007/07/0… the iPhone is a computer, and 3 full days of use proved to me that it’s extremely competent.
Fast-forward to two weeks ago and I went on a weekend road-trip to Dallas with only the iPhone, confident I could respond to email if needed. Same thing over the long Labor Day holiday: drove 7 hours both ways for 2 nights in Louisiana, easily able to follow up on bugs from a recent software release without my MacBook.
Of course there are a few rough edges: I don’t do significant server-side spam filtering, so deleting spam on the iPhone is getting tedious; paying a premium for SMS is annoying and counter to the unlimited web bandwidth; and my typing is only now to the point of pretty good. But otherwise any limitations with the built-in software are quickly becoming solved with new 3rd-party offerings, which have blossomed faster than most of us expected in no small part thanks to “Nullriver’s excellent installer”:iphone.nullriver.com/beta/.
Now the the only question is: what do I do with my “free $100”:www.apple.com/hotnews/o…
Seth Dellingham is “auctioning off a bunch of great Mac software”:www.truerwords.net/fundraisi… for the Pan-Mass Challenge, raising money for cancer care and research. “Wii Transfer”:www.riverfold.com/software/… is included in the 2nd bundle, full of games and useful utilities. Some of the gems I noticed in the list include Black Ink, SketchFighter 4000 Alpha, Fission, Tangerine, BetterZip, FlySketch, Knox, Overflow, Pukka, and SuperDuper, among 40 others. “Click over to the eBay auction”:cgi.ebay.com/ws/eBayIS… for the complete list before the auction ends tomorrow.
I’ve been using “Ta-da List”:www.tadalist.com for the last couple of years for all my to-do lists. I have about 100 lists and love the speed of adding new items and some of the subtle smarts it applies to sorting recent lists and cleaning up completed ones.
But I’ve been on the lookout for a desktop app. OmniOutliner has become a bit bloated and all the Getting Things Done apps seem so structured. Along comes “TaskPaper”:hogbaysoftware.com/projects/… today and there’s a lot to like. The plain text file format is refreshing and nicely open.
I wrote a Ruby script to export all my lists from Ta-da into TaskPaper so that I can give it a proper workout. It makes a new document (with a single project) for each list it finds. Make sure to install “Hpricot”:code.whytheluckystiff.net/hpricot/ first – there’s no official Ta-da List API so we need to parse HTML a little.
Download: “tadalist_taskpaper.rb”:www.manton.org/software/…
Instructions:
From time to time on the “MacSB list”:tech.groups.yahoo.com/group/mac… people ask about the value of localization and what percentage of sales come from foreign customers. Since day 1 of “Wii Transfer”:www.riverfold.com I’ve always been surprised at how many sales are from Europe. At times it felt as if over half of sales were outside the United States, so I finally ran the numbers to know for sure.
My homegrown customer database doesn’t actually include the physical address, so I grabbed the last 500 sales from PayPal and wrote a quick script to group the countries. Here’s the chart:
The United States represents just over half. If you add up the other English-speaking countries, it hits 70%. Still, this is a purely English-only piece of software. I’ve resisted the push to localize until I feel the codebase is better prepared for it, and the UI more stable.
At “VitalSource”:www.vitalsource.com last year I wrote a custom Rails web app to manage localization resources for both the Mac and Windows products and deal with the outsource translators, and the takeaway from that experience was definitely to go slowly. It’s easy to end up with a foreign language version that makes compromises and is potentially less useful to customers than the English version. Depending on the size of the product, localization could take weeks or months, time that might be better spent adding features.
Back to the real stats. Why are the foreign numbers so high? I think the weak dollar combined with an already relatively inexpensive price makes Wii Transfer even more of an impulse buy in Europe.
Ignore that this post is a week late. While I was out sick last week there was a great discussion across blogs about email clients, starting with “Brent Simmons”:inessential.com and then to “Paul Kafasis”:www.rogueamoeba.com/utm/posts… while passing through several good blogs in between.
Some of my additional gripes about Mail:
The recent discussions really make we want to take some of the core pieces (great performance for huge amounts of mail and a tag-based filing system), rebuild it on top of IMAP instead of my custom web services gateway, and see what happens. But I probably won’t. Email clients are a tricky thing to get right, and I don’t have time right now to make it perfect.
I have no doubt that there is a market waiting for a great email client. You don’t need to compete with Mail.app, you just have to appeal to anyone who has been burned by an email client before. People who are serious about email.
That’s the way I described the iPhone to anyone I showed it off to over the weekend. The thing is amazing. Easily the most advanced and beautiful UI that we have ever seen on a portable device.
I waited outside the Apple Store most of Friday to get an iPhone, and it contrasted very favorable with my experience camping out for the Wii. The 6pm sale time decision was a smart one. It turns out waiting in line all day wasn’t necessary, but for anyone who had to have one on day 1 it was the safest choice, and it makes for a fun community. I ran into a bunch of people I knew and met new folks as well. Enjoyed catching up with Donna Kidwell and had a chance to chat at length with Jeremy Derr of Barton Springs Software.
Damon YouTubed the line in the early afternoon and by 6pm the line was roughly 250 people. We were in the low 40s and were in and out of the Apple Store in 15 minutes. They ran a great launch. Also a nice assortment of free water, tea, pizza, and coffee from both Apple and surrounding businesses. Here’s a shot of me from Damon’s Flickr stream.
Here are my posts to Twitter throughout the day, which also show part of the story:
6:34am: Good morning iPhone Day! Weather forecast in Austin for today: 40% chance of showers and storms.
10:15am: It’s only 10am but already realized I need to go to Plan B. Bribe friends already in line to use their 2nd iPhone purchase.
11:09am: Change of plans. Heading to the Apple Store now to join in the line-waiting fun. Will it be too late?"
12:26pm: I expected rain, but that seems unlikely. It’s hot like a real Austin summer here in the iPhone line.
2:32pm: Hanging out in The Line with Jeremy of Barton Springs Software and @damon. Apple Store is closed. Had some lunch and a Starbucks soy latte.
4:03pm: 2 hours left. We can redeem our free Starbucks coffee coupons now. Excited! (About the iPhone. Not the coffee.)
6:30pm: Got my iPhone.
7:35pm: Activation will have to wait. Ratatouille.
8:18pm: Movies all sold out. Pre-activation dinner at Kerby Lane instead.
9:53pm: Activation took less than a minute. Also, no plan choice. Just $20 added on to what I already pay, I guess.
Other reviews around the web:
Matt Haughey: “So in conclusion, the iPhone is nice from start to finish, but Safari is really the thing that turns it from a phone into a mini-laptop. Once I get more used to two-thumb typing, the last limitations that keep it from feeling like a real computer will be gone.”
Scott Stevenson: “I usually don’t get too into pop culture events, but this is different. The Mac is going mainstream in a big way.”
Ryan Irelan: “I probably tried out the emergency call slider three dozen times. I wonder if anyone actually called 911 because their phone wasn’t activating quickly enough.”
Steven Frank: “Best phone ever. And given the rest of the industry’s generally pervasive cluelessness about pretty much everything, I don’t expect it to be surpassed by anything until the iPhone 2.”
John Gruber: “Overall day one impression: the iPhone is 95 percent amazing, 5 percent maddening. I’m just blown away by how nice it is - very thoughtful UI design and outstanding engineering.”
I finally released “Wii Transfer 2.3”:www.riverfold.com/software/… late last night. This is the version I demoed in “my interview with The Unofficial Apple Weblog”:www.tuaw.com/2007/06/1… The most notable changes are AAC support, an improved music player interface, and better use of the Wii remote buttons.
This release sports a new icon, designed by Jordan Langille of “OneToad.com”:www.onetoad.com/. As much as I enjoy tinkering with Photoshop and Illustrator, I knew I didn’t have time to do a quality icon. I wanted something fun that still captured a part of the original icon, and this concept has really grown on me since it was finished almost 2 months ago.
I also took this opportunity to refresh the “Riverfold web site”:www.riverfold.com/software/… design a little. Just don’t tell anyone that it still uses HTML tables.
Along with most of our house, my office is packed up and ready to move this week. The photo to the right is of one of the handful of items in a box labeled “Manton’s desk,” or, if someone else had her way, “Random junk Manton saves to remember the past but which should really be in the trash can.”
It’s unopened Moof beer from WWDC 1996, my first WWDC. At 20 I was too young to drink, but I probably would have saved it anyway. That was back when Apple gave you cool stuff and not just another cheap laptop bag.
This year’s WWDC will probably go down as one of my favorites. The keynote was a bit dull, but it was offset by the reality that Leopard is a mature and usable system. I have been running all my primary apps off of it since last week, including Mail.app, NetNewsWire 3.0, and Xcode.
I couldn’t place the feeling at the time, but now I realize that last week’s sessions were, in a way, relaxing. There was no sense of urgency. Most of the sessions I attended were practical, full of hands-on advice for preparing for Leopard and many applicable to Tiger development as well. I got a lot out of the week, and when I decided to skip out on Friday it didn’t feel like the world would come crashing down because of it.
Other highlights of WWDC 2007 were away from the sessions: walking Chinatown with Willie on Sunday in search of the illusive bakery item; hitting the SF Mac Indie party that night and hanging out with fellow developers afterwards; Buzz Andersen’s party Monday, catching up with Lane and the host; the Dan Benjamin annual breakfast; Apple Design Awards on Tuesday, which had a record number of wins for apps I’ve actually used; accidentally walking into a James Morrison concert at the Apple Store (left photo); being interviewed by Scott McNulty of TUAW, though I secretly hope they will decide not to air it; enjoying great Italian with the VitalSource team on Wednesday before catching the tail end of CocoaHeads; plus the Apple Bash and more drinks and discussion Thursday night.
Like at SXSW earlier this year, Twitter proves both cool and useful. I was lucky enough to meet many of the people on my Twitter friends list for the first time last week.
Of course it wasn’t all fun and games. I sifted through more legitimate Bookshelf bug reports than usual; I was exhausted pretty much every day; and there were a couple developers I had hoped to seek out that I just never made the time to.
All in all, though, a good week and now I’m ready to get back to coding.
Today is a good day to release software. “MarsEdit gets a nice update”:www.red-sweater.com/blog/346/… and “NetNewsWire 3.0”:ranchero.com ships. At VitalSource we also just released “Bookshelf 4.6”:www.vitalsource.com/index/boo… today, which lays the foundation for media-rich textbooks and adds a highlighter rating UI for any subscribed highlighters you have. This data will bubble up in a few places in the future to allow you to discover people and books, although for now it’s one-way.
Here’s a “short screencast of the rating interface”:www.manton.org/screencas… (12 seconds, 700k). The star widget is a simple Cocoa control that hits a web service in the background. It was fun to write and surprisingly not very much code.
Brent Simmons, from a “TUAW interview”:www.tuaw.com/2007/06/0…
I never thought about it that way, but it’s definitely a great aspect of the Mac developer community. I hope to add a few more people to my /Applications social network next week at WWDC.
I’ve been to a bunch of WWDCs now, but I’m particularly excited this year because it will be the first time I’ve attended as representing both a “large-ish company”:www.vitalsource.com and an “independent one-man shop”:www.riverfold.com/.
I will be carrying VitalSource business cards in my wallet, but I also hope to have a printed batch of Wii Transfer serial numbers to hand out. I know a lot of Mac developers have a Nintendo Wii and it’s a shame I haven’t given out more copies. If you have a Wii and see me (I look “something like this”:www.manton.org/me/), please get my attention so that I can correct this oversight.
Since version 2.0, “Wii Transfer”:www.riverfold.com/software/… has had a built-in web server for serving music and photos to the Nintendo Wii. The server was written in Cocoa and the code became very unwieldy as I continued to add features. Dozens of methods for processing different parts of the URL, and many if statements for conditionally branching based on the URL, splitting the URL parameters, and more.
The code looked something like this (only worse):
Multiply that times 10 for all the different URLs that Wii Transfer knows how to process, and you can see how it worked fine for a couple simple things, but quickly became a mess as I added features.
For the upcoming version 2.3, I redesigned most of the URLs to follow a common structure, patterned after the default URL syntax that Rails uses: /controller/action/id. Now, instead of if statements, I dynamically route the URL requests using NSSelectorFromString() and performSelector:withObject:.
Consider this code (as above, simplified from the real thing):
Now if I need to invent a new URL, say “/tracks/play/1234.mp3”, all I have to do is write the implementation for that method:
The web request calls through to this new method without any additional glue code, in this case passing “1234” in the single parameter.
(The underscored method signatures aren’t very Cocoa-ish, but this is actually a plus because I can quickly spot the chunk of the controller that processes a set of requests, and I like that they read just like the URLs. I’m also currently using a single controller instead of having separate controller objects for the different types of requests, but I may expand that later.)
This convention has also allowed me to simplify all the URLs that Wii Transfer uses. Other examples include “/covers/search/U2” or “/artists/show/5”. I’ve eliminated a bunch of code, and it fits nicely with how I serve application resources and the start of a HTML template system.
Could it be taken further? Sure. I remember in the Mac OS 9 days building a web interface for a product using only compiled AppleScript scripts stored in the resource fork. Lately, folks like “Gus Mueller”:gusmueller.com/blog/ and Adobe’s Lightroom team have been doing interesting things with “embedding Lua”:www.sqlabs.net/blog/2006… I don’t want that level of extensibility yet, but it seems like a logical next generation when I outgrow even this new web architecture in Wii Transfer.
If you are wondering why I haven’t posted here in over a month, it’s because I’ve been getting my writing fix “over on Twitter”:twitter.com/manton, in 140 characters or less a couple times a day. Still trying to figure out the best way to integrate that experience into this site. I also have the usual queue of blog post drafts that will roll out here when I have time.
Meanwhile…
A bunch of really interesting things hit today. Microsoft Surface (can’t wait for the multi-touch iPhone); iTunes Plus (already upgraded my songs); and YouTube on the Apple TV (welcome if unexpected).
I have actually been dreading the iTunes Plus announcement because I am behind in “Wii Transfer”:www.riverfold.com/software/… development, and I had hoped to coincide version 2.3 with the DRM-free AAC files on iTunes. It should be ready for a private beta in a few days. (Want in on the beta? Just email support@riverfold.com.)
But it’s the YouTube feature that is really fascinating to me. I’ve long thought that Apple has all but given up on web video, somehow content to let Flash dominate. The Apple movie trailers site as the last pocket of QuickTime content isn’t quite good enough. Apple could have created something on the scale of YouTube but hooked into the iApps, .Mac, and built on QuickTime. Maybe even as an extension of the iTunes Store around video podcasts.
(The great thing about podcasts is that they are decentralized, but it makes it a little more difficult when you are trying to build a community. The iTunes Store also does a great job for discovery but nothing to help content creators. There is no one-step upload.)
The Apple TV announcement is weird because while on the surface it looks like a confirmation that Flash video wins, it might just be the first sign of Apple fighting back. Every video on YouTube will get the H.264 treatment. The web video revolution (of sorts) has been great, but the pieces are coming together for truly useful broadband video. Perhaps YouTube sees that they could be a major player not just for silly webcam videos but as an infrastructure for high quality distribution, with content in some categories that will rival the networks.
That future is especially believable the first time you sync up near-HD video podcasts to the Apple TV. It’s a great experience and definitely exceeded my expectations.
Paul Graham thinks “Microsoft and desktop apps are dead”:www.paulgraham.com/microsoft…
He’s definitely off the mark with that statement. Luckily “Martin Pilkington has a counter-rant”:pilky.mcubedsw.com/index.php
As someone who builds both desktop software and web apps, I’m very much interested in what happens in the middle. Next generation Mac software in particular can mix local HTML interfaces, web services, and syncing with a traditional rich UI to build something that is the best of both offline and online worlds.
I had an interesting conversation with “Willie Abrams”:willie.tumblr.com the other day about why the Flickr UI is better than iPhoto, even if you take away all the social parts of Flickr. The reason is that Flickr introduces extra layouts specific to certain types of activities, such as the excellent calendar view for archives. Another example of a web app UI innovation is the Backpack reminder UI that “John Gruber recently wrote about”:daringfireball.net/2007/03/d…
Web apps are usually able to iterate on features and interfaces much quicker than desktop software, but that doesn’t make web apps inherently better. Put another way, iCal sucks because it hasn’t been seriously updated in 5 years.
I have other thoughts on this topic, but already I’ve extended this blog post 3 paragraphs more than intended.
After I “blogged last month”:www.manton.org/2007/01/i… about the very small number of domain names I own, I got some good feedback from people I respect. They basically said: “You’re an idiot. Domain names are cheap.”
And the more I thought about it, the more they were right. So last week I made an offer to buy the wiitransfer.com domain from its current owner, and after just about 48 hours I had the domain and was updating Wii Transfer to use it. Now all registered users can use the simpler bookmark URL wiitransfer.com/username to point to their shared music.
I’m also finally rolling out a bug fix update tonight (version 2.2.1, “available here”:www.riverfold.com/software/…). The most important change is that some MP3s that would not play will now work. Some customers never saw this, but for some people a large percentage of their music library was unusable. It turned out to be that certain kinds of embedded cover album artwork in the MP3 would break the Flash player on the Wii. The work-around I used is to load the MP3 into memory and clear all its ID3 tags before sending it over the wire.
It feels good to be working on Wii Transfer again. The next version is already underway and should make a lot of people happy.
It’s been over a week since SXSW Interactive wrapped up, and I can’t bring myself to post anything interesting about it. Don’t get me wrong, I had a great time. But I missed more sessions than usual this year (I’m trying to ship software here!), skipped half the parties (Traci was sick all weekend), and I didn’t notice any big themes that unified the conference.
Except Twitter. Which just underscores that it is about the people, and what they are doing, and being inspired.
I had a great time meeting new folks and catching up with old acquaintances: talking independent Mac development with Buzz Andersen and Justin Miller; software pricing with John Gruber; Rails and cities with Jamie Stephens and Sergio Rabiela; bumping into old school Mac web guys Carl de Cordova, Raines Cohen, Bill Christensen, and Wes Felter; co-workers and former co-workers Damon Clinkscales and Ryan Irelan respectively; lunch in a pub as a storm came down with Austinites Ben and Sara Brumfield; seeing my old friend John Brauer from high school who needs to email me (hint!); and finally meeting Shaun Inman and a bunch of other people whose names I can’t recall at the moment and whose business cards are buried somewhere, but no one is quite sure where.
My only regret is that there were a few people I wanted to say hi to that I literally saw from a distance on the first day of the conference and then never saw again. Maybe they took the wrong escalator and are still trapped in the void of that 3rd floor.
Of all the kajillion SXSW posts that have come through my fresh not-even-a-beta copy of NetNewsWire, I liked “Peter Merholtz’s write-up”:www.peterme.com the best:
Seeya next year.
Ten minutes until midnight as I type this. I started this blog 5 years ago. There have been just 329 posts in those 5 years, but there are some good ones in there. One thing I’ve noticed is that over the years I’ve switched from collecting links and providing short commentary, to more thoughtful longer posts. I’m hoping in this next year to go back to more of the earlier style.
My weblog anniversary also means that SXSW is starting. I don’t plan to blog this weekend, but will instead be updating through my Twitter account. To be honest I’m not sure what to expect from this year’s conference. I’m looking forward to a few sessions, but with RailsConf and WWDC and another work trip all lined up for the coming few months, I’m feeling a little conferenced-out before I’ve even begun.
Here are the previous anniversary posts: 2006, 2005, 2004, 2003, and 2002.
Also checked out the new Apple Store at The Domain today, which is a couple miles from my house. Was 250th in line without really trying, and the weather was nice enough to work under the oak trees outside Starbucks. Took pictures with my camera phone which I don’t have the energy to post right now. Tonight I headed back downtown for the opening of Jason Chalker’s art show.
“STAPLE! The Independent Media Expo”:www.staple-austin.org was last Saturday and it turned out great. The “animation panel I wrote about last week”:www.manton.org/2007/02/a… was a lot of fun and didn’t seem to suffer too much from my amateur moderating abilities. The projector worked, the films were great, and we filled an hour and a half with questions from the audience. Special thanks to “Damon”:www.damonclinkscales.com for working the lights and providing feedback afterwards.
My only regret is that I didn’t take a few minutes to snap photos or set up a video camera in the back to capture it. I left my camera in the car the whole day. Luckily other attendees took pictures of the rest of the show. Here are Flickr sets from “Freddie Avalos”:www.flickr.com/photos/fr… “Toby Craig”:www.flickr.com/photos/it… and “Marianne Ways”:flickr.com/photos/mw… Update: Damon “snapped a picture”:flickr.com/photos/di… after all!
Sunday night was the “Animation Show”:www.animationshow.com at the Paramount and Don Hertzfeldt answered questions afterwards. His latest film may be my favorite of his yet. I worked with Robert at the Animation Show on cross-promotion between their show and STAPLE!, and they were so great to work with I hope we can join forces again next time.
I came away from the whole weekend inspired. Monday a new idea for an animated short film hit me. I think it’s time to dust off the animation table again.
In the tradition of other independent Mac developers such as “Mike Zornek”:clickablebliss.com/blog/2007… “Daniel Jalkut”:www.red-sweater.com/blog/191/… and “Gus Mueller”:www.gusmueller.com/blog/arch… I’m going to share some sales information from the first 75 days of Wii Transfer.
The following chart shows daily sales (in units sold) for each day. I’ve also highlighted important milestones so you can see what affect they had on sales, such as shipping 2.0 (which brought many links) and increasing the price (from $9 to $14, which brought my first 2.0 day of no sales at all). Finally, there are a few spots where I show the average number of visitors.
(As an aside, I created this chart in Keynote. I love software that is simple and flexible enough to be used for purposes outside its original developer’s intentions. I wrote “more on this subject back in early 2006”:www.manton.org/2006/01/l…)
It’s difficult to tell, but the numbers on the right side are on average a little bit higher than the left. Not by much though. Sales just trickle in again right now (a few a day).
So what does it all mean? Here is the basic take-away: Sales are much better than I thought they would be, but not nearly enough to live off of. That’s okay, because I happen to love “my day job”:www.vitalsource.com (also writing Mac software). However, I can definitely see how it would be possible to do this full time, with some real marketing and a collection of several additional applications. I have done zero marketing for Wii Transfer except listing it on MacUpdate, VersionTracker, and Apple’s download site (where it was featured in the video section).
As you can see, there was a big spike in sales when 2.0 was released. This is a direct result of links from Mac sites like The Unofficial Apple Weblog and Daring Fireball, and gaming sites like Jostiq and others. When traffic goes up, sales go up. This opened my eyes because it really is all about getting your app in front of other users. “As I blogged about previously”:www.manton.org/2007/01/w… I think I also missed some sales opportunities during this period because 2.0 was not very stable.
Other interesting stats: The conversion rate is between 2% and 5%. For every 100 downloads, a few people decide to purchase it. I think many active users probably end up paying for it. Instead of a trial demo period, some features are just crippled, and it isn’t very usable day-to-day without unlocking the full feature set (for example, with music sharing to the Wii, you can only play one song at a time – no iTunes playlists or shuffle).
There are at least a few pirates too. I’m not too worried about them because “you can’t stop pirating”:wilshipley.com/blog/2007… and most people are honest. One customer was even nice enough to tell me about a pirated serial number he found.
To everyone who purchased Wii Transfer, thanks! When I built 1.0, I wasn’t sure if I would work on it again. Now, several versions later at 2.2, I have a clear roadmap of features (and bugs!) to keep me busy.
“Chris”:ycrtft.rethunkmedia.com and I headed over to Northcross Mall yesterday to take a final look at the conference center rooms before next week’s STAPLE! Expo. Although I’ve been on the planning committee since the very beginning of the conference over 3 years ago and actively involved for each of the previous 2 shows, this year is a little special because I’ve been organizing a panel on animation to complement the mostly comic book focused show. We have three great local animators this year: Aaron Romo, Evan Cagle, and Lance Myers. See the “STAPLE! guests page”:www.staple-austin.org/guests/ for more information on their work and our other featured speakers.
I also redesigned the web site last week, late Thursday night. In order to accommodate some CSS improvements and images from our new program, I had to abandon a few things from last year’s excellent design by “John Rubio”:www.johnrubio.com (who also did the logo). I hope to bring back elements of the old design for next year, though. There’s just not enough time in the day, and March is days away. I hate you February, for being so short.
One of the most interesting (and difficult) parts of running an independent software business is responding to support email. It is very time-consuming and often more frustrating than writing code because the solutions can be illusive. You want to help the customer, but it’s not always obvious how.
Two blog posts in the last week take entirely different approaches to customer support. The first is from Ryan Carson, who is well known for DropSend and The Future of Web Apps conference. Here’s a snippet from his response to a customer:
I was relieved to read the comments, which are more sane. I think Ryan made a mistake in how he dealt with the customer, and wasted a bunch of time in the process. Adding a customer to your spam filter? Yikes. I would have refunded the customer their $5 immediately.
(I actually like a lot of what Ryan writes and the events he puts on, but lately I find myself noticing the differences. As another example, his post about outsourcing programming work to Russia left me puzzled.)
Joel Spolsky also wrote an essay on support, and it’s just about perfect. I especially like his section on memorizing awkward phrases:
For almost every support email I get, I start by responding like this:
This does three things right away that I think are important:
This is more than just trying to be nice to people. As someone in the comments to Ryan Carson’s post said: you need to show the customer that you are on their side. Going negative demonstrates that you care about receiving their money but not actually building something useful that makes their life easier.
Here’s a portion of 37signals take on being on the customers side, from Getting Real:
Most people who buy Mac software from independent developers know that it’s only 1-5 people behind the company. We can’t compete with the Microsofts and Adobes of the world on application size, but we can compete on quality customer service. Being small is a competitive advantage.
I’ve exchanged at least a couple hundred emails in the last few months with customers or potential customers. (I don’t actually distinguish between users who have bought the product or who are just trying it out. They all get the same level of support.) Have I handled each one perfectly? Probably not. There are a few people who are still experiencing problems. But my hope is that just writing this blog post will serve as a guide and reminder of why taking support seriously is worth it.
Wii Transfer 2.2 is taking longer to get ready than I had planned, so I’ve decided to post a public beta while the last pieces are polished up. You can “grab it from the news section”:www.riverfold.com/software/… of the Riverfold site (lower right). It is very close to being done, but giant chunks of code have been completely rewritten. I hope the extra testing will help make 2.2 an extremely solid release, and get some of the new features in the hands of users as soon as possible.
So what’s new in 2.2? iTunes playlists and several new preferences to control picture sharing top the list, but there are at least a dozen changes underneath the hood.
The web server built into Wii Transfer has seen some work in particular. Music browsing now uses the iTunes Music Library.xml file for everything rather than look at directory contents, and you can change the port number on the fly without restarting Wii Transfer if there is a conflict with any other applications.
I’ve also added reflections to the album cover art! You can see a “screenshot here”:www.manton.org/images/20… and another one of “the collage for playlists here”:www.manton.org/images/20… (these are from Safari, but it looks mostly the same on the Wii). This was really fun to do, but unfortunately it somehow introduced a subtle double-release bug that I spent hours fixing. It would only happen if the album art could not be found in iTunes and while multiple connections were hitting the server (i.e. it was ultimately a threading issue), and maybe only every dozen requests.
I tracked it down by using ab (Apache Bench), pointed at Wii Transfer. I had a shell script with a bunch of lines that looked like:
ab -n 200 -c 4 “localhost/m/Beatles…
This URL asks Wii Transfer to grab any album art from iTunes for The Beatles, apply the reflection and return the JPEG data. It is flexible because you can send it any search strings. Other examples might be: Evanescence%20Door.cover or Zoo%20Station.cover. I was a little surprised that my little server was actually pumping out pages fairly quickly considering all the AppleScript and Quartz stuff going on. 10-20 requests per second isn’t much for a real web application, but for an app that is by definition single-user, it’s perfect.
The reflection code was made even easier by “BHReflectedImage”:bithaus.com/2006/11/0… which I modified to work with black backgrounds and then wrapped up in other helper methods to composite the cover and reflection together. When I first ran across this code I didn’t even notice it was written by Jeff Ganyard, who I’ve known for years and still run into at WWDC. Thanks Jeff! This goes in the about box credits with a bunch of other mentions. There is a really active Mac developer community that contributes source pretty freely, and I hope to add a few things to that collection one of these day as well.
I have been “iTunes-free for four weeks now”:www.manton.org/2007/01/g… and I hate it. It must be like quitting smoking, except without the fear of dying always at your back. I stopped by a Best Buy the other day and couldn’t find any CDs to buy. How do you shop for music without listening to it first? How do you find new artists without “customers also bought…” sidebars? Years ago I might listen to the radio to discover new music, but that was before the dial was permanently stuck on NPR.
“Steve Jobs dropped the bomb”:www.apple.com/hotnews/t… while I was at lunch yesterday, and I furiously read and re-read it and watched the fallout. Blog entries in NetNewsWire lit up like clockwork. As “I posted to Twitter”:twitter.com/manton, when the balance tips again to user control we’ll look back at this as a real shift in thinking. And the reason you know it’s true is because it sounds redundant to say the words.
But today… I browsed for music on iTunes and then ordered CDs from Amazon.
There is a story behind the name Riverfold but it’s probably not a very good one and I won’t go on a tangent by telling it here. What I will say is that I hate domain names.
Maybe it’s because I remember when domain names used to be free (I do), or maybe it’s because I get some thrill out of typing in IP addresses (I don’t), or maybe it’s because I think domains should last forever, like a printed book in wide circulation. But in any case I decided not to register WiiTransfer.com when I first named the product. Five days after announcing and shipping 1.0, someone else registered the domain, for their own presumably evil purposes.
I’ve owned just a handful of domains over the years. During the dot-com days I registered MyEdit.com and started building a web-based note filing system (sort of like Stikkit but not as good). Then there were the family web site and related domains.
I let all of them expire, except manton.org. I kept riverfold.com for “everything else”, and I’m pretty comfortable with the simplicity of that decision right now. It was probably foolish to pass up the domain for my own product. But how many people type in photoshop.com to go anywhere? No one who matters.
There is a thread on the MacSB mailing list about the rise of product-oriented web sites (the DiscoApp.com’s of this new era of glitzy Mac shareware), and it really made me second-guess my decision to not register everything. But at the end of the day, it’s one less thing I have to worry about, and I can focus on stuff that is more interesting.
I’ve blogged a lot about my side project Riverfold lately, but it’s time to show my “real” job some love as well. Internally at VitalSource last week we rolled over to beta status for the upcoming Bookshelf 4.5, and I’m really excited about what is coming. I’ve been working on the note sharing and syncing feature off and on for over a year now.
What’s it all mean? In a nutshell, create highlights and notes in your digital textbooks and have them flow to other users or to any of your computers. As Steve Jobs said with a totally straight face at the iPhone introduction: It works like magic.
(That was one of my personal favorites from Macworld. Rewatch the keynote and see the expression on his face. This magic is serious stuff.)
At least, magic is the goal. If it was that easy we would have shipped by now. Behind the scenes it gets a little tricky, and the cross-platform C++ code that powers the client (the server piece is written in Ruby on Rails) is in its third major rewrite. Which like all good refactoring, is simpler and probably uses fewer lines of code than the previous two attempts.
But first, some screenshots: Subscribed highlights and Sharing
The architecture is based on the Simple Sharing Extensions (SSE) for RSS and OPML. On top of that we have added a VitalSource namespace and a few extra XML elements and attributes to keep track of Bookshelf-specific data, such as highlighter color and selected text within a book. The goal is to keep it as open as possible, so that in the future we can both consume other sources of user notes, and allow third-parties to also hook into the data in interesting ways.
We (computer users in general) are all writing bits of notes and data in various applications and for the most part, it’s a mess. We switch applications frequently, databases and file formats change, and there’s no good way to move data between applications. Imagine instead that you could have bookmarks and short snippets of text easily sync between apps like Del.icio.us, NetNewsWire, Yojimbo, Flickr, and Bookshelf. Ultimately the only requirement is that each item is RSS-like (it has a URI, some text, and maybe another piece of specialized data just for that app). Anyone who has been programming for the web for a few years knows that after a while, everything starts to look like RSS.
The key is simple, flexible standards. Less Software if you will. Mac OS X’s Sync Services by comparison is too complicated, too closed, and too narrowly tied to specific applications.
What I like best about SSE is that it provides a roadmap of sorts. It makes some assumptions about how you want to sync data and that frees you to work on more important things. Wondering how to deal with GUIDs, versioning, and deletions? Don’t reinvent the wheel, that’s in the spec.
I’ll post again when we actually ship the software, of course. Anyone else using SSE yet? If so, drop me an email. I’d love to hear how people are using this stuff.
Okay, not really. But this has been a crazy and surprising week for my “little” application, Wii Transfer. Putting 8 hours each day into “VitalSource”:www.vitalsource.com (I have a post coming about that tomorrow, by the way) and then juggling home responsibilities, putting out various other fires, and sitting down to work on Wii Transfer until 3am is just not healthy.
Luckily I slept great last night and took a 3-hour nap today. So time to blog again. :-)
Over a week ago I released Wii Transfer 2.0 and made a big mistake, and since I’ve been programming for the Mac for over a dozen years now, I really should know better. It was buggy. And not just a few minor cosmetic problems, but at least two serious crashers. I simply had not tested enough. It’s difficult (sometimes impossible) to regain a user’s trust after their first experience with an application is a bad one, so I got to work that weekend fixing problems and releasing beta builds to customers to get a few extra eyes on the software.
Then Monday came, and all hell broke loose.
Links from “Daring Fireball”:daringfireball.net/linked/20… “Ranchero”:www.ranchero.com and “The Unofficial Apple Weblog”:www.tuaw.com/2007/01/2… were followed by “Jostiq”:joystiq.com/2007/01/2… “Infendo”:infendo.com/2007/01/w… “4 Color Rebellion”:4colorrebellion.com/archives/… and a bunch of others. Ironically one of the only gaming sites I read that never linked to Wii Transfer was the only one I had actually sent an announcement to (“GoNintendo”:www.gonintendo.com). Traffic and sales were way up (“here’s a Mint screenshot”:www.manton.org/images/20… from one day last week).
But meanwhile, the application was just not that stable. I started rewriting most of the web server inside Wii Transfer and fixing lots of issues with iTunes and iPhoto libraries stored on external drives. Then I made my second mistake: I added a feature (album cover artwork!). Obviously, adding a feature in the middle of bug fixes just delays the original fixes and introduces new problems.
I also quickly realized how many things could go wrong with how music and picture sharing works. It relies on the Nintendo Wii and your Mac being on the same local network. Because Wii Transfer pings a bookmark server to register your IP address, you also have to make sure the app picks the right IP if your Mac is on both ethernet and wireless networks. Worse, many people have the Mac OS X built-in firewall enabled, so users are required to manually open up port 9000.
At one point on Tuesday when sales were coming in, every time I received a PayPal notification email I literally groaned. “Stop buying this software until I can make it work reliably,” I would say to the computer. The thing that got me through was that all customers who sent in support email were extremely helpful and patient. The other good news is that with version 2.1.1, it’s looking pretty solid, and the next update should wrap up any remaining fringe issues.
To everyone who gave Wii Transfer a try, thanks! I think you’ll like what comes next.
I finished “Wii Transfer 2.0”:www.riverfold.com/software/… late Thursday night. This version is an interesting milestone for the application because it goes beyond just using the SD card to shuttle data back and forth between your Mac and Wii. There is a small Cocoa web server embedded inside Wii Transfer that can serve up MP3s and JPEGs directly to the Wii using the Internet Channel. I think this could be the basis for some really fun stuff in the future.
One of the things I added at the last minute is to try to simplify how you connect to your Mac from the Wii. IP addresses are difficult to memorize for most people and may change depending on how your home network is setup. To solve this, Wii Transfer will optionally create a permanent URL for you on bookmark.riverfold.com. You can then add that URL as a favorite for your Wii and it will always redirect to your local machine. Wii Transfer will ping the Riverfold server on startup and update the bookmark database with your current IP address. You can think of it as a simplified version of “Dynamic DNS”:en.wikipedia.org/wiki/Dyna…
I just noticed that Wii Transfer is the featured download and staff pick in the “video section of Apple’s download site”:www.apple.com/downloads… That is a nice surprise. It will be interesting to see what that does to download stats.
One last thing. Starting next month the price will go up to $14 for version 2.0 (free upgrade for all existing users). I usually work on Wii Transfer at night, so the increase will help offset all the sleep I lost. :-) Even at $14 it may be underpriced. Remember the “Brent Simmons rule”:www.red-sweater.com/blog/168/… anything less than $20 won’t be taken seriously. In this case though I think it’s just about right. I’m also finding a large percentage of purchases from Europe, despite no localization, probably because the US dollar is so weak now. Enjoy!
Last week I said I wasn’t interested in an iPod phone, unless it was something no one had even thought to expect. Well, it is. I am blown away by the iPhone. The thing runs Mac OS X.
The iPhone is really inspirational in terms of UI design polish. You can tell they put some years into it. I was playing with Tiger’s NSAnimation the other night (sort of a poor man’s Core Animation), and it reinforced for me the fact that UI effects are no longer optional pieces of software design. They can both visually supplement the user interaction and just make the application experience more enjoyable. Disco, for all the criticism as a glorified Disk Recording framework wrapper, is fun to use. Same goes for the just-released Snapshot 2.0, which has a really thoughtful single-window UI.
This is going to be another great year to be a Mac developer. And we haven’t even seen the rest of Leopard yet. Only bump in the road will be if iPhone is a closed platform. The comments over at Theocacao provide some interesting commentary on that question.
A few years ago I used “VoodooPad Lite”:www.flyingmeat.com/voodoopad… extensively. Every note, to-do list, and feature description went into it. At some point I migrated away from VoodooPad to a combination of text files and “Ta-da list”:www.tadalist.com/, perhaps fearing I would have too much data in a weird format that would be difficult to get at later.
But I was always on the lookout for a problem that would best be solved with VoodooPad again. With our localized help files for “Bookshelf 4.1”:www.vitalsource.com/, I tried for most of a day to use VoodooPad to manage the help. I even experimented with Gus’s dead “project for remote wiki editing”:www.flyingmeat.com/fs/flysta… thinking I would write my own web-based help-specific wiki system and plug “Boomerang”:www.flyingmeat.com/fs/flysta… into it. In the end it was too difficult to force the existing static help files into VoodooPad.
Fast-forward to a few nights ago. “Wii Transfer”:www.riverfold.com/software/… 1.5 has no Apple Help at all, and it needs some. A perfect opportunity for VoodooPad, and I’m happy to report that the solution works beautifully. I knew I could make it work because clearly VoodooPad’s own help files are managed with VoodooPad. After a bit of experimentation I bought a new VoodooPad license and all was well in the world.
Here’s how it works:
You can “watch a screencast of the process here”:www.manton.org/screencas… I add a new page, enter some filler text, export the VoodooPad document, then re-run the Xcode project and view the changes in Apple Help. Fun!
Watching from the sidelines as Dan Benjamin prepared his first podcast really made me want to get out “the microphone”:www.flickr.com/photos/ma… again. Creating a podcast is a great experience, and I always tell myself I’ll do them more frequently. There have been a few recent events that I’ve wanted to capture as podcast episodes, including the experience waiting in line for the Wii, but it just hasn’t come together.
Enough about me. Go listen to “The Hivelogic Podcast with Dan Benjamin”:www.hivelogic.com/articles/… interviewing “John Gruber”:daringfireball.net about the upcoming Macworld announcements. The Macworld keynote is this coming Tuesday at 9am Pacific, but I haven’t heard word yet on whether it will be streamed live or a delayed rebroadcast.
Dan covers his Macworld predictions in great detail. Instead of predictions, since mine will probably be wrong, I’m going to list what I want to see:
Tablet. I tend to agree with Steven Frank’s analysis more than this former Apple exec but either way it remains pretty unlikely that a tablet is going to happen under Steve Job’s watch. At WWDC once Steve Jobs called the Newton a “little scribbly thing” or something similar, and it wasn’t long before he officially gave that division the axe.
Numbers. Some people still insist on sending me Excel documents. We need a simple application in the iWork suite that can natively read/write Excel documents and handle the basics.
Finder. I’m pretty sure Leopard will sport a new Finder, as well as user interface candy paint applied across the operating system. The only question is whether they’ve rewritten it from scratch and in the process introduced even more problems. I’m optimistic on this one, though, and expect an elegant UI evolution from the Finder team.
What I don’t care about:
iTV. See previous post about DRM If I want to watch a movie, I’ll put in a DVD. However, I do hope to draw some inspiration from whatever they do and apply it to Wii Transfer development.
iPod Phone. I have no doubt it will be well designed, but it will also be at least $299 (guess). I have only owned a couple mobile phones in my life, and they were free or nearly free. The iPod Phone will have to be something no one’s even thought of yet for me to consider it. It’s kind of like Nike + iPod a luxury that I don’t really need.
Anyway, should be a fun Macworld. I haven’t been in years and I’m a little jealous of those who are attending this year. (But not jealous enough to want to get on a plane next week.) Part of me misses the old days, having a booth and talking with users or seeing what was new on the show floor. I was at the first Macworld keynote after Steve Jobs came back to Apple, while Gil Amelio was still in charge, and I’ll always remember it as something pretty special.
When I started on the “music sharing feature”:www.manton.org/2007/01/h… in the upcoming 2.0 release of Wii Transfer, I knew it couldn’t support protected songs from the iTunes Music Store. Still, it was disappointing when I started using it and such a big chunk of my favorite music was inaccessible. The only DRM problem I’ve ever run into before now is forgetting to deactivate old machines and hitting the 5-machine limit, but that’s easily solved, and I have been quick to defend iTMS and promote its convenience to others.
No longer. Overnight my music library has become much less valuable, just because I chose to use it in a different way. Almost all the music I’ve bought in the last couple of years is from iTunes. I created two smart playlists, one to show protected and one not. Apparently of the 5000 songs on this computer, 500 of them are from iTunes. 10%.
I’m not sure what is going to replace my use of iTunes yet, but for now I think I’ll lean on Amazon Prime’s free 2-day shipping and just order and rip CDs to good old fashioned high-bitrate MP3s. Too bad, because I do love the iTunes experience. Just gotta keep repeating to myself: text files, JPEGs, and MP3s are forever. Everything else is suspect.
I got sick (the flu?) shortly after Christmas, but nevertheless managed to sneak in some coding on Wii Transfer 2.0, which I hope to release this weekend. The big new feature for 2.0 is music and picture sharing. Essentially, there is a web server built into Wii Transfer. You can use the Wii’s Opera web browser to connect directly to your Mac running Wii Transfer and pull up MP3s or iPhoto albums. I’ve licensed “Jeroen Wijering’s Flash-based tools”:www.jeroenwijering.com for listening to MP3s and browsing photos. The interface isn’t perfect yet (the buttons should be bigger for easy TV viewing), but I think it’s pretty good for a first shot at this. The web server portion is based off of “Jürgen Schweizer’s Cocoa example code”:culturedcode.com/cocoa/.
“Check out this screencast”:www.riverfold.com/software/… to see what most of it looks like. The first part shows the new Wii Transfer main window UI with a source list for switching features, and the second part shows what it looks like from the actual Wii. I just setup a tripod and filmed off the new HDTV with my digital camera.
I also started back on “real work”:www.vitalsource.com today. We have some neat stuff shipping later this month that I’ll be blogging about more once it’s ready to show. I knew I could easily get lost in inconsequential stuff on the Tuesday after a long break, so I spent a bit of time yesterday reviewing to-do lists and getting my head on straight. Got some real coding and design done today, so no complaints there either.
All in all, 2007 is starting off great. (Except that I still seem to be sick, but I’m going to try to ignore that for a bit longer.)
“Wii Transfer”:www.riverfold.com/software/… is now listed as part of the “MacSanta promotion”:www.macsanta.com/. Only $7 through Christmas day!
I also released Wii Transfer 1.5 late last night. The major change in this version is support for automatically backing up saved game data files from an SD card. The Nintendo Wii by default does not save games to SD cards, but it’s easy in the Wii settings interface to copy your saved games to an SD card or restore later. If Wii Transfer is running when you insert an SD card into your Mac, it will automatically copy the saved games to your hard drive (in Application Support), organizing them by date. Then there’s a simple UI for restoring the games back to an SD card. “Here’s a short screencast”:www.riverfold.com/software/…screencast_backup.mov if you are curious what it looks like.
One neat part of this that I was able to do – and this is consistent with the whole point of Wii Transfer, improving the experience of transferring Wii data – is to show the real game names in the restore list. The data files actually use a 4-character code, but “WiiSave.com”:www.wiisave.com is maintaining a list of codes to real names. I’ve baked a portion of that list into Wii Transfer 1.5, and the application also automatically downloads an updated list from the Riverfold web site so that as new games are released, Wii Transfer will know about them.
Now head over to “MacSanta”:www.macsanta.com and pick up some great Mac applications, all 20% off.
I guess it’s a sign I’m not blogging very often when I don’t even announce my own product! A big thanks to “Dan Benjamin”:hivelogic.com and “John Gruber”:daringfireball.net for linking up “Wii Transfer”:www.riverfold.com/software/… a little application I quietly rolled out last night. (I’d thank the other links too but I’m still sorting through referrers for today. Maybe it’s time to buy “Mint”:www.haveamint.com/.)
Wii Transfer started as a weekend hack to make the process of converting QuickTime movies to more Wii-friendly codecs much smoother. Not many hours into it I realized there are a bunch of useful features I could build around the Wii. Rather than work on it for a few months leading up to a big 1.0 release (all the while not knowing if it would be well-received), I borrowed a little “less software”:gettingreal.37signals.com/ch02_Buil… and brought it to the point that it was generally useful and worth paying for.
This kind of quick iteration is great because it means tonight I can announce version 1.2. There are a handful of minor improvements, but the two big new features are AppleScript support and an interface for quickly opening video podcasts from iTunes.
Overall this has been a really fun process and I’m interested to see where it goes from here. I will write more about Riverfold, the company, in a later blog post.
If you’ve talked to me recently about video games or read my post about trying for a Wii pre-order, you know I have become obsessed with getting a Nintendo Wii at launch. The high scores that the new Zelda was receiving last week pretty much sealed the deal for me: I had to have one.
Thursday and Friday if I was out doing errands and passed a store I would inquire about their launch plans. It wasn’t looking good, with mixed messages from employees about how many units they would be receiving. Saturday afternoon I stopped by Wal-mart at around 2pm and already there were 22 people in line for the midnight launch of only 29 systems for that store. They urged me to stay, but I couldn’t. I had a whole day planned already, and it didn’t include video games.
Saturday evening I made a list of a half dozen possible stores and called each one. It was clear right away that if I wanted a Wii on the launch weekend, there was only one choice.
I arrived at Target at about 9:30pm Saturday evening with a chair, blanket, Nintendo DS, and book. They would open ten and a half hours later at 8am the next day, but tickets would be passed at around 7am. Early line campers who had arrived at 3pm in the afternoon had a sign-in list to ensure there was no confusion. I was number 33 out of 60 confirmed Wii systems. By midnight, all the consoles were accounted for, and everyone who arrived afterwards was turned away.
I had a great time talking with other line waiters. It was an interesting mix of people, from John next to me who worked at Apple here in Austin, to a set of young gamers who pulled up with a truck and unloaded two couches, a rug, and a coffee table.
Around 4 in the morning I realized how unprepared I was. It was in the 40s that night and my blanket was completely insufficient. If I ever do something crazy like this again, I’m packing several blankets, a sleeping bag, and pillows. By 6am I considered the few hours of uncomfortable sleep I got a success and took a jog around the parking lot to get my blood flowing and stop from shivering.
The sun rose and tickets were passed out. The excitement of the night before was back as a Target manager confirmed that they would indeed have a full 60 copies of Zelda, and almost as many for other games. Not everyone is going to get a Wii the first week, but from where I’m standing Nintendo has done a great job of shipping out as many systems as possible and making sure the games and controllers are there to go along with it.
I’ll post again next week about my impressions on Wii Sports and Zelda, but so far I am not disappointed. I make no apologies for being a Nintendo fan, but the Wii is neither over-hyped nor a gimmick, and I think the system will live up to its original codename.
Happy Thanksgiving!
Last year I participated in NaNoWriMo and successfully “completed a 50,000 word novel”:www.manton.org/2005/12/5… in one month. It was a great experience, but when someone conducted an informal survey on 43things of who would be doing it again this year, I answered that it was just something I wanted to do once in my life, like running a marathon, and I wouldn’t be doing it again.
And yet, before November rolled around again, the idea for a novel started growing in my mind. I had pretty much decided to go for it again. On the 1st of the month I wrote the opening and started organizing notes for the characters and plot.
But that same night I was sketching with friends at a coffee shop instead of writing. “Paul Adam”:www.untameduniverse.net and I talked about 24-Hour Comic Day, NaNoWriMo, and side projects. That conversation made me realize that I have a bunch of stuff I want to work on right now, and writing a novel which I have no immediate plan to publish just can’t fit into my schedule right now. NaNoWriMo is an all-consuming thing – you have to drop everything to finish it.
The story and characters I came up with have some potential, though. Instead of cramming it into a month, I may work on it a bit over the next year or two.
I started writing this post yesterday afternoon. Worried that I would jinx a victory, I wrote two versions: one for a narrow loss and one for what really happened.
Two years ago, after Kerry lost, “I wrote”:www.manton.org/2004/11/a… “We almost won, and all the hard work of the last 18 months will pay off big in two short years.”
Well, it’s two years later, and we did it. DNC chairman Howard Dean’s “50-state strategy”:democrats.org/a/party/a… worked. The media will tell you that the election was just about Iraq and Bush, but it goes deeper than that – voters are sick of Republican corruption, tired of half-hearted attempts at health care, and longing for a real vision for public education. You can see the patterns by looking at the progressive wins in state races and on local propositions too.
There are “20 posts in the politics category”:www.manton.org/category/… of my blog, and they include some of my favorites from the last 4 years. It’s nice to be on the winning side again after too long. The next part of the job is for Democrats to show everyone in America that real progress can be made in Washington. Deliver. Then keep organizing and make it all happen again in 2008.
I voted today. Here’s the scene for my precinct today. Not too crowded, but a steady flow of people.
Yesterday Traci and I called voters as part of “MoveOn.org’s Call for Change”:www.moveon.org/. I’m always nervous about calling complete strangers. I did this for the first time for Howard Dean’s campaign and it’s easy to get disillusioned with answering machines and hang-ups. But almost everyone we talked to was planning to vote today, and I think there’s definitely a sense that this election matters. Sometimes a simple reminder is the difference between voting or skipping it, so if you only reach a handful of people it can make the difference in a close race if thousands of other people are doing the same.
I’ll be up late tonight watching the returns. Polls close early in some places and may get crowded, so don’t wait any longer if you haven’t voted yet. For location info call 1-866-MY-VOTE-1.
Bill Plympton was in town tonight for the Texas premiere of Hair High at Alamo Drafthouse downtown. I’ve been lucky enough to see each of his films in the theater, and this is definitely his best yet. It has actually been finished for a while. I posted about it back in 2002 when he started production. Before the showing I asked him about making an appearance at STAPLE! this coming March but it doesn’t look like his schedule will allow it. He’s one of about 4 animators I hoped to approach about showing their films at STAPLE!, in addition to some great local talent we’ll have speaking and showing their work.
I saw The Illusionist when it came out a couple months ago and thoroughly enjoyed it. I love magic. The film was well told, the ending a surprise for me. Edward Norton was really good in it too. I re-watched Fight Club a week later, for the first time since the theatrical release.
Last night, I saw The Prestige. How lucky are we to have two movies about magicians in the same year? The Illusionist was really good, but The Prestige sidesteps direct comparison and just creates a new league for itself. My head was still buzzing an hour after the film was over, unraveling the different layers of the film, what it all meant for the characters and their actions. It was one of those rare works that inspires, both from the flawless filmmaking and the dedication of the fictional characters as well. I was literally on the edge of my seat and completely captivated.
Even as the credits started to roll I wanted to see it again. It’s that good.
Two weeks ago I casually showed up to EB Games 5 minutes before they opened, hoping to luck out with a “Nintendo Wii”:us.wii.com pre-order. Unfortunately the last slot was taken by someone who was there over two hours earlier, and at least a couple dozen people (including me) were turned away before the store even opened.
I’m determined to get one of these consoles, and there’s something interesting about trying to get one at launch. Every day new reviews flow in to gaming blogs. I don’t see myself as a hardcore gamer, but the Wii looks like an innovative system with several fun games available at launch or shortly after.
So I called Toys R Us last night to inquire about pre-orders opening up today at 10am. He said they had 10 Wii and only 3 PS3s. Furthermore, mall security wouldn’t let anyone on the property until 4am. This would seem to limit the opportunity for all-night campers, so I was pretty hopeful as I left for the store shortly after 4am this morning.
Yes, you read that right. I have become so obsessed with this that I was willing to spend 6 hours in line. Luckily, the weather is beautiful this weekend. I packed a book, iPod, and sketchpad into my bag and left feeling pretty good, that at the least I would have some time alone to read or write or listen to music.
There were already at least 20 people there when I arrived. Several in line were hoping to reserve both Wii and PS3. One made the comment that they would be selling the PS3 on Ebay, but keep the Wii for themselves. There was even someone waiting for the new Elmo doll, which made the whole scene even more bizarre.
Apparently some of the folks had been there well before 4am, probably closer to midnight or earlier. The details are sketchy, but the story I heard involves a bewildered security officer, two police cars, threat of jail time, and a mad dash at 4am to the front door. By the time I got there, the last Wii pre-order slots were being decided by a foot race across the parking lot. Seriously. Meanwhile, a second line at the exit door was setup in a futile effort by those too stubborn to admit defeat.
I finished the banana I had brought for breakfast, played a little multiplayer Nintendo DS, and left before 5am with a “good luck” and a wave to those crazy enough to get there before me. I guess I’ll try again at Best Buy or Target next month. Rumor points to “as much as 120 units available”:gonintendo.com at some stores.
C4 was last weekend and looked like a lot of fun. Unfortunately I was about travelled-out this year with RailsConf and WWDC. Perhaps next time.
Daniel Jalkut was the first I saw with nice write-up. He provides “a speed-through of sessions”:www.red-sweater.com/blog/213/… and closes with what is probably the biggest draw for attendees:
I subscribe to a couple dozen Mac developer blogs, and keeping an eye on Flickr and Technorati tags for C4 is another great way to see what developers are up to. Mr. Rentzsch himself has a “set of links here”:rentzsch.com/c4/zeroLi… and Mike Zornek just posted some “short videos of the room”:clickablebliss.com/blog/2006… that give another view of the show.
When I go back through my older Mac programming posts, I’m reminded that I don’t really blog about Mac development as much as I used to. Perhaps that is because there are so many other good Mac guys blogging now.
The Da Vinci Code appealed to me and many others because it successfully mixes pieces of both art history and code breaking. The book captures in fiction the same fascination I had first cracking open Applied Cryptography.
A few months ago “Damon”:www.damonclinkscales.com completed a “companion to the book and film”:www.davincicc.com/, containing images and links to concepts organized by chapter. It uses the VitalBook digital book format, and is viewable in the software I helped write, “VitalSource Bookshelf”:www.vitalsource.com/. I’m working on some fun new stuff for Bookshelf at the moment that uses web services and “SSE”:msdn.microsoft.com/xml/rss/s… something I hope to post more about in the future.
In other Da Vinci news, story artist and animator Jim Capobianco has completed animation on his short film “Leonardo”:leoanimation.blogspot.com/. I saw a preview of this at “2d Expo two years ago”:www.manton.org/2004/07/c… and I can’t wait to see the finished product. Even in storyboards and rough pencil animation it was great.
I picked up the board game “Carcasonne”:www.amazon.com/gp/produc… a few weeks ago and have been enjoying it. It’s great to see some innovation in board games again, and it’s a relaxing change of pace from video games. Target and the other big box stores are still mostly packed with remakes of classic board games, which are fine, but if you seek out the more speciality shops there’s a range of good stuff available. I bought my copy at “Dragon’s Lair”:www.dlair.net/, a local Austin comics and games shop that I’ve been frequenting for about 15 years, but I’ve seen it featured prominently at other quality toy stores.
I originally sought out Carcasonne for play between adults, but I’ve found the game also works great for kids even younger than the 8 years recommended on the box. Just follow a few rule simplifications. First, no farmers. Next, as recommended by someone in an Amazon review, use the word “traveler” instead of thief. And finally, just score a single point for any completed castle, road, or cloister. Part of the charm of the game is in constructing the map anyway, so these simplified rules make for fast and enjoyable games for younger children.
The 2-hour season finale for Lost last year was some of the best television you’ll ever see. I re-watched it a few days ago and it was great stuff. And yet, I had a feeling that season 3, which premiered this week, would reset the clock again. Introduce a few more characters, change all the usual assumptions, but leave more questions instead of answering the existing ones.
Turns out it was even worse than that. Frankly, the start of season 3 was junk. Clearly the writers are making stuff up as they go along, and that drives me nuts.
When I think of epic story, perfectively woven together from beginning to end, I think of JRR Tolkien. After reading the collection of original manuscripts and commentary by his son Christopher Tolkien, I was surprised that for the first half of Fellowship of the Ring, Tolkien really didn’t know where he was going with it. It was chapter by chapter, and characters changed or story points were rewritten as he went along. But there came a point where I think the vision must have clicked for him, and at that point everything came together and the result was a work of fiction that will hold up for centuries.
The suspension of disbelief works on me better than many people. If I feel like the creator of a novel or film has a real vision I’ll overlook the small problems and fall in love with the story and characters. For Lost, the dialog and pacing of each episode is technically brilliant, but the overall vision is missing, and I don’t think it will resolve in any meaningful way. Instead, the ratings will slowly decline until the show disappears in the same pattern of X-Files or Alias before it.
So I may have to sign-off of Lost for a while. I did the same thing in the middle of season 2 when it got slow. Perhaps I’ll just read the synopsis and then join back in for the season finale every year. I’m afraid every time I watch it I’ll compare it to what it could have been, and only think of executives trying to milk the show for as many seasons as possible. I don’t want to be dragged along with them. Thanks anyway.
In my “San Francisco podcast”:www.manton.org/2006/09/s… I mentioned Enrico Casarosa and “Sketchcrawl”:www.sketchcrawl.com/. I really wanted to interview him, but there just wasn’t time to contact him and arrange it. Luckily, Illustrationmundo’s Iconic podcast has conducted an “interview with Enrico”:www.illustrationmundo.com/audio/art… and they discuss Sketchcrawl at great length.
Also, check out Enrico’s ongoing watercolor comic, “The Venice Chronicles”:enricocasarosa.com/wordpress… He just posted page 11 and 12.
There are a lot of computer animated films out this year. It was inevitable, with Disney shutting down its 2d division a few years ago and all of Hollywood getting on the 3d bandwagon. Some will be successes, some failures – just like their live-action counterparts – and that’s fine.
I’ve seen Cars twice now. Perhaps it’s because a certain 2-year-old I know says “zooma!” more than any word in his limited vocabulary, but this little Pixar film is really growing on me.
Meanwhile, it looks like “2d is officially back at Disney”:www.laughingplace.com/News-ID51… Can’t wait.
I couldn’t let the 5th anniversary of September 11th pass without saying something. On Friday the Senate intelligence committee released a report showing that there was no link between Saddam Hussein and 9/11. That isn’t news. What is news is the details: that Saddam actually distrusted Al Qaeda and tried to capture Zarqawi. The simple truth is that terrorist organizations are a threat to any government, even ones we have disagreements with.
If that doesn’t make you sick, here’s another one that I haven’t heard mentioned yet. Sometime next year the number of U.S. soldiers killed in Iraq will surpass the civilian deaths on September 11th. (September 11th = 2973, Iraq as of today = 2661)
The level of incompetence in our President, Cheney, Rumsfeld, and their advisors reaches new heights. What can we do? Five years ago we were uneducated and scared, and even two years later we could easily be led by fear alone. Now, just stay angry. Change starts in November.
My third podcast is about San Francisco. Download it here or subscribe to the podcast feed in iTunes.
» Download (MP3, 16.8MB)
» Audio-only RSS feed (drag to iTunes)
I had a lot of fun putting this together, recording sounds in and around San Francisco. I used my MiniDisc RH-910 and Audio-Technica AT822 microphone. Turns out the MiniDisc was a pretty bad investment, though. It has been a real hassle to use, and I am eyeing the new Edirol R-09 as a replacement.
Go buy the music used in this podcast from Magnatune: Cargo Cult, Phoebe Carrai, and Arthur Yoria. They are building a great modern label that embraces what the internet is about instead of fighting it.
Also special thanks to the Marin County Free Library for permission to use a portion of the Arthur Giddings interview. Check out their site on the 1906 earthquake.
Other resources: Point Reyes, San Francisco Police 9-1-1 Tapes, 19th-Century California Sheet Music, WWDC 2006 Keynote.
Update: How could I leave out a link to Sketchcrawl.com? Also: Eadweard Muybridge, Enrico Casarosa, and Dorothea Lange.
I received two great surprises this week. In the mail came the 9th issue of “Animation Blast”:www.animationblast.com/, Amid Amidi’s magazine on the art and history of animation artists. This started as a smaller quarterly magazine, but the latest issue has grown to over 100 pages. It’s an extremely high quality, ad-free book. I think I placed an order for Animation Blast #9 over 3 years ago, and it was continually delayed due to Amid’s other responsibilities. No worries, though, because the book is beautiful.
The other related surprise was a new episode of the “Animation Podcast”:www.animationpodcast.com/. The last one was over 2 months ago, but again, the quality is so high and the information so valuable that it makes my day when a new one drops into iTunes. The 17 episodes so far, if taken together, represent a huge wealth of animation history, rivaling most DVDs and books in my collection. They are probably the only podcasts I subscribe to that I would archive to audio CDs to make sure I always have access to them.
Copyright law is a major thorn in the side of creativity. Of course I knew this, and supported the work that “Lawrence Lessig”:www.lessig.org/blog/ was doing including the “Eldred case”:en.wikipedia.org/wiki/Eldr…Ashcroft, but it wasn’t until I actually needed to _use copyrighted material that I realized just how horribly broken the law is. Several nights this week I’ve spent hours reading about copyright and making sure I have my ducks in a row, and the results are very depressing. Especially bad is that even very old works are automatically renewed. Some of the stuff I might want to use is impossible to find to begin with, so locking it under copyright with no revenue stream going anywhere is a huge disservice to society.
That’s not to say I don’t appreciate that we need protection for our creative works – of course we do – but the retroactive nature of some of the recent copyright extensions means that content is unreachable even long after it has been left to gather dust in the internet byte bin.
Anyway, hopefully this concludes my short series of rants, started last week about the void of good digitized archives of historical documents. This all comes from a podcast or two I am working on. The good news is that today I received permission from a web site to use a small portion of their audio, giving me new hope that given a chance people will usually act sensibly. I am still maneuvering through what is acceptable “fair use” for other sources, but I think I am generally making reasonably defendable decisions.
Unfortunately I made a big mistake in my first podcast, using commercial music. At the time I didn’t think much of it, because I was experimenting, but as I start to podcast more I plan to go back and remix the old show with licensed music. “Magnatune”:www.magnatune.com has done a very smart thing here, allowing use of their music for non-commercial podcasts. I use three tracks from Magnatune on my next podcast to be posted this Friday.
Wrapping this up, I should point out that this weblog has always been licensed under the “Creative Commons Attribute License”:creativecommons.org/licenses/… This includes any text, images, or audio I might post, except of course those I include or link to that were not created by me. The license is extremely liberal, allowing pretty much unlimited use as long as I am credited, even for commercial purposes. Enjoy!
When we use Google everyday and mostly work with technology and related topics that are well indexed, it’s easy to forget the truth: the web is horribly incomplete. I’ve been doing some research for an upcoming podcast and it’s very frustrating to encounter huge gaping voids in the internet where history, audio recordings, and photographs should be. Somewhere out there is an audio cassette tape recording that I’d like to hear, but it will probably gather dust in an attic for the next decade instead. It needs to be even easier for anyone to put everything they have online so that it can be preserved and shared. Already I think the current generation raised on instant messaging and the web may not realize that there’s a whole world out there that is outside the reach of our keyboards. At least I know I sometimes forget.
The other part of the problem is linkrot. And not just 404s, but old links to obsolete file formats that can no longer be accessed. I can’t even count how many links to .ram files I’ve clicked that result in an error. When your content requires a special server (RealAudio streaming server software, in this case), it’s only a matter of time before that content itself will die.
Now, the good news is that a simple MP3 file and static HTML file with JPEG images will be around forever. It requires no special server software, no dynamic processing of any kind, and client software is so widespread and open that it’s a guarantee you can access it 10 years later. The only missing piece of the puzzle is reliable non-expiring domain registration and hosting.
The bad news is the rise of centralized web applications and data stores. What happens when YouTube shuts down? Remember they burn through huge amounts of cash for bandwidth each month and seem to have few options for becoming profitable. I feel better about Flickr, because they get it, but “Yahoo! has been known”:www.manton.org/2002/07/y… to not treat data longevity seriously.
WWDC 2006 was great. (Yes, it was two weeks ago. Finally making time to blog again.)
I won’t dwell on the announcements too much, but I generally agree with some that there was nothing earth-shattering. We have only seen a part of what Leopard will become (an improved Finder and some unification of window and control types seem inevitable). The most exciting stuff is new APIs for developers, not flashy end-user features.
I had a great time hanging out, catching up with people and meeting new folks too. Buzz Anderson’s “Monday night party”:weblog.scifihifi.com/2006/07/2… was excellent.
In addition to the new Leopard goodness (hello Core Animation and Interface Builder), I also came back with new excitement for a side project that I have been working on: an email client. I had stopped active development until hearing what Apple had planned for Mail.app in Leopard, but now I can safely say that they are going in a completely different direction than what I want to focus on.
Threads like “this one on Hawk Wings”:www.hawkwings.net/2006/08/2… (via “Steven”:stevenf.com/mt/2006/0…) also confirm that there are a number of users out there who want the same kind of things I want in an email client. Of course it has to be fast and scale, but I think I have a few twists on the old formula as well.
In San Francisco we also stayed an extra day and visited the Oakland museum, drove up to Point Reyes, and saw a great musical Friday night: “Putnam County Spelling Bee”:www.spellingbeethemusical.com/. I recorded a bunch of audio for an upcoming podcast, although not as much as I probably should have. There were a few times in particular I wish I had taken my microphone out.
It’s Sunday before day 1 of WWDC 2006. Willie and I took a walk this afternoon, down Market Street to the bay, following the water around to Pier 39, then up Lombard and meandering through quiet San Francisco back streets until we come through the middle of Chinatown and back to the hotel. Along the way I recorded some pieces of audio, hoping I could use them for a podcast I’m preparing about the city. Willie snapped pictures, almost all of which came out looking really good. I like this one of me trying to get the sound from underneath the cable car track.
I accidentally left the MiniDisc recorder going for a part of our trek, wasting a bunch of disc time. The UI is so bad on these devices that I don’t know how to cut out just part of a track, so I went off searching for a new disc. Over lunch Daniel Steinberg had showed me his M-Audio, which I had considered earlier and now pretty much regret not purchasing. Maybe I’ll eBay the MiniDisc recorder at some point.
Tomorrow morning is the keynote.
“John Siracusa rants a bit”:arstechnica.com/staff/fat… about the lack of access to WWDC for non-attendees. I agree that the session DVDs, sample code, and other resources should be made available to everyone. But there is so much to the conference that can’t be bottled up for later.
I have been extremely lucky to have been able to attend WWDC for each of the last 5 years with “VitalSource”:www.vitalsource.com/, and a few years off and on before that. I think my first WWDC was 1996, which also makes next week my 10th anniversary of attending.
1996 was “Copland”:en.wikipedia.org/wiki/Copl… the middle of the dark years for Apple. It was strange to be a Mac developer back then, to stay optimistic in the face of a barrage of bad press. I think it helped that I was “part of a small team”:www.purity.com that was passionate about this stuff. We couldn’t imagine building Windows software, although we did dabble in BeOS pretty extensively.
So, on to my hopes for this year. First, I have no idea what will be in Leopard. Like many people, I hope for some Finder improvements and an effort to bring the fragmented window and control types back together. I also assume that Leopard will have nice new features, and that those features will have developer APIs to go along with them.
Second, for the last couple of years I’ve believed that a Mac tablet is forthcoming. Tiger introduced two core pieces to this: handwriting recognition and portrait mode. “Patent rumors”:www.macsimumnews.com/index.php… continue to hint at such a device. Judging by how many designers and animators have embraced the Windows-based Tablet PCs (for which the hardware mostly still sucks), I think an Apple-designed tablet could be extremely popular. This is the only piece of hardware I would literally buy on day 1.
Going to WWDC? Say “hi” if you see someone who “looks like this”:www.manton.org/me/293.jp…
Last year I started some extra work to help bring DigiCel FlipBook to the Mac. FlipBook is software for traditional, hand-drawn animators, and it is actually somewhat unique in the industry. Whereas Flash and Toon Boom are vector-based, FlipBook started life as pencil test software for paper-based workflows. It supports scanning with peg hole auto-registration, camera capture, or drawing with a Wacom tablet.
Customers had been asking for a Mac version for a while, but the initial port from Windows to the Mac was not quite ready. It was missing QuickTime support for import, export, and video capture, and the Win32 compatibility layer was somewhat of a roadblock to a polished Mac product.
I entered the project and ended up re-architecting the application to have a more Mac-like appearance. Instead of using the Win32 library, I wrote a lightweight MFC implementation entirely in Cocoa. MFC is Microsoft’s C++ framework, still widely used even with .NET and C# pushed for new applications. This approach allowed the application to be driven almost purely from Win32 and MFC, but it uses NIBs for all windows and controls because the compatibility framework sits at a much higher level. In several places the Windows code peeks through, but it provides enough flexibility that more and more of the application could be upgraded to a modern Mac look and feel while still sharing a common Windows codebase.
The idea is that by working at the MFC level instead of Win32, you can get by with implementing only a very small subset of the full Microsoft frameworks. If the app only uses a few basic control types, for example, you only need to wrap those onto their Cocoa counterparts and can ignore everything else. (Otherwise you end up rewriting all of Win32 just to load and run the unmodified MFC sources.) Even with that simplification, though, the truth is that I seriously underestimated how much work this would be.
The stack for this ends up looking something like this:
It has been an interesting project, both for the technical challenges and because animation is near to my heart. I plan to use the software in my own personal film projects. Here’s a screenshot of the latest version.
In 1997 I walked into Half Priced Books to browse and left with a copy of Eadweard Muybridge and the Photographic Panorama of San Francisco, 1850-1880 for $5. I had been familiar with Muybridge through his series of photographs of humans and animals in motion, which have been a classic reference for animators for nearly a century.
Now, I’m coming back to his San Francisco photos as I prepare a podcast about that city. I am very excited about this one, and hope to have it finished soon after I return from WWDC. The video games podcast was a lot of fun, but it had some problems that I hope to correct this time around.
I’ve tweaked this weblog design again, adding one of Muybridge’s panoramas to the header and experimenting with some different fonts and colors. I’ll switch the image out from time to time.
I just rolled out some design tweaks and “realignment”:alistapart.com/articles/… to this site. The original design (if you could call it that) was whipped together several years ago and hasn’t really changed much since then. It even used HTML tables, a fact I was oddly proud of. The new site uses hack-free CSS, although there is a layout bug for some content sizes.
I also added a podcast feed link to all pages, links to my Flickr, 43 Things, and Del.icio.us accounts, and each individual post archive page also now includes excerpts from other posts in that category. You can see this in action by visiting “this post from 2 years ago”:www.manton.org/2004/07/c… I’ve been clicking through my old archives tonight, and that one stood out because WWDC is fast approaching again.
Here are two before and after thumbnails of the same post. Not too exciting, but it’s nice to make even these small improvements. Next up are some planned design-y things for the header.
Enjoy!
My second podcast episode is about video game music. You can download it here, or subscribe to the new podcast feed in iTunes.
» Download (MP3, 13.4MB)
I started working on this last year but it quickly became too ambitious and stalled. I picked it up again just a couple of days ago, simplified it considerably, and got it done. As usual, I learned a bunch, and look forward to improving a few things for the next one. Enjoy!
And some related links for the topic covered:
Buy at Amazon: Lumines, Electroplankton, Katamari Damacy
All games at Gamespot: Zelda, Tetris, Super Mario World, Super Metroid, Ys Book I & II, Myst, Electroplankton, Ocarina of Time, Lumines, Myth, Katamari Damacy
Remix credits: Super Mario World by Jason Cox, Super Metroid by The Wingless
Game history: TurboGrafx-16, Ys I and II (Classic Gaming) Ys I and II (PC Engine Bible)
Music archives: VGMusic.com, Zophar’s Game Music Archives
More links: Composing with Electroplankton, Video game music emulators, Bungie’s Myth, Myth II demo, Ocarina instrument
Comic-Con San Diego has started. For a humorous look at the kinds of people you might see walking the show floor, check out the excellent series of “recent sketches on the Story Boredom blog”:storyboredom.blogspot.com/2006_07_0… I’ve never been to the convention, but have some friends who go most every year. Some of those people also worked on “A Scanner Darkly”:www.scannerdarklymovie.com/, which opened last weekend in wider release, banking an impressive $5000 per theater with a #9 opening at the box office. I saw the film last weekend and enjoyed it, especially the last half which seemed less burdened by unnecessary Linklater-ish dialog. In general I’m not a big rotoscoping fan, but the style held my attention and was well-executed.
In other animation news, the National Film Board of Canada has “put many of their classic films online”:www.nfb.ca/animation… (via “Peter Merholz”:www.peterme.com/archives/…). Also see “this beautiful little film”:www.skyvu.net/film/tree… by CalArts student “Ian Worrel”:ianworrel.blogspot.com/. Despite what the big studios do, I love that traditional animation is thriving at schools and with independent animators.
I attended RailsConf in Chicago last month. There’s a lot of excitement in the Rails community right now, and it was nice to be there for the first year before it explodes to the even bigger event that the conference will be next year when O’Reilly takes over.
The talks were a mix of great to just okay. Damon Clinkscales provided a solid introduction to migrations, and even though he had previewed the talk for me the night before I still picked up some useful tips. I was finally able to hear first hand what a fantastic speaker Mike Clark is. James Duncan Davidson rounded out the weekend with a high-level vision for deployments. I also enjoyed presentations by Paul Graham, the music and brilliance of Why, the closing Rails core team panel, and of course DHH on REST and embracing CRUD. One of the nice things about open source is that soon after announcing the new ActiveResource framework, David checked in his code so you can immediately see what he has been working on and play along.
As I look back on the schedule, there were many talks I missed completely, so I’m looking forward to catching the audio or video of some of those. Still, you could get a lot out of the conference just by talking to people between or during sessions.
While at the Austin airport, I filled a sketchbook page with random people waiting for the delayed flight. This man on the right was leaning against an abandoned ticket counter.
At the beginning of last year “I wrote about my new Game Boy Advance”:www.manton.org/2005/01/n… and how it was finally the system that pulled me back into gaming, something that consoles and computer games could not do. A year later, the PSP is out, the DS is selling well (I own one), and the Xbox 360 is off to a solid start. So what happened with the questions I raised, in particular in regards to 2d games and Game Boy Advance games?
Sadly, earlier this year Nintendo hinted that there may never be a successor to the Game Boy Advance. Their “three pillar” strategy sounded good last year, but the DS turned out much better than anyone had hoped. With the DS Lite fixing all the major design problems with the original DS, it now seems more likely that Nintendo will focus on the Wii and let great DS games drive the handheld market until a next-gen DS becomes needed.
2d games, on the other hand, have seen something of a resurgence. Sonic Rush for the DS has the same feel as the Genesis games. New Super Mario Bros is also fantastic. The PSP has a beautiful if quirky 2d game coming soon in the form of “RocoLoco”:locoroco.com/index.htm… Even the Xbox 360 has its share of 2d games on Xbox Live, and at E3 Nintendo announced a “2d GameCube game set in the Paper Mario universe”:www.n-sider.com/articlevi… Nintendo’s Wi-Fi Connection has breathed new life into that original Game Boy game, Tetris; 4-player internet play with “items” is a completely new Tetris and more fun than I would have imagined.
Peterb’s essay “Design of Everyday Games”:www.tleaves.com/weblog/ar… has some great insight into game design complexity, using Advance Wars and other 2d games in several examples.
From the October 2005 Nintendo Power, Castlevania producer Koji Igarashi says:
bq. “2-D gaming can provide such a great game design–games with definite and solid gameplay. From a presentation standpoint, it may lack what 3-D can do, but let me yell once again, what games need are fun and exciting elements! 2-D games offer these things.”
No question, 2d is here to stay, and it’s only getting better. The Game Boy Advance had a good run, but now it’s time to say goodbye. See Modojo’s “The GBA’s Last Stand”:www.modojo.com/features/…
I don’t blog much about “VitalSource”:www.vitalsource.com in this space, but I should. When I joined the company, it was to return to designing and building Mac software, with the potential for working on something meaningful (education tools) as a refreshing bonus.
Over 5 years later, we have built up a great team and a mature set of products. Yesterday VitalSource announced it is being “acquired by Ingram Digital Ventures”:www.vitalsource.comindex/news-app/story.35, which should be a good complement to the work we are doing. Ingram is the largest book wholesaler in the country, but I don’t think that fact really hit me until three days ago.
We were downtown with some time to kill before a performance. We stopped at the Farmers Market for some fresh peaches, flowers, and breakfast tacos. When we detoured to see if the library was open, I noticed these boxes outside and snapped a mobile phone picture.
I saw the Al Gore documentary “An Inconvenient Truth”:www.climatecrisis.net last month. It’s a very important movie, and I hope everyone has a chance to see it.
They handed out copies of Seed Magazine at SXSW this year. There were a few articles on global warming, including “this depressing quote from James Lovelock”:www.seedmagazine.com/news/2006… the environmental scientist responsible for the Gaia hypothesis:
bq. “The prospects for the coming century are pretty grim: If these predictions are correct, it means that all of the efforts that have been made, like the Kyoto and Montreal agreements, are almost certainly a waste of time. They should have been done 50 or 100 years ago. It’s too late now to turn back the clock, so to speak.”
What are we supposed to do with that? If we are scared and powerless, nothing will change.
The Bush administration agenda too is based on fear. Fear led us to IRAQ, to no-warrant wiretapping. Instead, with An Inconvenient Truth you leave the movie theater inspired, with a new sense of urgency. This is beautifully woven together – personal highlights from Gore’s life with his talk with facts with videos.
And as a Mac user, it’s nice to see “Keynote played such an important part”:www.apple.com/hotnews/a… in the production of his talks (via “James Duncan Davidson”:www.duncandavidson.com).
Also, this on YouTube: “A Terrifying Message from Al Gore”:youtube.com/watch (Futurama!)
I write Mac software, but over the last year I’ve increasingly been building Ruby on Rails web apps as well. Today I finally took a look at “RubyCocoa”:www.rubycocoa.com/. I wanted to whip up a quick Cocoa app that would involve some text parsing, and a dynamic scripting language like Ruby is a much better fit for text processing than C, C++, or Objective-C.
It turns out RubyCocoa works amazingly well. I have only scratched the surface with a small test app, but I was blown away by its ease-of-use, Xcode integration, example projects, and apparent maturity. You have full access to AppKit from Ruby-based controllers and views, and a single NIB file can even reference both Objective-C and Ruby classes. Fantastic stuff.
I don’t know if it’s ready for commercial software use yet. For distribution, I tested including the RubyCocoa.framework inside the application package and the app launches and runs correctly on a system without the full RubyCocoa install. There may be issues with requiring a recent version of Ruby, but otherwise it’s a fully native app.
My only disappointment was in the Objective-C calling conventions. There are two versions to choose from: a style using underscores to separate named values, and a slightly easier Ruby syntax using symbols and extra parameters. Here they are:
Objective-C:
[my_window setFrame:r display:YES animate:YES]
Ruby Underscores:
my_window.setFrame_display_animate(r, true, true)
Ruby Symbols:
my_window.setFrame(r, :display, true, :animate, true)
In my opinion, a better approach would be to take advantage of Ruby’s trick of allowing the last parameter to be a hash supplied without the curly braces. This feels more readable to me and more closely matches the Objective-C equivalent.
Better:
my_window.setFrame(r, :display => true, :animate => true)
In any case, that’s a minor complaint and doesn’t take much away from the beauty of writing native Mac apps in Ruby.
My friend “John Rubio”:www.johnrubio.com has launched a new site: “CREATEaPro”:www.createapro.com/. A steady flow of good essays is already filling up the site. His latest, “10 Essential Tips to Becoming a Successful Creative Pro”:www.createapro.com/2006/07/1… is equally applicable to a wide range of disciplines, not just designers, illustrators, animators, or other artists the site is aimed at.
I like this paragraph from his introductory post:
It underscores what seems to be the main theme of the site: get working and stay confident.
Sometimes I worry that I wasted too much time with trivial stuff, pushing away time for what is really important. But then I’ll encounter an artist or visionary who got a late start and still made the best of it. It’s never too late.
Unless you listen to “John Kricfalusi”:johnkstuff.blogspot.com/2006/05/a… “After 24 if you haven’t already become really good, you will stagnate and your powers of learning and your rebellious youthful attitude will have died.”
“Gillian Carson talks about vacation time”:www.barenakedapp.com/misc/vaca… on the Amigo blog:
I agree. Late last night I was working on a problem, something I had been struggling with in my spare time for a couple of weeks. I went back and forth between staring at an empty text editor and reading NetNewsWire. In other words, wasting time. I went out after midnight to get some milk and food for breakfast, and on the drive to the store I let my mind wander until my brain randomly struck upon an elegant solution to my coding problem. Back at my desk I implemented it in 10 lines of code and went to bed.
Have a happy July 4th everyone.
Last month I tore down the rotting privacy fence in our backyard and built a new low spaced-picket fence. In addition to just being ugly to look at and nearly collapsed in a few places, the old fence was tall and prevented us from enjoying the space behind our house: essentially a private park owned by a local church but also accessible to the neighborhood.
It took me a week of part-time work and numerous Home Depot trips to build the new fence, which is about 60 feet across. I was able to salvage the strongest of the existing posts, cutting them off to match the new fence height. The ones that were rotten I removed and replaced by laying several new posts in concrete. I measured and cut each post so that the top of the fence line was level even though the ground slopped up slightly on one side of the yard.
I’m very happy with the way it turned out. It opened the yard up even more than I was hoping for, and the better gate makes it easy to take a walk in the back. Another side effect I had not expected was encountering new people who routinely take their dogs for walks. Having a shorter fence is similar to parking your car in the driveway instead of your garage: you’ll see your neighbors more if you do.
Anyway, a very rewarding experience. After so much crafting code and pushing pixels, it’s nice to build something real and see the results. The “image on Flickr”:www.flickr.com/photos/ma… is one I took a few evenings ago and shows about half the full fence length.
I had a busy week coding. Long days and longer nights. Deadlines are fast approaching. The last few weeks of a project are always the most stressful, but also the most rewarding as all the pieces start to fall into place. The user interface tightens up and the bugs are found and worked out.
I shut my computer off last night and didn’t look at it again. Spent a great morning out shopping and at lunch. It’s a lazy Saturday afternoon – a holiday weekend, even – but I have a bit more code to knock out. The new Dixie Chicks CD is playing, iChat is safely in the “off” position, and for another hour or so, everything in the world is just fine.
I was wired when I got back at midnight last Thursday from the late Mission Impossible 3 show with “Damon”:www.damonclinkscales.com/. A storm had passed over while we were in the theater. Tree branches were down in the neighborhood, and rain continued.
I sat at the dining room table with a sheet of typing paper and a fat red kids crayon and did some characters. It’s hard to draw small with something so big. These were at least twice the diameter of your standard crayon. I shrunk the result slightly and included a few below because I liked some of the line, despite the otherwise clunkiness.
When I first heard about the “United 93 movie”:www.united93movie.com I had just about the “same reaction as Matthew Haughey”:a.wholelottanothing.org/2006/04/b… Hollywood only wants to make some quick cash off of other people’s tragedy. The movie is going to be painful to watch, it won’t be accurate anyway, and it will be full of sappy, exaggerated nonsense meant to pull at our emotions and our wallets.
I probably said about as much to my television. I only watch a couple hours of TV a week, and a significant portion of that is yelling at advertisements or the local news crew.
But then a few things changed:
I love reading about the setup for other Mac users: what kind of desks, computers, and software they use. The full list of applications usually overlaps quite a bit with my own Dock, but every once in a while there is some new app that I am not using, but should be. And there are always the two killer apps that provide the most insight into how a user works: email and text.
Are they a long-time Mac user who can’t live without BBEdit? Do they use Mail.app but secretly wish that it was better?
“Dan starts off his post”:hivelogic.com/articles/… with TextMate, which has quickly taken over the Mac Rails community. Despite a rocky 1.0, I gave TextMate a second try with 1.5 and have enjoyed using it. There is some very powerful stuff in it, some of which never clicked for me until I watched “this screencast of snippets in action”:macromates.com/screencas…
But I can’t use TextMate for everything. There are three text editors always running on my machine, and I don’t see that changing anytime soon:
Unfortunately I could only keep this setup for one night before I had to abandon it. Without breakpoint support or any integration with the debugger (impossible), it breaks the workflow cycle of testing and fixing bugs quickly.
I snapped this photo of a banner last week. It sums up quite nicely one of the big problems in American public education.
Easter is a time of rebirth and starting over. So today I’m flipping over two new things.
The first, to fulfill a new year’s resolution that died before February. I rearranged my office and drawing desk yesterday to make everything more accessible, and I was doodling last night when this silly little bunny sketch came out. I have a few more drawings and pieces of animation in various states of completion that I’d like to post too, but I’m not going to let the backlog of “finishing” anything stop me from posting now on a weekly basis. Really.
Secondly, I made a long-overdue server change this weekend. About a year ago I gave up self-hosting on an old Linux box and moved this site and email to TextDrive. I had high hopes. It was run by smart people with good ideas, and it was officially endorsed by the Ruby on Rails project.
Unfortunately the server I was hosted on (Bidwell) was down much too frequently. I couldn’t help comparing it to the near-flawless uptime I had running my own box on a static DSL address. Lots of little problems and broken promises added to the overall frustration. And running underneath the whole mess was an undercurrent of unprofessionalism. I gave them a year to sort it out and it never got better.
Which is too bad, because there was a lot of potential there. I still wish them good luck, and especially to the Joyent team as well.
Today my site is live on DreamHost. I’ve had mostly good experiences using DreamHost to manage the STAPLE! web site in the last two years. Here’s hoping I won’t have to switch again anytime soon.
(Want to try DreamHost? Use coupon code MANTON40 to get $40 off.)
Today marks the 4-year anniversary of this weblog. What better way to celebrate than with a discussion of web applications.
Willie Abrams said in a recent Campfire chat: “Web applications automatically have sync.” He hits on the fundamental principle of web applications popularity, and of course that has always been true. But the difference now is that some web apps are actually fast and usable too. (Gasp!)
The rise of rich web applications that seamlessly mix Flash or Ajax while still staying true to the roots of web architecture (REST design, open standards) has upset the traditional desktop market. I first wrote about this in “To-do lists and embracing the network”, which was in a sense a subtle wake-up call to Mac developers: adapt to the always-on internet or any college drop-out with a shared server will obsolete your app after a few late nights of Rails hacking.
But it frustrates me to see such praise given to web applications that, were they traditional, native apps, they’d be laughed away to obscurity or ignored. Ajax is a huge advancement, but that doesn’t mean that every application works well for the web. I’m sure Google engineers spent an incredible amount of work on Google Pages, but compare it to Apple’s iWeb and it becomes obvious how weak web application interfaces still are.
Luckily some people are working through the really tough problems. Ray Ozzie’s Live Clipboard may be the start of a whole new shift in web app functionality, allowing data to move between web sites and even out of the browser. But true drag-and-drop of structured data between a native app and a web site is still a long way off.
Let’s make some lists, starting with the good.
On the other side are web applications that might be built by a team of smart people and with a great technology backend, but the application concepts are confused. They don’t know if they belong in a web browser or on the desktop.
Something else is changing in the HTML/CSS/JavaScript platform. In 2004, Joel Spolsky wrote about how instead of picking Mac, Windows, or Linux APIs, developers are building for the web platform and can deploy to any user’s desktop. Cutting-edge web applications push that claim to its breaking point, as differences between Safari, Mozilla, and Internet Explorer often cause headaches for developers. It’s no surprise when Microsoft’s set of Office Live applications require Internet Explorer, but it is note-worthy when Google’s chat interface does not work in Safari. There is now a whole set of web applications that require the latest version of Mozilla and won’t work in anything less.
Five years ago we accepted that web applications were going to be useful but ultimately unfulfilling, joyless experiences. Now most web apps have risen from bad to simply mediocre. The truly great ones have a foundation and design that would still be unrivaled in a desktop app. These amazing apps are not content to reimplement an old application as a web app just to allow use from any machine, but they take it to the next step: rethink the problem, stay agile, and redesign so that it’s not just web-based, but it’s actually better.
It’s not often that I get out of the house early on a Saturday, but STAPLE! The Independent Media Expo is today. If you are anywhere in the central Texas area, check out the web site for the schedule and location info. This week’s Austin Chronicle also ran a story on the show. Last night’s pre-party at Austin Books was great, but it’s still difficult to tell how many people will show up today. It’s one day only, so if you love comics or just want to support independent artists, please stop by.
About 20 people met at the Frog Design building downtown a few months ago for the first Austin Ruby on Rails user group meeting, and by the third meeting that number had doubled. Founders Damon, Robert Rasmussen, and Rob Jones have done a great job getting the group off the ground and lining up interesting topics.
Last night was our fourth meeting. Bruce Tate gave a talk on his experience ramping up a Rails team and comparisons to the Java world. As a new experiment on the agenda, afterwards some of us stuck around to hack together a member directory for the web site. I didn’t actively participate in the coding efforts, but I had a good time meeting new people. As usual, it was all followed by drinks at Hickory Street Bar & Grill, where topics of discussion ranged from refactoring to Perl to C++ windowing toolkits to AppleGuide. You know there’s some real substance to Rails when it brings together such a diverse group.
Also just announced: the Rails Happy Hour at SXSW. Should be fun.
Everyone complains about software bloat. And it’s easy to see why — applications are bigger and slower than they’ve ever been, and users think the dozen features they will never use are to blame.
On the Mac we are lucky to have a large number of great, small, focused tools that solve a few problems well. The best of these become successful, but what then? You have to keep adding features. How do you control the software so that it becomes even more useful without feeling too packed?
One way is to differenciate between visible and hidden bloat. For example, Microsoft products used to have a tendency to take every major bullet point on the side of the box and make a toolbar icon for it. Even if the user only uses 5% of those features, they have easy access to far too many of them, and they needlessly have access to them all at once.
Instead, adding features in context allows the application to grow without feeling too busy, and without distracting the user from the core set of features they are familiar with. The new user interface is discovered by using a new feature, and otherwise remains out of sight.
This point was really emphasized for me while using Keynote 3 the other day. I love the contextual floating slider when editing a shape (see image). They could have put this slider in the inspector window, but it is so infrequently used it would have remained disabled most of the time, and cluttered those panes with little benefit.
I’ve been living in Campfire quite a bit over the last few days. It’s a great app, well designed and very fast. But it suffers from a problem that iChat and other AIM clients do not have: it’s easy to forget about a chat room while working on something else because there’s no audio or visual notification that you missed a message.
I whipped up a tiny AppleScript that monitors the chat and beeps if there have been any changes. It’s simple but it works fine for me, and should make do until someone writes a full WebKit-based Campfire client app with more options, or until 37signals releases a supported public web services API.
Requirements and how it works:
Download: Campfire_Beep.dmg (90K)
Just open the application in Script Editor to edit it. Or view the full source.
Comments? Email manton@manton.org. Enjoy!
Update: I updated the script so that it doesn’t display errors, more correctly identifies URLs, and supports multiple open Campfire chat windows.
This just in: 37signals added sound notification to Campfire today! So this little AppleScript is officially obsolete. I’d like to take credit for convincing them that such a feature was needed, but we all know how they love to build features that won’t roll-out until the 2nd week after launch. :-)
It was made official today. The rumor only surfaced a week ago, but in that time many people have gone from surprise and skepticism to hope that maybe it could be great for both companies. For Pixar, it might mean more creative control over their characters and sequels, plus not having to worry about distribution or settling for a partner without the reach into merchandising and vacation spots that Disney has. Interestingly, John Lasseter will also advise on new theme park attractions.
In the old days under Walt, it was common for artists to move between short films, features, and Disneyland design. Walt had a knack for seeing the best skills in people and using them wherever they could be most effective. He also had an instinct for story, a relentless pursuit of quality, and of what people would want to see, or how to sell it. Steve Jobs shares more than a few of these qualities, even if his management style at Pixar has been to delegate more than micromanage. Could Jobs pull another NeXT and infuse Disney with Pixar management and culture, or will he be content to sit on the board and coordinate deals with Apple for video content? Who knows.
For Disney, the benefits of the deal are pretty obvious, since all of the Pixar films have been huge money-makers. What’s less clear is what will happen to all the films currently in production at Disney. We have to assume they will continue mostly unchanged. Disney had a rough and controversial transition to 3d, with many layoffs and studio closures, but they did make the transition and this deal will probably upset that just a little.
There is also still that dream that with a leader (Lasseter) who appreciates traditional 2d animation, Disney might even buy back some of those old animation desks and give 2d another try. Although some of the great directors of the 2nd golden age at Disney have left (such as Ron Clements and John Musker of The Little Mermaid and Aladdin), Disney still has many 2d-trained directors, and now so does Pixar (Brad Bird), with enough 2d fans throughout both companies to form another studio branch entirely.
I read a bunch of weblogs by artists at Disney and Pixar now, so hopefully their views will start to trickle in too. Good luck to everyone at both studios.
One of the first things you notice when you have kids is how bad the toys are. Everything is electronic, makes too much noise, and is quickly discarded when the batteries run out or when everything you could possibly do with the toy is exhausted. The great toys are the ones that allow an infinite number of possibilities. Each game experience is different, whether it’s building something new with blocks, or play-acting a different story with dolls.
How do you tell the difference between a great toy and a bad one? If the toy is made to do a few specific amazing things, with a bunch of bullet points and exclamation marks on the side of the box, be weary of it. For example, modern LEGOs come in all sorts of pre-molded shapes. If you buy the pirate set, it will be great fun for the first few days until you realize that it can only be a pirate ship. But if you buy a bucket of LEGOs (yes, they still sell these), you can build a pirate ship one day and a barn the next. Even better, toys should interoperate with one another, something that feels forced if the types of toys are so specifically designed that they don’t fit well together.
This is especially true for younger children. Visiting the Waldorf School last year they used the example of a silk scarf. It can be a cloak, hat, river, cloud, hair, bed, rope, or the wind. A scarf seems so limited, but it’s the extreme simplicity that gives it life through a child’s creativity.
Keith Lango discusses limitations in animating a scene: “The next time you have a scene and you’re told all the limitations that come with it find the thrill of making it work great anyhow. […] Let the limitations be your friend.”
No one knew whether the original Star Wars (episode 4) would be a success or not. George Lucas used what cheats he could to make the special effects work, forcing himself to be creative within the confines of the budget and limitations of technology at the time. Instead the focus was on the characters and on the story. Twenty years later, with the huge budget of the prequel films, one could argue that he was so distracted with what he could do that the important lessons of what made the first film a success were forgotten.
37signals talks about constraints and doing more with less. I agree with that, but there’s something else. Some of the greatest software out there is designed in such a way that it can be used for purposes that the designers and programmers did not intend. The software introduces simple concepts that can be stacked and rearranged not unlike those LEGOs. There may be an implied workflow but it is not enforced. Instead maybe the interface flows around documents, which can be named anything and stored in any structure. Or maybe there is an editer that was written for one general purpose but which is simple enough that it also allows editing of other formats.
Microsoft has been pushing for what they call an inductive user experience. It is task-based, context-specific interfaces that attempt to remove the bloated menu and toolbar clutter that the Office apps are known for. The latest phase of this is the Office 12 user interface, which introduces ribbon controls. Microsoft has been going down this path for years though, trying to expose features to the user that would otherwise be lost and buried. They are learning from what works about the discoverability of web applications.
But you want to be careful to not force a certain workflow on the user in these cases, because by doing so the abstract usefulness of the software could be crippled. You don’t want to go too modal or too restrictive. That’s one of the reasons wizard-like interfaces were annoying. It’s not just the idiot-proofing that bugs people, it’s that there may be some truly useful features hidden behind those “easy to use” screens, waiting for a UI to come along and let users use the features on their own terms.
On the other hand, GarageBand is a good example of a focused app (create or record music) that also had broader uses (edit and mix any audio file), which allowed Apple to go one step further and embrace what the rest of us without guitars and keyboards were using it for (podcasts). Basecamp is another flexible app that works because 37signals made the conscious decision to make communication the center of project management, above timelines and charts. Flickr, Odeo, 43 Things, and other so-called Web 2.0 apps will be successful not because of a string of buzzwords, but because they take a very simple concept (“upload photos”, “write goals”), mix in some communication and sharing, and build it in a way that encourages many different uses.
Most software is just like poorly designed children’s toys. It might solve one problem well for a time, but it is eventually discarded when it fails to evolve with the user’s needs. Simple software that solves broad problems can be used for a variety of tasks, and is small enough that it can continue to be improved or integrated well with other applications.
For me, one of the best sources of motivation is when I know other people are paying attention. So, my new year’s resolution is going to be to draw more and post at least one drawing a week to this weblog, either standalone or to illustrate a post.
Happy new year!
There is something about Ta-da List that works really well. Simple things like hitting return to save one to-do item and start a new one, tidying up of completed lists, and automatic ordering of recent lists. And above all else, speed. It is without question the fastest web app I use. Because the application is so focused, even full page reloads are faster in Ta-da than AJAX requests in some other web apps.
These are seemingly simple things, but they add up to an app that rivals any native (Mac or Windows) to-do list software. It makes me wonder how great a native app could be if someone put the same thought into user interface and simple workflow that Ta-da has. The advantage so-called Web 2.0 apps have over native apps is that they are inherently client/server based, but a native application could embrace the network in the same way and (maybe) provide a superior user experience. I’ve yet to see any apps that do this effectively, but it will have to happen if the desktop hopes to stay relevant for anything except tasks that benefit from large local storage (e.g. Photoshop and Final Cut Pro).
I use Ta-da List for everything now. Here’s a sample of recent lists:
Tonight ABC aired the original Charlie Brown Christmas special yet again. That thing never gets old. The animation is limited and the characters always off model from one scene to the next, but it has great voices and characters and heart.
This seems a perfect opportunity to link to Bring Me the Head of Charlie Brown, a hilarious CalArts student film that I first saw linked from Jim Hull’s excellent blog, Steward Street. Every person who has hosted the movie has been shutdown by their web host due to bandwidth usage. Luckily it’s now up on ifilm.com. The short is made even more amusing if you contrast it with the animation style of the original Charlie Brown specials: the CalArts film has much fuller animation and better lip-sync. Even so, I wouldn’t want anything about Charlie Brown Christmas changed.
Okay, I admit it. I’ve been watching The Apprentice this year. I hate being addicted to it. It’s not even entertaining for me because it’s so stressful just to watch. I’m probably more nervous sitting on my couch then they are in the boardroom.
(Spoiler warning for those of you who do not watch live television.)
Traci predicted he would hire both of them, and I was leaning toward a Rebecca pick, but either choice would be fine. Then Trump totally sets it up to hire both of them with the two potential jobs, until Randal slaps Rebecca in the face with the “There can only be one Apprentice” line. Unbelievable. I’m still obsessing over how wrong that was.
Hopefully writing this blog post will allow me to move on and think about something else.
We’ve heard it countless times: Before you spend any time optimizing, profile your code. And yet we always think we know where the performance problems are without testing.
Earlier this year I started some extra work to help a company port their Windows software to the Mac. It turned into a large project, and when the app ships I will write more about it here. But for now let’s just say that it involves a lot of Windows bitmaps.
Performance had been a problem almost from the start. It is a very drawing-intensive application, and I spent time optimizing the path to Quartz. Eventually everything goes through a CGImage, but there is some overhead getting there. I knew more could be done.
Eventually I bothered to run Shark on it. Within 30 seconds it revealed that almost 50% of the application time was being spent inside CGContextSelectFont, which was called very frequently for the very basic text drawing that was needed. I had not even suspected that code. I rewrote it to use ATSUI and all the performance problems immediately melted away. And it wasn’t even optimized ATSUI — just brain-dead create a text layout, font size, and draw.
It was not obvious to me that CGContextSelectFont would be so slow, so I’m posting this one for Google to pick up. Happy coding!
Damon and I have been discussing how time constraints can encourage creativity. I hinted at this in my first NaNoWriMo post, and it’s something I’ve been trying on other projects at work. Of course the concept is all through what 37signals is doing.
A few weeks ago there was a web application I wanted to write. I estimated it would take a couple of weeks to knock in the basic functionality. A small project, but big enough that it would have to be juggled with other priorities. And the requirements would need to be discussed with other members of the team, which might mean a quick death at the hands of committee-led design.
Encouraged by Willie over that weekend, we said let’s just do it and see what happens. Monday morning I asked myself: could I implement most of the application… before lunch? Because if I couldn’t, the project would still probably be sitting at zero lines of code. Luckily the app was a simple discussion system, and Rails was a particularly good fit for it.
In the latest The Writing Show podcast, J Wynia talks about why NaNoWriMo works. He said the biggest problem writers are faced with is the blank page. NaNoWriMo forces you to start writing immediately, because otherwise you won’t have a chance of finishing 50,000 words in a month. And something magic happens when you’ve written the first sentence: before you know it stories and characters are flowing and you’ve got a half dozen pages or more. If you waited until the first page of the novel had been fully thought out in your mind, you’d still be looking at a blank page.
Kathy Sierra wrote about creativity on speed, but I take issue with part of her post. I see speed in development work (C++, Ruby, whatever) as a good thing when it forces you to do something you would not otherwise be able to do because the task was too daunting. But speed in art is something else entirely. The latter is the whole subject of Betty Edwards’ classic book Drawing on the Right Side of the Brain. The idea is that by working quickly (gesture drawing, for example), you draw on instinct and what you are seeing, and less on what you think you know about how something looks.
I was first introduced to this concept in animation through the books of Shamus Culhane. It resonated with me immediately not just because I knew it was true — it matched my own experience with life drawing — but because he first discovered this while working on an old 1930s Mickey and Pluto short (Hawaiian Holiday) that I remember fondly as a kid (I still have the VHS copy). In some ways the high-speed drawing technique works even better in animation because you are already talking about time. The faster you work the closer the process itself resembles the final product on screen.
While building software is definitely an art — especially the process of crafting the user interface, or just bootstrapping an idea from nothing through brainstorming — I don’t think programming benefits from speed in the same way that art does. With software development the main benefit you get from working fast is breaking through roadblocks, simplifying, and getting things done. The creativity is a result of forcing yourself to think of things in a new way.
So a couple of months ago a 1-year-old who shall remain nameless tossed my cell phone into the toilet. I thought surely I would have to buy a new phone, but after taking it all apart, cleaning it, and letting it dry in the sun — good as new. (Except for the screen. Wow, that thing has seen better days.)
Then, a few weeks later, the phone disappeared altogether. Again, I’d probably have to drop some $$$ and buy a new one. But you know what? I stopped looking for it. I could borrow Traci’s if I really needed one, I haven’t been traveling recently, and there is something strangely liberating about going to the store or whatnot and being impossible to contact. (Except for pigeons. They will always work in a pinch.)
The phone turned up yesterday. I’m not sure how I feel about that yet.
Ryan described his hardware setup for podcasting a while back. With at least a few dozen podcasts under his belt, he’s got his system down.
I wanted to write a little about the process I used to create the Trains podcast. Not because I think it will be particularly helpful to newcomers, but just because I think it’s interesting. (Actually, I’m just now getting around to posting this. Months have past since I wrote it, and now Ryan spends his time writing about why none of this matters, and he’s right: tools should be accessible to non-technical beginners.)
I started by borrowing a good mic from a friend. Eventually he will want it back, but luckily for me he’s a great musician and has a bunch of microphones that he uses regularly. It’s from audio-technica.
I had a few choices for recording audio. I own a Griffin iMic, but decided not to record directly into the computer this time, so it went unused. Some of the recordings I planned to do would be away from a computer, so I needed something mobile.
A great choice for this might have been a Rio, or a MiniDisc. I was a MiniDisc fan back during the first-generation of the devices, but sold it years ago. And I’m a happy iPod owner, so buying yet another MP3 player didn’t make sense. My concern is that the moment I do that, Apple will release a software update to uncripple the voice recording in the iPod.
For the train conductor recording near the beginning of the podcast, I used a Griffin iTalk connected to an iPod. This is all the electronics I took with me on the train to Chicago. I ended up recording a lot with it, without an external mic at all, but not much of the audio was really usable.
The opening train sounds I recorded just a short distance from my house. I biked down to the crossing with my nice microphone and recorded directly into a digital video camera, on to MiniDV tape. This turned out to work so well that I recorded all my voice this way.
Since it was DV, I used iMovie to import clips of all the voice work. I could have exported to AIFF from there (and did try to), but because I was sampling lots of other material, I decided to be consistent and use Audio Hijack to grab the audio directly as it played from iMovie. I also used Audio Hijack to rip from a RealAudio source, iTunes music, and from DVD Player.
Once I had all the AIFF files, I simply dragged them onto the timeline in GarageBand to create new tracks. I had planned to use Audacity, but it turns out GarageBand does everything I needed. I was raised on SoundEdit Pro, and the clunkiness of Audacity by comparison is hard to deal with. Controlling the fade in and out of audio for different clips was super easy in Garage Band.
And then I exported to iTunes, converted to MP3, and posted to the site. Power to the people!
The U2 concert in Houston a few weeks ago was great. I drove back late at night, with The Killers album on repeat to keep me awake. In the era of single-click pop song purchases on iTunes, it’s not often that I buy a full album. Then again, it’s not often that a band releases an album that has 10 good songs on it.
The other day I found an old Converse shoe box taped closed, hidden behind some old VHS tapes. Opening it revealed a bunch of CDs I hadn’t listened to in many, many (many) years. Arrested Development, Pearl Jam, Gals Panic, Rollins Band, The Nixons, Temple of the Dog, Van Halen, Primus, New Order. It’s fun to think back on what I was doing, how a given song might have effected my mood or my life so long ago. It’s a lot like video game music: usually catchy, and maybe more importantly, listened to over and over again. I’m still trying to get a podcast out about that, hopefully before the end of the year.
As I posted about a few weeks ago, I decided to write a novel this month (National Novel Writing Month, or NaNoWriMo). I posted some of my progress on 43 Things, and I’m going to repost those entries here.
Actually using 43 Things more fully, I am even more impressed. They have done an amazing job of allowing communities to form around goals. The site looks simple on the surface but there is depth to it. There is something about random encouragement from total strangers that works.
Another useful resource was the NaNoWriMo forums. I never posted there but people were always quick to help others and offer advice. They also organized many local gatherings at coffee shops or bookstores, so I went one night and met a couple other Austin writers. NaNoWriMo works not just because of the intense deadline, but because of the shared goal as thousands of people are doing the same thing. That’s why 43 Things was such a good fit.
Here are the entries.
12,002 words (Nov 9th):
25,043 words (Nov 20th):
I’m still determined to finish, but it’s going to take some serious writing over the Thanksgiving weekend.
34,797 words (Nov 28th):
I will finish but it is going to take a lot: 5000 words a day for the next three days. Until now my top daily word count has been about 3000, and the average somewhat less than that.
Congratulations to everyone else who passed 50,000 over the weekend!
44,054 words (Nov 29th):
50,136 words (Nov 30th):
I spontaneously started this endeavor a few days into the month and I’m still a little amazed that I stuck with it. It’s a great feeling though, especially as I was nearing the end and the plot was wrapping up. Sure, the story has some problems, and it could have benefited from some research. But actually I’m quite happy with the overall flow of the story and some of the characters. There are some good scenes in there that I’m proud of.
So I finished rereading Harry Potter and The Goblet of Fire in anticipation of the 4th film, which we just saw last night. (Thanks Damon for remembering to buy tickets a month early.) The film did a great job of capturing the important points of the book, while pushing the plot along at a very quick pace. The first half dozen chapters seemed to slip by in only five minutes of screen time. I was wondering how they were going to squeeze 800 pages into two and a half hours, but they did it.
Overhead while Traci was reading the book: “It’s weird… Hermione seems so much more like a Hufflepuff.”
It’s all about the games. I picked up Mario Kart DS yesterday and it doesn’t disappoint. The Nintendo WiFi network was a little flaky last night, but things are running smoothly today. And it’s been fun to watch friend codes start showing up in my news reader, from blog sites that would otherwise restrict their postings to non-game topics.
Here’s mine: 180448 143525. If you add it, ping me yours via email or AIM.
A few weeks ago I heard about NaNoWriMo, a month-long “contest” to write a novel. You start November 1st, end at midnight November 30th, and if you’ve amassed 50,000 words, you win. Of course there are a lot of winners, and no prizes, but it’s a great idea and I think really helps push people in ways they didn’t think possible.
I wasn’t planning on entering, even though I’ve tinkered with trying to write a novel before now. It’s hard work, and it’s easy to get stuck up on plot problems or run out of ideas and abandon the whole thing. That’s the last thing I have time for. I brought up NaNoWriMo in discussion a few days ago and I talked about it as something that other people were doing, not something I was crazy enough to try.
But three days into the month, I added it to my 43things and started writing. I’m way behind the recommended quota already, but I’ve just crossed the 10,000 word mark so I wanted to mark the milestone.
Most of the novels, especially mine, won’t be very good. They have plot problems, weak characters, and half of them are made up as they go along. I’m 8 chapters into it and only have a vague idea of what will happen from one chapter to the next. I did absolutely no planning upfront.
But that’s fine. It’s like a marathon. It doesn’t matter if you look good when you cross the finish line.
It’s about setting unreasonable deadlines. They force you to stop procrastinating and work your heart out to finish something.
Steve Jobs in yesterday’s special event, discussing the white iPods:
The new iPods look great. At first I was disappointed by the $1.99 price for music videos and TV shows, but when you do the math it is only a little more than buying DVDs. And what about the small quality, only 320x240? In the name of science I dropped $2 to test it.
Last week, thanks to eBay, I became the proud owner of 2 tickets to see U2 in Houston at the end of the month. I’ve seen every U2 tour since ZooTV over a decade ago, so I wasn’t about to let little things like “too busy” and “money” stand in the way this time. Our seats are fairly horrible, but the price was right and all that matters is that we are there.
So buying a U2 music video was a natural choice. The download time was reasonable. I clicked it to full-screen on my Cinema Display and sat down 6 feet away. It actually looked good. 30 frames per second doesn’t hurt either. I could definitely watch TV shows this way.
Another interesting tidbit from the Apple event. Disney’s new CEO Bob Iger was introduced quite warmly by Steve Jobs, and Iger even joked that he still hoped an agreement could be reached between Disney and Pixar for continuing distribution of their films. Sounds like that could happen after all.
What a great film. To prepare I dusted off my old Laserdisc with the three original Wallace and Gromit short films, but the feature equals and surpasses those films in every way. Thoroughly enjoyable.
Aardman Animations fans should also seek out Creating 3d Animation, a combination behind-the-scenes and how-to book out a few years ago with great stuff on model construction and movement. In the age of computer animation it takes some passion to break the mold and work hand-drawn, but even more rare is the artist who wants to follow in Nick Park’s footsteps. It’s great to see the art-form of stop-motion come alive again to hopefully inspire a new set of filmmakers.
Speaking of old school, just today I saw that Hans Bacher has a weblog. I’ll never forget seeing his art from the Mulan book years ago. The man is a master at composition and effortless landscapes.
And like a lot of animators new to blogging, he uses Blogger. If you look at my NetNewsWire subscriptions (right), you’ll see an interesting trend of Blogger and LiveJournal icons. I’m not sure what that means, if anything.
Finally I had a chance to see Corpse Bride last night. Caught it at the Alamo Drafthouse, which is the only theater smart enough to show short films and other theme-appropriate clips before shows. Last night they played Vincent (Tim Burton’s stop-motion film before he left Disney), and Devil Went Down to Georgia, among others we probably missed.
Corpse Bride is thoroughly Tim Burton. And while it may not become a classic like The Nightmare Before Christmas, it is still an enjoyable film and contains some really great moments. Interestingly the Corpse Bride herself probably has the most depth of any of the characters.
Next up to see is Wallace and Gromit, which was number one at the box office this weekend. I bet the execs in Hollywood are wondering how there could be two back-to-back stop-motion successes when everyone else “knows” computer animation is the future. (Yawn.) In related news, the Aardman Animations studio appears to have burned down! Tragic. Not sure what the extent of damage really was yet, but it doesn’t sound good. Update: BBC has the story now.
They warned of 70mph winds, massive flooding, and loss of power, but in the last days before landfall Hurricane Rita shifted north and Austin didn’t receive even a drop of rain. The organizers of Austin City Limits Music Festival were so proud of themselves for waiting to cancel the weekend concert series, but the evacuees were less pleased — stuck in Austin at shelters because the hotels were booked for an ACL in limbo.
Meanwhile, people panic and grocery store shelves are almost out of canned food and bottled water. The less than 3-hour trip from Houston becomes a long full day of gas shortages and frustrated evacuees.
Cars are not an efficient way to transport large numbers of people, but the rail and public transportation infrastructure in this oil state is pathetic. Nightline’s Ted Koppel asked the obvious question to someone from Homeland Security, but they acted as if they didn’t even understand there was a problem. If you can’t get out of a major city with a week’s notice, how can you get out in a real emergency?
Last Wednesday I wrote a rant destined for this space, I was so saddened and then upset by what was happening in Louisiana. But I let the post sit unpublished, and by the end of the week others were voicing my frustrating much better than I could have. Randy Lander used profanity, Michael Moore raised the National Guard question, and the New York Times criticized the lack of leadership from our President.
It was particularly refreshing to read some of my everyday weblogs and see personal stories. Keith Lango, an animator from Dallas, broke from his usual animation topics to describe what his church was doing to help evacuees.
Last week you could feel the frustration as people wanted to reach out but didn’t know how. Some of Traci’s family in southwestern Louisiana took their boats to New Orleans to help in the rescue effort, but were turned away, despite the call going out earlier for exactly that kind of help.
While leaders were still making promises of troops or doctors or buses two days into the aftermath, MoveOn.org had built a brand new web application for helping shelters and people now homeless to connect with others who are offering spare bedrooms: HurricaneHousing.org. It’s working.
We sent baby stuff to family in Louisiana, gave to the Red Cross, and then yesterday loaded up a bunch of clothes and bedding to take to the central drop-off location here in Austin. Driving down the highway today my eyes searched for the location. We needn’t have worried about missing it. There was a huge line of cars entering to donate, with several police cars and many volunteers directing traffic. Just about every level of the several-story parking garage was loaded with items — bags of clothing, beds, and baby toys stacked high and stretching across the whole area of the garage. It was being sorted pretty well, and it was heart-warming to see that it wasn’t just going to sit there for weeks — some of the most important items, like diapers, bottled water, and suitcases, were already piled up on slats and wrapped up, ready to be picked up by trucks and taken to shelters. A daunting task was slowly being whittled away and you could feel that efforts were paying off.
This disaster will likely rival the World Trade Center in terms of lives lost and damage done. And yet television stations didn’t suspend normal coverage as they did on September 11, nor did advertisers pull ads (unbelievably, we saw several for cruise ships and gas generators). I don’t think it’s a conspiracy, just that the shock took a couple of days to build up rather than the immediacy of an airplane crash. And I’m glad photographers and television crews got in, since this was very hard to visualize otherwise.
There’s going to be a lot of blame thrown around in the coming weeks and months. Some of it justified and some just politics. Personally, I see this as a national security failure. Just a week after the storm hit, protests are already being organized. People are angry.
I’d like to end on an uplifting note, with some message of hope and perseverance, but really, that seems a little naive. Still, great work is being done, and it’s inspiring to see it.
This is my first podcast, called Trains. If you subscribe to the main RSS feed using a podcast-aware newsreader like NetNewsWire 2.0, you may already have the MP3 in your copy of iTunes. If not, here it is for download:
» Trains (MP3, 10MB)
Update: There’s a separate podcast feed here.
Related links for topics in this podcast:
Frank and Ollie DVD
The Iron Giant Special Edition DVD
Dumbo DVD
The Incredibles DVD secret menu (Jim Hull)
Animators and Railroads (Jan-Eric Nystrom)
The Caboose Who Got Loose (Bill Peet)
South Side (Moby and Gwen Stefani)
Trainfare (Toni Price)
City of Blinding Lights (U2)
There is a place for text, and a place for sound. If you are like me, you read and write text all day. Whether it’s email, chat, html, code. For those times, music is all the sound you can take — it fits your mood and fades into the background. You don’t want to necessarily listen to someone speaking — it’s hard to concentrate on reading text and listening to someone else read text at the same time, and most people can read faster than they can listen anyway.
But for the times when we are away from our desk, sound can play a different role. Taking a walk or in the car your mind is free to either wander, or pay attention. I believe podcasts are for those times.
Tomorrow I will post my first podcast. If it is well received (or even if it’s not — this is blogging after all) I hope to create a podcast every few months. Because it will be so infrequent, there probably won’t be a separate RSS feed for podcasts. The MP3 files will be included directly in the main feed for this weblog. Feedback of course is welcome at manton@manton.org. Thanks!
I have been officially kicked out of my office by a 1-year-old. Such is life in a three bedroom house with 5 people, I guess. We packed up over 10 boxes of books and other junk, which will sit in the garage and attic until we move someday.
Here’s a photo of my new space in our bedroom, with annotations.
I don’t consider myself a perfectionist. In fact, I can often be downright lazy. I write sloppy code sometimes. I am hasty with my artwork instead of thorough. I am always impatient to see the end result, regardless of what I am doing. (Oh, and my office is usually a mess.)
But when it comes to things that really matter, I have pretty high standards. When focused I can solve problems well and my attention to detail usually pays off. I am self-critical, which means I can improve.
I attended a Tufte talk earlier this year, and one thing that struck me was how dedicated he is to perfection. He phrases it in a different way, though, less assuming. “Do no harm.”
When creating something — art, code, prose — there is an immediate personal attachment to that thing. Not only is it difficult to see mistakes in it, it seems almost impossible to throw it out and start again. But you have to. The trick is to see the investment in time not as wasted, but as a necessary first step in getting to the final place.
Write half the novel and then rip it apart, let go of the parts that you know aren’t working and try again. Refactor, redesign, redraw.
One of the revolutions at Disney in the 30s and 40s wasn’t just incredible talent, it was things like paying the extra money to film pencil tests, so that animators could see their work as it would appear on screen and fix mistakes instead of shipping it off blindly to the distributor. No one else was doing that because it didn’t seem to make business sense. That is, until you saw the improved results. (Software usability testing is a lot like that, too.)
In a recent interview with Animated News, Andreas Deja talks about Walt and his high standards:
And with that, I’m off to create something instead of sleeping.
One of our big projects at work just launched: the VitalSource Store. James Duncan Davidson and Mike Clark have posted about what it was like working on this project. My favorite posts include this one about the Rails development sandbox, and this one about RESTful web services.
Ryan also chimed in earlier this week about the project. It feels good to write about work in this space for me too, something I have rarely done but will likely do more as our company becomes well known.
Although the software is now freely available like iTunes, we’ve all been hard at work on this stuff for a while now. In fact the current Mac and Windows clients started life over 4 years ago, and there is a bunch of shared code in there from our internal tools that is older still. We’ve been shipping product to customers the whole time, but it feels good to now open things up to anyone.
If you look below the surface, there is a pretty incredible foundation that we can build good stuff on top of. Comments like this one from Anarchogeek hit on exactly what we are trying to do:
Thanks to everyone who is posting their thoughts. You can see more by searching Technorati for VitalSource.
Friday night we saw Alison Krauss & Union Station at The Backyard. At one time far outside Austin, suburbia has now claimed most of the land around this uniquely Austin venue. We parked outside what will shortly be a Bed Bath & Beyond, or maybe a Barnes & Noble, or another of the too familiar cookie cutter retail shops that spring up around new neighborhoods. Walking over the dust, wire, and new concrete of the construction site, we were thankful for a chance to see a show at The Backyard before the landscape changes entirely, invaded by 24-hour parking lot lights and noisy cars.
Inside none of that could be seen or mattered, though, and the stars came out midway through the set on a clear sky above the open-air venue. Alison’s voice was beautiful and effortless. Songs from the O Brother Where Art Thou soundtrack, other great tracks like The Lucky One and Restless, and a bunch of incredible songs that were new to me. For the encore, her voice soared as if she hasn’t even really been trying before. The audience was moved and in the span of an hour I went from being a little familiar with a few songs, to a life-long fan.
Need some music? The Alison Krauss iTunes Essentials is a good place to start.
I saw Howl’s Moving Castle last night. When we showed up at the theater, I was surprised that they accidentally had the subtitled version, not the dub. It was great to see the original Japanese, and I look forward to comparing it to the English on subsequent viewings or when it hits DVD. The subtitles were very good — not the broken English you’d expect from a cheap dub, so I expect the dialog is from the translation handled by Disney.
I should describe my first Hayao Miyazaki experience. I consider myself fairly knowledgeable about the history of animation, of a range of genres, styles, and studios, but my first exposure to Miyazaki actually came late, with the Disney dub of Kiki’s Delivery Service. I knew there was something special about this film before I saw it, but finding a copy proved difficult due to lackluster marketing and poor distribution. I went to a few video stores in search of a rental before I finally found a VHS copy for sale and bought it.
Now, many of Miyazaki’s earlier films are definitely geared more toward children, and this is especially true with Kiki. But I was completely blown away by the innocence and total sincerity in this film, and at the climax I was near tears. It is a masterpiece that I’ve enjoyed watching over and over again now that I have my own children. Every second of film is there for a reason, with perfect pacing, dialogue, and emotion. From then I’ve enjoyed his other films over the years, including a side trip while passing through Houston to see Princess Mononoke in the theater, since it was in very limited release, and of course Spirited Away, last year’s Porco Rosso premiere in Austin, Totoro, and most of the rest.
So Howl’s Moving Castle. I’m not sure it was my favorite of his films, but it was very enjoyable, full of both originality and familiar Miyazaki themes. When it wants to be, the animation is beautiful, and the visuals stunning throughout. The acting of the lead character Sophie as a young and old woman is very believable, the movement and walk obviously well studied. Good work all around.
Watching a film like this, with at times such power and intensity, you’d never believe that 2d animation has been written off by most decision-makers in this country. It’s simply impossible to make a film like this in 3d, either now or 5 years from now, which means that the kinds of stories that can be told in U.S. feature animation are limited right now. As long as audiences are being entertained, few people will complain about this unnoticed drought, but the risk is that over time animation will be even more pigeon-holed than it already is.
Alright I gave in and bought a DS. The newly bundled Mario 64 was too much for me to resist. I justified it as an early father’s day present to myself.
It became increasingly obvious after E3 that Nintendo does not have a plan for a next-generation Game Boy, and instead they are putting most of their resources into the DS. The Game Boy Micro is a sweet little device, though.
What can I say about the DS after a few days use? It is at the same time flawed and brilliant. So much more bulky than the GBA SP, and a single screen alone is no bigger. The huge win is in the touch screen, which encourages innovative games that let you tinker, explore, or control your character in a new way. This system is just fun to use.
I picked up Kirby Canvas Curse today and I’m loving it. As Nick from 4 color rebellion said: “I here and now declare KCC the first true DS killer app. Combining elements of some of the best games of all time, Hal has created something totally fresh that sets the example of how to make a DS game.”
Indeed. This looks like the first in a string of nice DS titles. Before now, I thought the PSP could actually do the impossible: beat Nintendo’s decade-long dominance of handhelds. But by the end of this year I think we will see quite a different story, with both DS and PSP clearly co-existing for some time to come.
And of course it comes down to the types of games that are being developed. The audience for Halo is not necessarily the same as for Nintendogs. But if you are trying to create for the hardcore and casual gamers, you need something from both on your platform.
From the Wired interview with Shigeru Miyamoto:
“The people who don’t lose interest become more and more involved. And the medium starts to be influenced by only those people. It becomes something exclusive to the people who’ve stuck with it for a long time. And when the people who were interested in it at first look back at it, it’s no longer the thing that interested them.”
Briefly, highlights from WWDC include: great Automator, .Mac, and WebKit sessions; time with James Duncan Davidson, Mike Clark, and small chats with Brent Simmons and other developers; seeing the impressive work Rich Kilmer is doing on ActionStep; the Michael Johnson Pixar talk; another software review with John Gelenyse; and hearing The Wallflowers at the Apple Campus Bash. We took 7 people from work this year, so we had a great mix of session coverage (not to mention good restaurant choices). Look forward to next year.
I saw three people I haven’t seen in over a decade last week. The first two from high school — Heather, at Magnolia Cafe in Austin before leaving, then Joel randomly on Market Street in San Francisco. I wondered who I’d run into next, and the answer came a few days into WWDC when I spotted Bob Pudell, who hired me for an internship at Apple my second semester at UT, and from which I can trace just about every job I’ve landed since.
The .Mac SDK session here at WWDC was interesting. First, it was forward-looking, not something we’ve seen much this year with the exception of Intel. Also, it wasn’t covered under NDA (hence this blog post).
The 2.0 kit will be Tiger-only when it ships next month, but it will provide some really powerful features such as publish-and-subscribe and secondary user accounts that live off a paid .Mac account. Lots of fun applications surely to come. Apple wants to enable deep collaboration across applications.
Meanwhile, it’s been a few days and many developers have already brought their apps up on Intel. The general consensus now seems to be that this will be a smooth and very fast transition. If there are new Intel-based PowerBooks ready in January, there will be a wide-variety of popular apps ready for it.
I use CodeWarrior for most projects, but I was still surprised to hear Apple say that almost half of Mac developers have also yet to switch to Xcode. That will be the biggest chore for most people.
Thanks for all the good times Metrowerks. CodeWarrior was a great development environment, and in its time PowerPlant was a great framework. The Mac OS X transition has always been a mix of steps forward and back, and Xcode will be no different.
Even before I arrived in San Francisco, and even before the rumors surfaced of Apple switching to Intel, this WWDC looked to be a unique one. For the first time since I can remember, the conference was mostly going to cover a shipping OS. Steve Jobs mentioned Leopard only in that we would hear about it more next year.
On the BART from the airport I met some fellow WWDC attendees (the Apple and Mac-hack 1995 t-shirts were an easy giveaway). We discussed the ramifications of Intel, what else might be in store. I still hoped for a new product line, maybe a tablet or something interesting and different as the first step to Intel.
And then everything changed, the rumors were true. It was a bold move, but as Steve Jobs said, Apple is strong right now. They know what they have to do to pull this transition off.
Madagascar is easily the best of Dreamworks’ (or PDI’s) recent animated films. The animation is filled with great character poses, holds, and snappy movement, and the designs and composition are fresh in a way that makes Shrek look only mediocre. And really, those penguins are hilarious.
While Madagascar was thoroughly entertaining, Dreamworks’ first film, Prince of Egypt, still holds a special place for me. It was risky and dramatic in a way that few films were before or since. We are now clearly in the era of Pixar-inspired buddy comedies. Maybe audiences won’t grow tired of that formula, as they did 10 years ago when every studio was attempting to mimic Disney’s musicals, but I’m still hopeful that a traditional studio will seize the opportunity to reinvent the artform, again.
After a colleague bought a PSP, I decided to re-evaluate the PSP and DS. I did some more research, looked at the available games, pricing, and features. I still enjoy my Game Boy Advance SP, and stand by what I wrote earlier in the year.
But I didn’t place enough importance on how it is the games that sell a platform. Forgetting the price tag or the cool non-game features (internet and movies), the PSP’s initial game lineup wasn’t that appealing to me. If I wanted those games I would own a PS2. There are definitely a few gems in there, though — Lumines looks very good.
Not surprisingly when you consider the unique pen input option on the DS, the DS games are going in another direction entirely, and for the most part I like it. This video of an upcoming Kirby game looks fun, similar to the new Yoshi. And then there’s Electroplankton, a bizarre title that is less game than musical experiment.
4 color rebellion on casual gamers:
I fall somewhere in between casual and hardcore gamer. I want games that I can learn fairly quickly, and that I can just as easily play for 10 minutes as 2 hours. I also enjoy old games (lately I’ve been mixing Advance Wars 2 with Super Mario Bros 2).
Getting back to the PSP vs. DS debate. Would I trade in two screens for a single screen the size of the PSP’s? Probably so. A next-generation Game Boy would ideally fit somewhere in the middle, with a larger screen than the current GBA but maybe not as big as the PSP, to keep that easy “in your pocket” advantage.
This illustrates the challenge Nintendo faces with their three-tier strategy. Although the DS can play GBA games, a new Game Boy is unlikely to play DS games. Nintendo is the unquestioned king of backwards compatibility, but it’s unclear how they are going to solve this puzzle.
After I wrote the above, Nintendo announced the Game Boy Micro. This is not the next-generation device that some were expecting, but it sure looks cool. It is lighter than an iPod mini and just a little bigger. If the price is right (and I expect it will be), and it works with the Play-yan for music and movies, this could be a killer little device.
We all use web apps. Google Maps or Mapquest, Yahoo! Mail or Hotmail, Basecamp and FogBugz. The ubiquity of these services has reached the point where it is increasingly useful to point to them from other applications, web or native. Mac OS X’s Address Book and Dashboard Yellow Pages both point to Mapquest.
Mac OS X Hints has a hack to point Dashboard at Google Maps instead, but what I’d really like is system-wide settings for important classes of web applications. My default search engine, maps, or photo management apps could all benefit from this.
Sadly, even on the desktop — where native apps can easily register for protocol handlers and play nice with others — the situation is often closed. The “Lookup in Dictionary” command in Tiger’s Safari is hard-coded to Dictionary.app, instead of checking what other app might have registered to handle dict:/// URLs. If dict:/// was replaced by http://www.dictionary.com/, it becomes even more extensible. But in Tiger, third-party developers who have a great dictionary application or web site are obsoleted without a user choice.
This problem will only become more exagerated over time. Every app that could potentially exchange data, whether web-based or not, should have an integration story. If the OS doesn’t want to help this effort, perhaps an open framework in the spirit of the original Internet Config can fill the need.
The other day I went for a walk and on the way back picked up a candy wrapper on the sidewalk, to throw away when I got home. If I pick up other people’s trash (not a frequent activity, but not that uncommon either), I don’t expect a thank-you or for anyone to notice. But this time I did receive a thanks, of sorts.
I opened our outside garbage can and staring at me from the bottom was a pile of cables and an original WebTV. I had bought the WebTV years ago. The reasons given for this strange purchase ranged from “browsing the web in your living room is neat” to “it’s for my mom” (she didn’t end up liking it). The ancient and mostly-useless device almost made it into one of our garage sales, on Traci’s request, but I’d always feel guilty even trying to sell it. It was obvious she had thrown it away, giving up on me and my often unreasonable tendency to keep everything.
Rummaging through the technology junk, I salvaged a Firewire cable, audio/video cables, a power cable, and a Laserdisc remote control. It felt good to finally close the lid on the WebTV. Who knows, maybe the Laserdisc will be next.
Dave Winer turned 50 today. I first met Dave over 9 years ago, back when the free release of Frontier ruled web application development and automation on the Mac. I ran the frontier-talk mailing list for a time, was active in that community, and built a bunch of great stuff on top of his work. A lot has changed since then, both on my platform of choice and in the tasks that Dave has tackled. While I haven’t kept in touch with him, I am usually quick to defend his record. If you ever find yourself upset with Dave, take a deep breath and then disagree in a way that shows some respect for what he’s been able to accomplish.
Kelly is studying in Paris. She writes about animating from your experiences after talking with Pixar animator Bolhem Bouchiba:
Meanwhile, in the first Animation Podcast interview, Andreas Deja talks us through his early childhood in Germany, from the first time he experienced Disney animation up to the beginning of his career at the mouse studio. This is a must-have podcast feed for animation fans.
My own podcast episode should be done in another week. It also touches on animation, with excerpts from a few films and my own audio recordings during a trip last month.
I don’t like Safari-style tabs. Sure, I use them — and in NetNewsWire if you want to use the built-in web browser, there is no choice) — but I’ve always thought that there should be better ways to manage windows, and it should be built into the operating system. As left to third-party developers, each application implements tabs in a slightly different way. Everything from the visual appearance of tabs, to where they are attached to a window (drawer, sidebar, or toolbar), to how the close box works, to the keyboard shortcuts for opening and closing tabs, to the persistence of tabs.
Instead, Apple should have built upon Exposé to offer system-wide window grouping state, so that in any document-based application the user is in control of how windows are tabbed. Actions like dragging to rearrange tabs could be implemented once and work consistently across all applications.
Of course with Tiger now shipping, it’s probably too late. By the time 10.5 is announced a year from now the damage will be all but permanent. It always impressed me that Apple was so quick to roll out a standard toolbar implementation in both Cocoa and Carbon, and I think we would have seen similar gains from a tabs framework.
The Animation Show’s 2nd year show came to Austin last weekend, and I was lucky enough to see it Sunday evening with Don Hertzfeldt taking questions afterwards. He discussed traditional animation, the dying art of shooting on actual film, and the four-year process of making his latest film, The Meaning of Life.
One of the things that struck me about this year is the running time of some of these shorts. 10 minutes is fine if it’s brilliant work, as many of these are, but I was surprised that a couple films didn’t hold my interest. Overall it was a great show, though. Some of the highlights for me were Guard Dog (Bill Plympton), When The Day Breaks (rotoscoping as style instead of cheat), Hello (only animation can do this), and Pan With Us (stunning innovation in stop-motion).
The Man With No Shadow was also a favorite. Don Hertzfeldt likes to talk about how real innovation in animation usually happens in short films, so it was appropriate that this film took an element that is usually the first thing to be removed from low-budget television or feature animation — shadows — and built a whole film around it.
Don’s latest itself was good, but probably not equal to Billy’s Balloon or Rejected. From his weblog:
In 2003 I posted my review of the first show.
Dan Cederholm asks the relevant questions about weblog syndication formats:
The competition between Dave Winer and the Atom folks seemed pretty intense a year ago. Six Apart has pretty much shunned RSS from the beginning, preferring RDF and then Atom. Blogger made the controversial move from RSS 0.9 back in the Blogger Pro days, to Atom-only, and switched to the Atom API instead of the widely-deployed Blogger API that they developed. Atom gained a bunch of momentum, and steps to make it an official standard were well underway.
But then something interesting happened that no one expected, and it happened almost overnight: Atom was obsoleted.
RSS 2.0 won not because of the enormous number of major RSS 2.0 sites (although that helped), or because it was better (it’s not, really). It won because of podcasting. It all came together for me when I read Evan Williams post about podcasting and RSS, and he didn’t mention Atom at all.
It’s clear by all the wp-rss.xml files out there that many of the Movable Type 2.x users are migrated to WordPress. The price of Movable Type 3.0 is hard to justify for personal sites, or even business ones for that matter.
The influence that Six Apart and Google had on syndication formats is vanishing. In the end it wasn’t even about politics at all.
It’s always interesting to see where 2d artists have gone after the decline of traditional, hand-drawn animation for feature films. That might seem an odd thing to say considering that recently a hand-drawn Pooh movie opened in theaters, but also keep in mind that it was animated in Disney’s Japanese studio, which has since closed.
The documentary Dream on Silly Dreamer follows this and similar tales as they unfolded in California and Florida. It will be making the festival rounds, and hopefully will show up in a city near you soon.
Masa Oshiro, who worked on July Films’ My Little World, is probably typical of many animators who have left the industry for a while, or for good. I found this snippet from his bio particularly revealing, a strange unintended mix of humor, hope, and sadness: “As the industry shifted from traditional to 3d animation, Masa left to pursue designing and sculpting small collectables.” (Those are cute turtles, though.)
And then there’s Andreas Deja, perhaps the last of the master animators at Disney who refuses to give up his pencil. He’s working on the direct-to-video Bambi II, trying to infuse as much quality into it so as not to shame the creators. Surprisingly, early stills from the film don’t look half bad, even if the mere concept should be cause for concern. Keep up the good fight, Andreas.
Don Hertzfeldt is in a category all by himself. His latest Animation Show festival hits Austin this weekend and will be a must-see.
Leaving SXSW I think I noticed two major themes at the conference this year:
Software development. Jason Fried’s talk on small teams set the tone here. Get close to your users, start building the real thing early, and keep it small so you can change easily. In “How to Inform Design”, Jeffrey Veen took part of that one step further. Instead of user-centered design, he strives for self-centered design. If you become the user, you’ll know how to build it.
Thinking about software development approaches — especially when they take an extreme position — is useful to me because you can take those statements and stamp them onto past successes or failures to see whether there is any connection. Many interesting work conversations followed.
Metadata. Tags, folksonomies, and the lowercase semantic web. There were at least four sessions on this topic, from Eric Meyer’s introduction on XHTML-based microformats to the panel of RDF skeptics lead by Matt Haughey. These problems are hard to solve. When I was originally interested in an internet of rich metadata it never occurred to me that the solution might come from the grassroots, a virtual community of taggers bringing structure with nothing more than keywords and a few smart pieces of software.
Ultimately it’s a UI issue. Flickr and Del.icio.us are successful because they make it easy and provide a clear incentive (the ability to find things again). Other distributed metadata initiatives are simple to use because they work within the existing web we know (XHTML and URLs), but we still need applications that will provide that same incentive for users to care. Maybe Rubhub is a start.
Discovering new podcasts is still an awkward process, despite some great podcast support in newsreaders such as NetNewsWire 2.0. I thought it would be interesting to randomly pick individual podcasts and aggregate their latest posts into a special feed. After a little bit of hacking I came up with Podcast Shuffle. Perhaps the name is too gimmicky, but it’s a fun little feed that may even surprise you.
Jason Fried has been talking a lot lately about keeping your product simple. His SXSW session on Saturday continued this theme of doing more with less — “constraints encourage creativity.” One example he cites is how Ta-da List’s lack of due dates or responsibility assignment forces people to find a human solution to the problem, often something as simple as appending a date to the to-do item. Later, if patterns emerge in how users are working around true limitations in the software, then that is the time to add an interface and make it a real feature.
Tantek makes a similar point when discussing XFN. Rather than create a complex format that attempted to solve several different problems (some of which may not even exist yet), they simply looked at one thing (blogrolls) and paid particular attention to how users were working around the limitations of a simple list of links. Adding “*” next to people a web site author had met is the same idea as adding a date in the text of a to-do item in the 37signals example. They could then extract the true semantics behind those existing practices into XFN and similar microformats, building on top of XHTML to embrace the way users currently publish for the web.
It’s now been three years since I started this weblog. Here’s last year’s post, the one a year before that, and the first post. I like that the anniversary date falls around SXSW. It serves as a convenient reminder, and is also a good time to reflect on blogging in general.
Since 2002 I’ve posted 219 times. A small number compared to many blogs, but sufficient for me. When I first started this blog with Radio Userland, it couldn’t separate each post into its own HTML file unless each post fell on separate days. I found the use of anchors annoying, so I limited myself to posting once a day. With Movable Type that limitation was gone, but I still don’t post more than once a day, and usually less often than that. With so many bloggers to read, some of my favorites are those who only post once a week, but when they do it’s their best stuff.
If you’ve been wondering what all the podcast hype is about, Ryan’s latest Elements episode has a few of the things that make podcasts great: music, interviews, uniquely non-mainstream, and told with a fresh perspective that you can only get from listening to normal people talk. Another thing I like about Elements — and this applies to both weblogs and podcasts — is the consistent length and post frequency. It’s nice to look forward to an under-30-minute audio show synced to your iPod every Sunday.
This weekend I spent some time (not much) on a little podcast-related service that I’ll unveil this week. (And by “unveil” I mean upload a couple files and call it shipped.) I’ve also got a podcast in the works, although (contrary to what I said above) it will not be a regular fixture of this site. Instead it will be more like the occasional photo album — a supplement to the text and delivered in a way that fits the content.
For comics fans in Texas, the Staple! Expo will be held in Austin this Saturday. The Austin Chronicle has a story on it. Congratulations to Chris Nicholas for organizing the event since mid-2004. It should be a fun time.
John Rubio did a fantastic job on the logo, and I tweaked the web site design and handled the HTML and programming maintenance. The news weblog in particular seemed to work out very well, because it allowed Chris to keep the information on the web site current.
I’ve discussed artist-driven businesses before on this site, especially as it relates to the comics and animation industries. I think conferences like Staple have an important role to play in that.
It was fun while it lasted, but PHP’s time may have come and gone. The benefits of PHP in the early days (extremely fast prototyping, embedded in HTML) outweighed the problems (haphazard function naming, poor object-oriented features, and difficulty designing large applications).
PHP Everywhere discusses the move to more robust object-oriented features to compete directly with Java. But some of the old design decisions cannot be swept under the rug. They will remain, leaving an awkward architectural mess.
Web applications are not like traditional applications, where you make an investment in a programming language and source code that makes it all but impossible to change. Web apps are constantly evolving, being rewritten. Or they are obsoleted, shelved. A new domain name is registered and the process starts again.
Enter Ruby on Rails, simple and elegant, drawing the best from the PHP and Java camps. There’s been a lot of criticism from the Java world, but many of those people write code like it was a traditional application anyway — big, complex, connected to legacy systems. They are too invested to switch, and that’s fine.
But the PHP people will switch, easily, and with the apparent momentum of Ruby right now, maybe it’s already happening. Forget the enterprise for now. Rails is a perfect fit for anyone who develops for the web on its own terms, and the people behind apps like Basecamp, 43things, and the upcoming Odeo match that profile.
Update: Dan responds with further exploration of PHP, Java, and Ruby, focusing on why Ruby may not be well suited as an introductory programming language.
I hope Kottke’s decision to blog full time without advertising will be a success. He’s got a large reader base. I stopped reading Kottke for most of 2004 but have re-subscribed so I can follow his progress.
The interesting question is whether this approach scales to more than a small number of weblogs. On one hand, I think it does, because even obscure subject matter can find an audience (see Wired’s The Long Tail). But on the other hand, it doesn’t matter. Personal, independent, no-income weblogs will always be important.
I also wondered whether some kind of bloggers cooperative would work. You donate money to the group as a whole and read whatever blogs you like from the list of members. Sort of like contributing to a public radio station, not to a particular show. But I’m not sure that really solves anything, and introduces new problems (bureaucracy, larger initial donation, and paying for weblogs you don’t read). Better to sell directly from creator to consumer.
Last year I subscribed to Shane Glines’ Cartoon Retro experiment. He posts sketches every day, writes about classic art and cartoons he is studying, and occasionally updates his site with full features. The eventual goal will be to produce entire short films, outside the studio system, funded by fans. This is an effort I can fully support. Unlike Kottke or John Gruber, there is no free content from Shane Glines, so that $5 a month goes a long way.
We should all be weary of new acronyms lest we promote and give significance to half-baked ideas and fads. But Jesse James Garrett’s Ajax essay is a good read — a concise, high-level look at how JavaScript and XML will upgrade the web browser for fast, dynamic web applications.
Perhaps purposefully, he leaves out the role (if any) of HTML + Flash applications, which Macromedia has been promoting for some time as Rich Internet Applications. It is essentially the same concept, but basing your app on HTML, JavaScript, and XML can solve the major problems of Flash-based apps. Flickr, for example, integrates Flash, not DHTML or Ajax. Don’t misunderstand me, I think Flash-based web apps negate the benefits of the web infrastructure, such as good REST design, but a thorough analysis of asynchronous interactive web apps needs to include Flash at some level.
Jeffrey Veen mentions the significance to Flash apps, and Matthew Haughey covers the KnowNow connection.
Another new Ajax site is the Panic t-shirt store. How many web apps use drag-and-drop at all, let alone so effectively? It’s so simple and elegant, by the time you get to the checkout page and see yet-another-web-form, the change is almost jarring.
The interesting thing will be whether the web standards folks embrace Ajax. You won’t find a spec for XmlHttpRequest at the W3C. Look at the Google source, and you’ll probably see conditions for Firefox or Internet Explorer (Safari isn’t even supported). But Ajax has something going for it: it brings some of the power of native apps to the web, but unlike the old promise of Java or even Flash, it’s zero-install and quick-load. We’ve got to drop this “web standards” holy war and just get on with building next generation apps.
There wasn’t an acronym when embedded images and HTML tables hit the web. The web just changed, seemingly overnight. The same thing will happen with more interactive, less page-driven applications. It’s just the new web.
I’m not sure I ever wanted to “grow up” to be a magician, but I was pretty fascinated with it as a kid, and more serious about it than most. I knew the disappearing quarter tricks, had the special card decks, the fancy scarfs and foam balls. Once I went to a magic auction and won a box that could make anything the size of a baby rabbit appear or disappear. And, always, there were the trips to North Austin to a small converted shed in the backyard of a house where The Great Scott sold his magic books and items for eager kids and professional magicians alike.
He visited my elementary school once. My mom still has the photo of him pouring milk in my ear and pumping it out of the other. Among the right circles, I’d say he was pretty well known. It doesn’t surprise me that he and his wife have a web site.
Fred Donaldson (aka The Great Scott) passed away last week, age 79. That same week, I attended a course by Edward Tufte, who dedicates a chapter of the cloud book to magic (the included image is from it). A day after that, my kids saw another magician perform at the library, and a new generation of magicians was born.
Apparently I wasn’t the only person to purchase Delicious Library in the first week of release. They’ve had $250,000 in sales so far. For an app that no one really needs, this is pretty incredible.
And no office space overhead. At O’Reilly’s Mac conference Wil Shipley emphasized a similar point, to cut costs down by selling directly to the customer instead of a boxed product in stores. See Niall Kennedy’s blog post for a link to the MP3.
Wil also likes Cocoa Bindings. From an Apple interview about Cocoa Bindings, he said:
I haven’t bought into Bindings yet. I commented on Michael Tsai’s blog about it last month. The funny thing is, the little details in Delicious Library that are so impressive required some significant programming, and shaving a few dozen lines of code that handles sorting in a table view seems to pale in comparison. For example, look at the gradient in this screenshot, and how it works correctly for contiguous or non-contiguous rows. You don’t get that kind of stuff for free.
Thursday is the presidential inauguration, as well as Not One Damn Dime Day. Every year or so you hear about one of these attempts to effect the economy, and of course they usually have no noticeable effect. But you never know — one day one of these virtual protests will catch fire.
Meanwhile, I’m almost at the point where I can listen to the news again. For years I’ve listened to NPR every day, the Sunday talk shows, and frequently Nightline or (when I had cable) The Daily Show at night. But after the election I shut down everything except weblogs. It was just too painful to listen to the media.
Howard Dean is receiving strong support in his run for DNC chair. It shouldn’t surprise anyone who read what I wrote during the Democratic primaries last year that I support him 100%. Hopefully there will be a way to help — it doesn’t have the same grassroots feel as a presidential run because there are so few people who will vote.
From the journal of Pat Smith:
I got the same feeling watching the extras on The Return of the King DVDs last week. The task was too enormous for most of the crew to comprehend in it’s entirety.
I guess that’s the way it is with a lot of things. You keep doing it and doing it. Sometimes I catch myself thinking too much — staring at a software interface instead of writing code, or reading art blogs instead of lifting a pencil. Better to just try something, and save the thinking for walks or long drives.
Traci couldn’t find the GameCube games she was looking for (mostly Pikmin), so for Christmas she bought me a Game Boy Advance SP. This was a very unexpected surprise. I hadn’t really used a Game Boy since the original one I owned was stolen/lost a dozen years ago.
To cut right to it, I returned my GameCube system to the store and am now the happy owner of a handful of GBA games, with more on the way (a new Zelda comes out next week).
I’ve also played a fair amount of Halo (1) lately, and did a lot of game research over the holidays, trying to catch up on what the game market looks like today. It all put something in perspective for me: I like 2d games. The lure of Halo 2 and Grand Theft Auto is strong, but I won’t buy an Xbox or PS2 just to play those games.
The GBA has a number of things going for it:
But, you ask, what about the Nintendo DS? Isn’t the GBA obsolete?
I hope not. The DS is an innovative system, but it’s not a new Game Boy. It’s too expensive, too big, and too different. Nintendo wants to position the DS as a higher-end portable to go head-to-head with the Playstation Portable, but new GBA games will still be released over the next year or two. We are also seeing new GBA add-on gadgets, such as the wireless adapter and upcoming movie player. Some people speculate that a real Game Boy to replace the SP may come out in 2006.
Joystiq has some good points about the DS and PSP:
The Xbox and PS2 seem to dominate the press, so it surprised me that the GBA was the best-selling game system in North America in 2004, with good holiday sales despite the Nintendo DS introduction.
Here’s what Retrogaming has to say:
The biggest risk to the GBA is that developers will focus their effort on DS-only games. But for now, I want to play some fun games again, and the GBA accomplishes that quite nicely.
Last week I received The Incredibles DVD screener in the mail through my membership in ASIFA-Hollywood, and Saturday a bound copy of the screenplay arrived. I’ll keep the screenplay on my shelf next to the rest of the Pixar books, but I ended up giving the DVD away as a present. I just thought of how excited I would be if someone gave one to me, even opened, and I’ve probably watched it enough already this week.
Okay, I haven’t watched it enough. In fact I’ve only begun to study the film in detail. There’s some great acting in there and it helps to watch in slow-motion. As an animator, how cool would it be to hit pause in a movie theater, then rewind and flip through frames of a great scene? Having the DVD for something that just came out in the theater sort of feels like that.
Google Desktop Search is a neat app. The integration of local and global results is brilliant. But it’s not the future of desktop search.
David Galbraith said something interesting in a post titled “Google lock in”:
Maybe. I’m not sure I totally disagree with that point, given Google’s dominance of web search. But one thing I do believe is that a native application user interface always has the potential to be better than a web-based one. If you buy into that opinion, it means that we aren’t done. In fact, it means Google’s monopoly as it currently exists is vulnerable.
Let’s take a step back. In general, there were three things that allowed web-based apps to win out in the late 90s:
Native apps can’t compete on those points. Instead, they can win with thoughtful interfaces constructed to fit on the platform alongside other native apps. As an example, lately I’ve been using Ranchero Software’s MarsEdit for weblog writing, and it’s a huge step forward from the Movable Type web interface. And that’s not because the Movable Type interface is particularly bad (it’s actually slightly above average). It’s just that a web-based app, even running locally, is a black box that cannot play nice with the rest of the system.
Tim O’Reilly likes to talk about how little apps such as Apple’s Address Book and iChat provide base features that other apps can build upon (a Friendster-like social app should hook into your buddy list). That kind of integration is difficult with web-based apps because user data tends to be stored locally, and if published to the web, it could be to one of any number of services. Instead of two platforms (Mac OS X and Windows), you may have dozens of individual web-based platforms (Yahoo!, MSN, AOL, Friendster, Mapquest, Fandango, and more). Those services are designed to take your data and keep it; there is not likely to be a standard API to share information between them anytime soon.
The potential of a native app is even stronger in this era of web services. Web developers are going back to their roots, building REST design into their applications from the ground app instead of exposing complex SOAP calls on the top as an afterthought. A recent example of this is Del.icio.us, it’s API, and the still-evolving Cocoalicious client, which already has hooks from PulpFiction and NetNewsWire. Another example is 1001, a Flickr client.
To bring this back to search, Google rose to the top because they were fast, accurate, and valued the user enough to know when to get out of his or her way. Google is still all of those things, because they had unique leadership that recognized those strengths from the very beginning.
So why, especially given Google’s strong brand, are there still new competitors investing in search? Because there is room for improvement. Users will move to new applications for the same reason they moved to the iPod: it was that much better. Snap adds sorting, for example. Teoma added a refine feature.
But unfortunately for the competition, they are trying to do things that are simply best left for outside the browser. Gmail was widely acknowledged as a breakthrough app that could hold it’s own against native email apps, but that’s only because native email apps are so notoriously bad. With the limited number of emails most people have, the “speed and storage” advantage of most web applications was not a critical factor.
Enter Apple’s spotlight technology. It integrates with the Finder or any application that wants to play. It’s extensible by third-party developers to accommodate file types that Apple does not support out of the box (this was a quick complaint from Dave Winer about Google Desktop Search). It has a fast, polished user interface that is built around finding local files and dealing with their metadata in an appropriate way. It’s just better.
This won’t be the first time Apple has stepped into search and metadata (remember R.V. Guha’s MCF and the HotSauce fly-through browser? Remember Sherlock?). But it will be the first time it’s really clicked in the UI.
As Wes Felter said: “If I just had the Web browser UI I would feel totally crippled.”
And at some level, Google gets this fully. Take for example their Picasa photo application. Or the Google Deskbar.
Don park sees the problem in terms of metadata and less about user interface:
More to the point, Dan Wood commented on the accidental integration between Watson and Delicious Library:
Two simple things made this possible: Apple providing a recommendation for how drag-and-drop of URLs should work, and the REST-style URLs of a traditional web app like Amazon.
A final conclusion, to a post that’s already too long. Newsfire is a lightweight news reader with a clean interface that is a hybrid of native controls and HTML, backed by useful metadata (RSS). And Delicious Library is more than a book catalog app, it’s an Amazon UI stripped to just the essentials. Both these applications are at the peak of a shift that has been a couple years in the making — the convergence of web services, post-iTunes UI design, and system services such as Address Book, drag-and-drop, and metadata. Future apps will be judged by these standards.
I didn’t know exactly what to expect when I signed up for Apple’s Tiger Tech Talk. It looked like a sort of mini WWDC event, and since the first stop on their tour was here in Austin, it was a no-brainer to sign up. But would it be just a marketing-filled event with little real substance? Or maybe just rehashing of WWDC slides but given by less prominent developers?
I’m happy to report that it was a high-quality event. Apple was represented by such familiar faces as Xavier Legros, John Geleynse, Travis Brown, and George Warner. Extra perks included free continental breakfast (I should have shown up earlier), lunch, dinner appetizers, and drinks. The Tiger compatibility lab had about 10 G5s.
Most of the sessions were essentially repeats from WWDC, but the informal nature of the setting allowed for good questions. Apple said about 120 people registered, and there were four concurrent sessions after the overview talks.
Speaking of Mac developers, Panic describes the history of their Audion product.
I saw The Incredibles last night. I’m sure I had a big smile across my face from beginning to end. What a great film. If anything could get me to stop thinking about politics, this was it.
There have been some interviews with Brad Bird and the other Pixar folks recently. The Luxo blog does a good job of linking to them.
See that little blue county in the expanse of red in the image on the right? That’s where I live.
Back in January, I said: “It’s about bringing more people into the process. But to do that right, we need a candidate who can speak passionately to the issues and inspire voters.” Kerry ran a good campaign, but I can’t help thinking that something was missing in both the man and the message.
Kos is calling on Dean to replace McAuliffe as head of the DNC. It’s time for the Democratic party to get back on the offensive. The last two years have been about building the groundwork for future wins — the internet infrastructure, the radio, the organization. It’s not there yet but it will be in 2006. All that’s left is to pick quality opposition candidates and to absolutely stop letting Republican’s frame every issue on their own terms.
One of the things that really bugs me is when Republican candidates run unopposed. This year, thanks to redistricting, our congressional district went from being all of Austin to a tiny strip of rural counties stretching from my neighborhood to Houston. The district was designed for a Republican win, and the Democratic party didn’t bother to challenge it until Lorenzo Sadun signed up as a write-in candidate.
There was no chance to win as a write-in, but he received 12% of the vote! 11000 people took the time to spell his name correctly because they wanted to send a message. And in the Houston suburbs, Richard Morrison came within 10 points of beating Tom DeLay, the closest contest DeLay has ever faced.
The truth is, we almost won. We almost unseated a war-time president who had 90% approval ratings after 9/11. We almost beat a party that used fear (terrorism and gay marriage) to get people into the voting booth.
We almost won, and all the hard work of the last 18 months will pay off big in two short years.
Based on the exit poll numbers and the supposedly record turnout, I fully expected that we’d know within a couple hours after polls closed that Kerry was the decisive winner. I was bewildered when Florida, Ohio, Pennsylvania, and Wisconsin still weren’t called, so I went to bed.
I woke up off and on in the middle of the night, dreaming that I was browsing news web sites. At 5am I couldn’t stand it any longer and got out of bed for good, and now I’ve been deciphering what happened since last night.
The turnout was up, but even the current numbers seem low considering all the people who waited several hours in line to vote. And where was the young vote? I wasn’t the only one to predict they’d make the difference. Is the Republican get-out-the-vote effort just that much better?
Once again, the networks (specifically NBC and Fox) called states too soon. By giving Ohio to Bush, they were left in the sticky 269 situation, not daring to give any more states (like Nevada) to him lest they completely undermine the vote counting process. The networks promised more transparency in how they project a winner, but I didn’t see it.
The daylight savings time switch has helped me get up earlier, so I easily made it to my voting location by 7am this morning. There was already a line of people (perhaps 50) stretching outside. It was cold, from the front that came in yesterday, but it didn’t seem to bother anyone too much. No one gave up and left during the 45 minutes I was there.
I’m optimistic.
Today is International Animation Day. My membership in ASIFA-Hollywood provides few perks since I live a couple states away from the Los Angeles area. They still send me announcements for LA screenings and lectures, though, as if to taunt me.
A few weeks ago I saw Ghost in the Shell 2 and Shark Tale. I was expecting to be really impressed with Ghost in the Shell, but instead was somehow numbed by the visuals and confused by the story. I think it was a good film, but I’m not entirely sure. Certainly some of the scenes were excellent, but overall the story didn’t hold together for me. I had to work too hard to take it all in.
I hadn’t planned on seeing Shark Tale until DVD, if then. Everything about this film looked bad, and I fully expected it to bomb. It ended up doing very well at the box office a few weeks in a row, and I found myself laughing at all the right points. I put it in the same category as Shrek; a fun film but not a great or lasting one.
Have a happy halloween weekend.
In the 2000 presidential election, Gore was behind in all the national polls before election day. I remember that night, listening to the radio in a fast food drive-in lane when NPR called Pennsylvania for Gore. I cheered to no one in particular, because it was the first confirmation that Gore could win.
If you believe the polls today, Bush has a few point lead, and the election will be decided in a handful of battleground states. I no longer believe the polls, except as an indicator for overall trends. Kerry will win by a solid margin. Here’s how:
Youth
Last Monday morning I was in the Austin airport waiting to catch a flight, watching the local news. They were covering University of Texas students who had stayed up all night outside the early voting location on campus to vote. They were all Kerry supporters.
Now, a week later, the local news is reporting some numbers from UT. There are three times the number of early voters on campus compared to 2000. For the most part these voters are not even included in polls because they all use cell phones as their primary number.
Republicans
It takes a lot to abandon years of straight-party voting, but it’s happening this year. Sometimes it takes enormous respect for the candidate (such as Democrats who could easily vote for John McCain). This year it’s the opposite: Republicans are baffled by Bush’s misjudgments in war and his abandonment of fiscal conservatism.
Also see: Republican switcher ads
The undecided
Apparently there is a large percentage of voters who are just confused about how politics work in this country. Personality means more to them than terms like liberal and conservative. Instead, there are usually a few key issues that turn these voters to any one candidate. Two of those issues this year are the economy (lean to Kerry) and fear (lean to Bush).
The debates help people choose, and Kerry outperformed Bush in all three. Kerry wasn’t totally immune to criticism, though. The flip-flop nonsense tends to stick because there is a little bit of truth to it (ignoring for the moment that Bush has more than his fair share of major policy reversals). Mathew Gross pointed to a <a href=“http://www.time.com/time/magazine/article/0,9171,1101041004-702123,00.html
“>Time Magazine article second-guessing the outcome in the Democratic primaries:
Despite the scream, I still believe that Dean would have been a strong candidate. He distinguished himself from the other candidates by a real desire to effect change: even today, he is a powerful force for local and state-level candidates. He showed the Democrats how to win when they had lost their voice.
So there you have it. My prediction: Kerry by 3 percent nationally, with important wins in Florida, Colorado, and Pennsylvania giving him the electoral college. Record numbers of young voters.
I bought a Griffin iTalk earlier this week. Not entirely an impulse buy, but I did drive over to the local Apple Store instead of ordering online. I’ve been wanting the ability to record on my iPod since I received my first generation one. I find myself walking and driving a lot lately, so it’s a great way to record random thoughts while away from the computer. For personal use, not for broadcasting.
The quality is acceptable, but not what I’d like it to be. I tried to record a lecture in a large auditorium, with poor results. Might try again with a better position, or even an external microphone.
The software interface is the expected Apple high standards. Plug the thing in and it works, nothing to install. Yes, that’s right — Apple built recording software into all iPods (except the minis), knowing that only a very small fraction would have the hardware necessary to record. And that philosophy comes from the top. Here’s what Steve had to say in an interview with BusinessWeek:
Jon Udell frequently talks about audio techniques. I liked this section from today’s blog post on personal productivity:
It’s been a while since I bought a new gadget for myself. We’ll have to see whether it ends up being useful or not.
The death of Christopher Reeve will hit a lot of people pretty hard. He worked with so much determination to regain movement and he stayed optimistic. It’s an inspirational story, and it’s a shock that the story is now over. As my wife said, “He wasn’t supposed to die.” He vowed to walk again, and we believed it.
In the second presidential debate last week, Kerry brought up Reeve as an example of who we can help and why stem cell research could be so important. Here’s the quote, from the official debate transcript:
“And he said to me and to the whole hall, he said, ‘You know, don’t take away my hope, because my hope is what keeps me going.’
“Chris Reeve is a friend of mine. Chris Reeve exercises every single day to keep those muscles alive for the day when he believes he can walk again, and I want him to walk again.”
It’s appropriate that Christopher Reeve, the man forever known as Superman, would fight so hard to overcome the limitations of his crippled, human body. Superman is an icon, not just an old comic. The idea speaks to a generation of kids who dream to be something more, and it’s the reason that that memorable scene in Iron Giant can bring an adult to tears.
Frank Thomas has passed away. His life-long friend Ollie Johnston is now the sole remaining master animator from the classic days of the Walt Disney studio.
For more on this duo, watch “Frank & Ollie”, or read Canemaker’s book, “Nine Old Men”, or their book on Disney animation, “The Illusion of Life”.
Perhaps a post on the Animation Nation discussion board (also from an old-timer) said it best:
More Olympics this weekend. First the U.S. basketball team, ahead most of the game and playing well, then losing in the last few minutes. Next, the women’s marathon, the heartbreak for England’s Paula Radcliffe as she couldn’t finish the race after leading the runners for the first dozen miles, then the come-from-behind bronze metal finish for the U.S.’s Deena Kastor.
Last week, Matt Haughey wrote about the genetic lottery:
Every sport favors genetics to some extent, but I’ve always discounted them and held that anyone of any shape could rise towards the top if they trained hard enough. But at the absolute upper reaches of a sport, falling outside the norm becomes a liability and when the margin of error grows thin, you’re going to fall behind the best.
I always think of Gattaca. Sure it’s fiction, but I think there’s some real truth to it — the power of the human spirit. The two brothers are far out in the water, and Anton asks Vincent how is he doing it, how can he swim further and do these great things when he is genetically inferior and all stats point to a heart that is long overdue for beating its last. The answer: “You wanted to know how I did it? That’s how I did it, Anton. I never saved anything for the swim back.”
Give it your all this week.
Wired News will no longer capitalize internet, web, or net:
This is a good thing. Years ago, I remember arguing quite passionately with People Who Had Some Kind of Related College Degree that “web” should not be capitalized. I lost that battle, and have since occasionally capitalized it myself, for conformity’s sake.
I rarely watch TV anymore. When I do, like for the ongoing Olympics coverage, I quickly become frustrated with commercials (especially those not appropriate for 4 year olds, even if the main show is). I want a “visual mute” feature for my television. One click on the remote kills the sound and dims the picture, down to 15% or so. Forget high-definition, how about something I can use? (Patent pending.)
I sometimes work on my animated film late at night, when the family is long asleep and I’ve worked enough in the day that I can’t stand the sight of a keyboard or mouse. Unfortunately in those times, I also can’t seem to draw anything worth saving, or muster the effort to start a new scene. Rather than stare at a stack of blank punched paper, I look at thumbnail drawings, think a little bit, and then come away with something like this image.
It has been said many times before, that animation is all about timing. Look no further than Flash web cartoons. More than half are crudely drawn and so limited as to make the Flintstones look like full animation. But when they work, it’s because the creator had some knack for timing, and pulled some small acting miracle out of the spacing, replaying and tweaking it again and again on the Flash timeline.
Traditional animators, by comparison, have it a little tougher. Some investment must be placed in the hand drawings before taking the stack of 50 or more sheets to pencil test under a video camera. So we scribble in the margins, plan it out, and hope for the best.
Saturday night was my 10-year high school reunion (more specifically the Anderson High School reunion class of 1994 from Austin, which I say only for Google’s reference, even if it dates me). As recent as two months ago I had considered not attending, but I ended up having a really good time, more than I ever thought I would. It was great to see everyone.
I took some pictures. Only a handful came out, so my apologies to everyone who will only remain a blurry image in my copy of iPhoto. Perhaps that’s for the best. But I’ve posted the better ones here with brief annotations for anyone who was at the event. Most of the time I forgot I had the camera with me. (Whoops.)
Luckily I didn’t show up alone, so the nervousness and “I don’t belong here” feeling that I was bracing for was diminished. Afterwards, though, came a sort of melancholy that I did not expect, a vague emotional conflict between the few folks I’ll see again and the larger number that I probably won’t. Five minutes of conversation over drinks is not an adequate way to catch up on 10 years. Truthfully, I share more in common with some of them now than I do the people I see on a more regular basis. All Sunday I found myself thinking about it, and just sort of marveling at how our lives diverge and then criss-cross again, and how that same web is played out on a larger scale for everyone we meet.
The private park behind our house is owned by a local church, and they aren’t afraid to spend money on fireworks every year. Last week was probably the best show yet. We brought some chairs out to the sidewalk to get a good view over our trees. Our neighbors were doing hotdogs and marshmallows in their front yard and also provided sparklers. Fun times.
I took some cheap video with my digital camera. Some frames from it are below. It was so close overhead that the paper remnants from the fireworks were falling in the street and in the yard.
Yesterday I finally arrived back in Austin after 8 days in California. Last weekend started off with a trip to Los Angeles, where I met up with my old friend Justin and attended “2D Expo”, a conference sponsored by ASIFA-Hollywood for traditional animators. The conference was great, and I left feeling pretty energized. There is an opportunity right now for traditional animation to leave its Disney roots and break new ground. I met some great people and had fun talking about the industry and what comes next. Hope to be back to the LA area one of these days.
On Sunday morning, Justin picked me up from Burbank and we drove north on highway 1, which hugs the coastline all the way to San Francisco. We stopped at a few random scenic points, a nice restaurant overlooking the water, and at Big Sur. A healthy couple mile walk through Chinatown and dinner at Fisherman’s Wharf rounded out the evening.
Monday through Friday was Apple’s World Wide Developer Conference. At work we sent 5 people, so we had pretty good coverage of all the interesting sessions. As usual the keynote was not to be missed. I’ve yet to see a Steve Jobs' demo that wasn’t effective. The first time I saw him was the Macworld Expo after he came back to Apple (but before he took over), and he even managed to make a NeXTSTEP demo look impressive. Contrary to what many people believed at the introduction to Mac OS X, Apple’s new OS is not just NeXT-based; it’s about a third NeXT, a third classic Mac OS, and a third something entirely new. That last third really shines in Tiger.
I’ve routinely been working past midnight the last couple of weeks as we make a final push to get our software finished. Although it’s just coincidence that we usually ship right before WWDC, it reminds me of the old days of trying to get betas ready to demo before Macworld Expo or one of the other yearly conferences.
I took a break from that on Sunday, my third Father’s Day. Big breakfast with the family, mowing the lawn with some iPod tunes, putting together a baby crib, lunch, then headed down to the Austin Sketch Group meeting and talked animated films and art while sipping a chocolate coffee drink which had entirely too much caffeine in it. Bob Sabiston came by to recruit folks for Richard Linklater’s upcoming film, A Scanner Darkly (based on the Philip K. Dick book). It will employ the same rotoscope technique used for Waking Life, but perhaps favoring a more consistent style rather than the individual inventiveness of that previous film. Should be fun to see the result, and in the wake of Shrek 2 box office numbers it’s good to see some investment in creative, lower-budget animated films.
I can’t say that I’m a big comic book person anymore, at least not the way I was as a kid, eagerly awaiting the weekly shipment of comics to the local shop. Recently I’ve read books like Understanding Comics that helped awaken my appreciation for the form. There are some good things happening in the comics world, too, especially from independent artists. The Internet is changing distribution and how artists connect with readers, of course.
My friend John Rubio is one of 10 finalists in the Comic Book Idol competition. His first submission was knocked out in just a few days, but it’s a quality, finished piece. Voting is once a week (starting now) for 24 hours only. Go read some free 3-page comics, then register and vote.
Last week Apple released the Apple Software Design Guidelines document. I’ve only just skimmed it, but it looks like the best document from Apple in years.
Take this little bit of advice:
Well, yeah. Finally some solid, practical recommendations from Apple that take into account the whole system, not a narrow set of APIs.
A couple of years ago I read the Microsoft article “Inductive User Interface Guidelines”. The principles from the document showed up extensively in Windows XP and will be even more prevalent in Longhorn as Microsoft attempts to cloud the difference between web and traditional applications. It struck me as an interesting approach, one that clearly has benefits for some types of users and some applications. I wrote about it a little last year in a post called “Inductive vs rich user interface design”.
Now take that feedback in the context of this article from AskTog:
Apple has almost completely ignored the user interface principles that Microsoft is pushing. Here’s a quote from the new Apple design guidelines document:
The Apple document doesn’t contain anything “new”, but it’s a great set of principles and suggestions gathered from other sources and put in a succinct format. The new Apple is not without it’s recent user interface stumbles, but it’s nice to know that overall they have the best grasp of the big design picture that they’ve ever had.
If you’d have asked me last week whether I would see Raising Helen on opening night, I’d have given you a puzzled look and maybe said something about looking forward to Harry Potter. But that was before I realized that the short film Lorenzo will be shown before that new Kate Hudson flick.
Lorenzo makes extensive use of computers but is still a traditionally animated film. I was immediately captured by the visuals of this film since I first saw stills and clips from it. In the age of Pepsi commercials, trailers, and “The Twenty”, theatrical short films are all but dead. I jump at the chance to see one, especially one as visually innovative as Lorenzo.
A technical summary of the animation process for Lorenzo can be found in this PDF from a Siggraph lecture. Also check out this article from VFXWorld.
I’m listening to track 3 of the Finding Nemo soundtrack on repeat. Something very soothing about that opening music.
I finally got to watch the Triplets of Belleville DVD special features, and I only wish there was more (full director’s commentary would be nice). When I left the theater last month, there was no question in my mind but that Sylvain Chomet in a brilliant artist and director. The death of 2d animation in Hollywood is a blessing in disguise. Small, modest-budget, completely artist-driven productions could flourish right now. New and different stories could be successful in a way that was impossible when Disney owned the screen in the 1990s.
From an AnimWatch interview with Evgeni Tomov, the Triplets of Belleville art director:
Think big and keep drawing.
Mason Hale of frog design started a weblog last week, and already he’s got some great posts and discussion. Mason and I worked together around 1995. You know, back when the Internet was still fun.
At the time, Mason had been building a CGI framework inside Frontier. This coincided with Frontier’s time as a free application and helped jump start Dave Winer’s push to build Internet-related applications around Frontier. I built a number of web applications in Frontier, wrote some cool un-shipped software that used an embedded Frontier database, and even helped host and maintain the Frontier-Talk mailing list for a time. After a few years, Frontier and I went our separate ways. (Bonus in the previous link: The web server plug-in mentioned in the slides from 1996 was called Rendezvous.)
Yesterday Dave Winer announced that the Frontier kernel’s source code will be released for the first time. This is a really interesting move and, like all good ideas, probably could have had more of an impact if done earlier. AppleScript dominates desktop automation now, but a focused set of Frontier tools could still be very useful. I don’t think this effort will fizzle like the MacBird release did, in part because Frontier is already Carbonized (see Brent’s comments about that) and in use by developers.
Mason and I still bump into each other every once in a while, but now it’s more as parents than as geeks. To Dave, Mason, Brent, Wes, and everyone else that contributed to Frontier’s history: congrats.
Not 5 minutes after I posted yesterday’s iTunes piece, Ryan tells me I’m asking for too much. “My fear is that too many features will render iTunes a useless and unusable app,” he writes, and he’s absolutely right to be concerned.
I will admit that my list contains some less-than-great ideas, only loosely organized around the idea of discovering new music (something I’ve been trying to do lately). I do think RSS support would be interesting, though, because it would allow iMix-like functionality but distributed across anyone’s web site and created using any software.
The important point, I guess, is that iTunes still has room to grow, and that’s not by accident. Smart Playlists and Party Shuffle are two examples of great features that fit well inside the existing interface.
Update: Kathleen wants something similar with RSS, but sort of the other way around: RSS generated from the published iMixes.
It’s no secret that iTunes is one of Apple’s best apps. Of all the iApps, iTunes remains the only one I have no critical feature requests for. With version 4.5, Apple adds to what was already a solid app, and they continue to do so in a way that fits well inside the two foundation pieces they’ve created: the basic music library interface and the iTunes Music Store.
I noticed the other day that they now have trailers and music videos inside of iTunes. The investment they made in the old trailers site was initially just to showcase QuickTime, but it ties perfectly in with the store soundtrack collection.
So what’s next? Here are some more random ideas for the iTunes platform:
In “What if Mail.app were like iTunes?”, Rui Carmo rattles off a dozen features that would be nice in Mail, but he only hints at the real question. What makes iTunes such a great app? Clearly some of it is interface design. Then there’s the incredible speed, which also affects usability. iTunes is the only iApp still written in Carbon, is that a relevant distinction? Does iTunes (because of the music store and iPod) simply get more resources within Apple? Maybe. But even with all of these things, you can’t continue to build and ship a great app without a smart team and tight integration between related groups (UI, WebObjects, etc), and ultimately I think that’s what makes any product a success.
I can’t wait to see what the iTunes folks come up with for 5.0.
There has been a fascinating discussion among information architects and web designers about the usefulness of breadcrumb trails. Mark Hurst of Good Experience talks about the page paradigm, Peter Merholz mostly disagrees, and Christine Wodtke offers her two cents. Here’s part of what Steve Krug had to say about the topic in his book, “Don’t Make Me Think”:
“Don’t get my wrong. Done right, Breadcrumbs are self-explanatory, they don’t take up much room, and they provide a convenient, consistent way to do two of the things you need to do most often: back up a level or go Home.”
Mark might argue that “back up a level” is more often accomplished with the browser’s back button, eliminating one of the points above. (Although the book actually has a whole chapter on this stuff, to be fair to Mr. Krug.)
Yesterday, Andrei Herasimchuk wrote that navigation doesn’t actually exist. Instead, he argues, there are only ways of finding things, and some of them have nothing to do with conveying the user’s position. He does a good job of framing the different needs of large collections of web pages vs. web applications. Clearly there is a “where am I” to hierarchical sets of data. Users feel as if they are moving between pages that have relationships, and making those relationships clear in the interface (via category lists or breadcrumb trials) minimizes how much the user is required to think about where they are, and how to get someplace else.
Amazon, on the other hand, is a web application. While there are clear navigation elements (browsing category pages, or using the primary navigation to jump between books and DVDs), most of the time the user doesn’t get lost because they aren’t moving. Instead of saying “I am on the search results page”, they might say “I am searching for a book”. The experience is dominated with tasks: “I’m adding something to my shopping cart”, “I’m buying this book”, “I’m changing my credit card information.”
Or maybe they are just randomly clicking on featured products. It all feels effortless to the user because Amazon has done such a great job with their search and recommendation system.
Brenda Laurel gave an interesting keynote address at SXSW Interactive this year, one which I have trouble summarizing in any meaningful way, and thankfully has nothing to do with this discussion. But a dozen years earlier, she edited a compilation of essays on user interface design from the perspective of the teams at Apple. The book is called “The Art of Human-Computer Interface Design”, and one essay by Abigail Sellen and Anne Nicol hits to the heart of this issue of navigation. Here’s a snippet:
A few loosely connected weblog posts I read today…
John Gruber, “Ronco Spray-On Usability”:
isn’t just a little bit of extra work. It’s not even twice the work. It’s an entire order of magnitude more work. Developing software with a good UI requires both aptitude and a lot of hard work.”
Rick Roe, “The Good, the Bad, and the Tog”:
Andre Torrez, “Even You Can Do It”:
Saw Eternal Sunlight for the Spotless Mind tonight. An incredibly great film. Then I wanted to order Beck’s song from the film soundtrack. I have an extra Pepsi bottle top that had been gathering dust in the kitchen for a couple weeks, but apparently the song isn’t on iTunes yet.
After two years of using Radio Userland, I decided to migrate this weblog to Movable Type. I wrote a UserTalk script to export my data for importing into Movable Type, and everything went about as well as could be expected. I’m making small tweaks to the design, and I added some category pages (still filing old posts in the appropriate categories, since that wasn’t preserved in the migration). Otherwise it’s the same site for now. I originally purchased Radio thinking I would customize it, having done a fair bit of Frontier programming back in the day. I haven’t had time, so for now I’ll give Movable Type a try.
The Six Apart folks have something interesting planned for weblog comments, sort of a single sign-on system with (presumably) a central user registration server. More information is up at TypeKey.com. It will be interesting to see how open their system is, and what other services could potentially be build on top of it.
The last day of SXSW tends to be less about substance and more about winding down after the long weekend and leaving on a positive note. In the morning I listened to Gabriel Jeffrey talk about his success with Group Hug. It was a fun session. He is also doing some interesting things with his weblog, such as linking each person’s name in the comments to a Wiki page. The other hilarious panel of the day was about online dating. The mix of backgrounds among the panelists made for a lively session, and with the tension between the panelists, topped off when Jonathon Abrams (Friendster) tried to hook up with fellow panelist Courtney Johnson (Tickle), you had to wonder if it was all an act. Somehow Lane Becker kept it all together.
The session by Jason Fried of 37signals was the exception to the above. For readers of their weblog, Signal vs. Noise, the content was familiar. It was a more formal presentation than their game show session from two years ago. I had to leave halfway through, but picked up good notes from Damon and the full slideshow is now online. Also check out the sample chapter from their new book.
Jason just posted some thoughts on the conference, specifically challenging the dominance of CSS and Web Standards this year.
I agree 100%, and it’s something I joked about in my last post. I made the point more fiercely in an early draft of my day 1 post, but ended up editing it out. I’m looking forward to reading the comments on Jason’s post, and the other blog posts that will fall out from it.
Weather changes. The first two days of SXSW were marked with light rain, but today was a beautiful day. Leaving the EFF party tonight, we saw lightning off in the distance. Now, as I write this back at my house, a thunderstorm is passing overhead. A hard rain fell. Lightning flashes and a lingering thunder echoes as it continues eastward.
Several very good sessions today, including an excellent afternoon session by Jeffrey Veen on user-centered design and the Adaptive Path process. The morning was back-to-back CSS panels. Nothing particularly new was discussed in those, but I found it interesting to hear how the different designers represented on the panel approach design.
Dave Shea: “We don’t care about usability.” He sees CSS as a way for designers to expand the possibilities of their work. (Witness Zen Garden.)
Doug Bowman: “CSS is beautiful.” Not just what the user sees but the structure and underlying code, and the craft that brings it all together. (Review slides.)
Jeffrey Zeldman wasn’t there, but he might as well have been. There is a great trick that modern web developers are playing. When justifying their work, they replace any mention of “CSS” with “Web Standards.” But wait – wasn’t HTML 3.2 and table-based layout a “web standard”? :-) Of course what they really mean is modern web standards, but this accidentally shorthand aids their cause tremendously, I think. And when I say their cause, I really mean our cause. (Resist bad browsers.)
One of the things I like about SXSW is that it’s a time to just think about new ideas without necessarily trying to relate them directly to a particular work project. When I take notes, I write down interesting quotes or concepts that the speakers are presenting, but I also intersperse my own opinions. It’s important to capture ideas at the time they spark, and today there were enough to fill a book. Instead of summarizing the day I will take some of the themes and work through them in later posts this week.
I should at least note that it was great to hear Joe Trippi speak, though. Ryan posted some photos from that session and the MoveOn.org keynote.
I almost skipped the accessibility panel but I’m glad I didn’t. As usual Jeffrey Veen did a great job of putting the current web practices into perspective with stories from the old school of web design. It used to be that every day was a battle with designers who were taking what they learned from the print or traditional multimedia worlds and trying to stamp it on to web design, whether it fit or not. But the new crop of designers look at building for the web as a craft. Veen says it’s about “designing for the web natively.” Exactly. He sees it now as a business case – that good design just tends to lead to degradable and accessible sites.
Ironically, just a year ago Veen shared the stage at SXSW with Kevin Lynch of Macromedia. Kevin was talking about rich Flash-based applications that often see the web as more of a networking infrastructure than a platform in its own right. Now we see other pieces of Macromedia’s strategy: their Central product by-passes the web browser entirely. Granted, they are doing some very interesting stuff, but it’s not entirely relevant to designing for the web. The new reality of web development that Veen spoke about is that designers are embracing what the web is about rather than fighting against it or trying to control it.
The next panel continued the accessibility discussion. James Craig brought up Veen’s “Business Value of Web Standards” essay, and Jim Allan mentioned the needs of Palm devices as another business case to help sell accessibility standards.
And then there’s usability. Why is it that many standards-based and accessible web sites are more usable than others? I think there are two reasons.
First, adhering to standards is not just conforming to the specification but also following the recommendation of those standards. For example, use the alt attribute on images to specify a text version. But as Jim Allan said in the session, “you can’t just blindly follow the guidelines.” The second part is the education of this new class of web people. What tools do they use? BBEdit and HomeSite. They are hand-coding this stuff which means they’ve built dozens or hundreds of web sites. You have to build up a level of experience with what works and what doesn’t to make progress on usability, and you have to be a veteran web user to know the existing best practices.
After dinner we went to the Frog party, where I met up with Mason Hale and even ran into Carl de Cordova, who was a co-founder of WebEdge, the Mac web developers conference I was a part of years ago. I have a bunch of old photos and archives of the old WebEdge site that I should post one of these days (the domain was unfortunately taken over by a car company). Also met Dan Cederholm, chatted with Eli Pariser of MoveOn.org, and received the Jakob Nielsen playing card (collect all 8) from the OK/Cancel folks. A good day.
SXSW Interactive officially begins tomorrow. I met with Ryan and Damon this afternoon to discuss the design for a project at work, eat lots of food, and finish round 2 of my effort to convince Ryan that fixed-width layouts are usually a bad thing. Light rain fell as we made the short walk over to the convention center with Sam Ruby, who has a session on Wikis this Sunday. Lane Becker is also on the panel, so it should be an interesting one. (At least I think they are on the panel. The PDF schedules don’t list either one of them.)
Other sessions that look good:
I started reading the electronic version of Eastern Standard Tribe. Hoping to get through some of it by SXSW and pick up a hard-copy there. I’ve also been reviewing my Cocoa books, since I’ve been porting the user interface of an application to Cocoa (still lots of Carbon and cross-platform C++ underneath). More on all that some other time.
For now, here are two somewhat contrasting quotes from the authors of those books, on file format standards:
James Duncan Davidson: “I’m pretty sure that I’ll always be able to open a PDF file.”
Cory Doctorow: “ASCII is the new PDF!”
Today marks the two year anniversary of this weblog. It’s been a good experience, and even if the content is not always fresh it’s still a worthwhile endeavor and will continue. Expect the posts to ramp up to at least one a day through SXSW this weekend. Here’s the post from one year ago, also during SXSW.
It’s also voting day here in Texas. On the one hand it will be annoying to vote after the Democratic nomination has already been wrapped up, but on the other hand I’m not voting for a candidate so much as an idea. We can do better.
The weather was perfect today for the Zilker Kite Festival. It’s really incredible to see hundreds of kites flying overhead as you walk around. Homemade kites, children’s kites, giant kites, colorful kites. Kites shaped like cats, boats, dragons, snakes.
We arrived late in the afternoon, so we missed most of the contest portion of the event except for the “largest kite” category. If you ever thought flying a kite was easy, try one which requires more than one people holding the rope, with their heels dug into the ground just to keep from being lifted into the air.
Happy flying!
Happy leap day.
I was a little surprised that Finding Nemo wasn’t nominated for the Best Picture Oscar this year. Clearly it was the most successful movie of the year, also a huge audience favorite, and arguably a near-perfect film execution. But it was a comedy.
It is likely to win in the Animated Feature category. If last year’s Spirited Away win is any indication of what the Academy is looking for, Triplets of Belleville also stands a chance. I’ve been eagerly awaiting that film for over a year and it has finally arrived in Austin.
In the animated short film category it could be either Pixar’s Boundin’ or Destino, perhaps Roy Disney’s last mark on the Disney studio.
Other films I’m rooting for include Lost in Translation and Whale Rider.
Related old news, Pixar and Disney talks end:
This is the best thing for Pixar. I’m not the only one who has said that Pixar is the new Disney — what Disney was during their golden years, when story mattered more than focus groups. Disney has stumbled before and come back, but it could be years before they can recover from killing off their 2d division.
It snowed a week ago, and I’m just now getting the pictures off my camera. Real snow, the first I can remember here in at least 15 years. I was up Friday until 2am as the snow began to fall, so beautiful in the night. By the next afternoon most had already melted, but here’s a picture out our back yard that morning.
I’ve written a few posts about technology, and about the upcoming Oscars, but I can’t bring myself to post them. They seem so insignificant compared to the political process in front of us.
The Democratic Party has lost its way. I’ve never been more disillusioned with government and the people’s power to effect change for our common good than I am right now.
Congress has failed us. We need someone with real backbone in the November election, someone who can bring this party back on track. That person is not John Kerry.
I’ve never given money to a politician before, but I did last week. I’ve never written letters to undecided voters in another state urging them to support a candidate, but I did last night. I’ve never made the leap from disgruntled voter to political activist, but I am right now.
Say what you think, believe what you say, fight for what must be done.
I have no idea what will happen in New Hampshire tomorrow. The media slammed Dean all last week, but it’s clear if you pay attention to the polls and the turnout for Dean’s events that the winds are shifting again. People are coming back to Dean. If he had another week I’d say he’d come away with the win in New Hampshire, and the momentum to have a strong showing in the next batch of states. With just one day left… who knows.
I thought a lot about how I should deal with politics on this weblog. Many bloggers who I respect have chosen to keep their opinions to themselves. I was going to do the same, and the few political posts I’ve made to this blog over the last year I’ve kept non-partisan.
But the last week I have been completely obsessed with the post-Iowa coverage, and I can’t see myself continuing to think and write about this election without being clear in who I support.
Howard Dean is the real deal. The other candidates are above average, but Dean is the most honest, has great accomplishments to show as governor of Vermont, and is the strongest candidate to face Bush. When Dean speaks it really resonates with people, gives them hope for this county. Despite the loss in Iowa, his grassroots campaign is impressive, with average contributions less than $100, and hundreds of volunteers traveling from other states to help the campaign. I still believe that the way he can win in November is by exciting new voters and getting Democrats and Independents (and Republicans?) to turn out in record numbers.
I subscribe to the other main candidates' weblogs as well. Dave Winer criticized the Dean weblog for not going far enough, but the other weblogs are much worse. They are updated infrequently and usually lack any personal touch. John Edwards doesn’t even provide summaries in his RSS feed. But the topper is this headline from Kerry’s weblog yesterday morning, where they misspell “bloggers”. Oops.
Sure, that’s a silly criticism. It was clearly just a typo, and actually the Kerry weblog has improved considerably over the last week. But it’s funny because it plays into an assumption that Dean is the only campaign that really gets the technology of this election. Which, from my experience, is true.
Online activism will be huge this year. The power of MoveOn.org and the Dean Meetup is in providing a channel for ordinary Americans to effect an election instead of sitting at home grumbling that “there’s nothing I can do.” It’s about bringing more people into the process. But to do that right, we need a candidate who can speak passionately to the issues and inspire voters. That’s Dean.
I was watching C-Span.org’s live broadcast from the Iowa caucus in Dubuque County. Watching online because my cable went out today (“a fiber line was cut”). It’s laughing at me because we’re keeping cable primarily to watch the campaign!
This caucus is one of the most fascinating things I’ve ever witnessed. It’s funny, really – an elaborate game with some politics thrown in for good measure. People are making arguments trying to get people to change sides. Organizers are running around with calculators doing the math to determine total delegates for each candidate.
Peter Jennings just came on ABC with a brief message that entrance polls suggest Kerry with the win and Dean/Edwards close for second.
Checked the CNN web site which showed Kerry with 37%, Edwards with 33%, and Dean with just 18%.
The C-Span coverage for Dubuque precinct 20 wrapped up with 6 delegates for Kerry, 3 for Edwards, 2 for Dean, and none for others. Wow.
The last few days I’ve subscribed to the main Dean blog, the BloggerStorm blog, and Dave Winer’s new Channel Dean. Plus the Edwards blog and a handful of other news sources. The flow of information coming in from the ground in Iowa is amazing. I think the talk of how blogs are changing news reporting is even more of a reality for an event like this. First-person blogger accounts of news as it happens is only a small part of the full picture, but it’s a really interesting one. For this race you have hundreds of bloggers, and together there is the potential to not just see all the interesting personal accounts but also to see the trends across all the posts from different bloggers.
I’m not sure where the Kerry win is coming from, but I’m sure it will be analyzed to death until New Hampshire votes.
I think I do some of my best work when we first start development on a project. No one is paying particular attention, the user interface is flexible, and bugs are inevitable and okay. As we get closer to shipping I always slow down and am hesitant to make major changes. At that point it’s all about testing and cleaning out any quirks in the final product. But right now I have no problems ripping up the code and trying new things.
So the last few weeks I’ve been very productive. That is, I was until GarageBand arrived today.
I like Jakob Nielsen. He was practically the lone voice of reason when Flash web sites, splash pages, and graphics-heavy design seemed poised to take over the Internet and render it useless.
But lately I’ve been ignoring his Alertbox columns. This quote from one of his latest really annoyed me:
Really? Late at night, eh? It’s bad enough that programmers are writing email copy, but when they do it late at night… Whew.
Meanwhile, some good UI observations on Sun’s Java Desktop from Buzz Andersen:
And this is what I had to say in a comment on his post:
“And I agree with Jon — the mouse is not the right device to interact in 3d space anyway.
“Expose works so well because it actually solves a real problem (managing too many open windows). Sun appears to be reinventing things that already have good solutions (e.g. iTunes live search).”
Another comment on Buzz Andersen’s site connects this all back to Jakob Nielsen. In The Anti-Mac Interface, Nielsen and Don Gentner outline how tempting it can be to get lost in the metaphor-ness of interface design.
But the main layer of problems with Sun’s 3d experiment is something that Nielsen has hit upon many times, the most famous being his Flash 99% Bad article: that increasing eye-candy often decreases usability. I’m also reminded of the HotSauce experiment that R.V. Guha developed at Apple to show off MCF, a predecessor to RDF. In hindsight, is “flying” a web site really such a great idea?
Don’t answer that. I’ll leave the MCF trip down memory lane for another day.
The way I blog, I gather bits of news stories or other blog posts and write up an opinion on them for later blogging. Then when I feel like posting something, I go through the queue of things I’ve written and pick one out, or take several related stories and put them together. I used to use BBEdit for this. Then I started using NetNewsWire’s notepad. Lately I’ve been trying out VoodooPad. The interesting thing about this approach is that I end up writing about a lot of things that never get published. After a certain period of time they are no longer relevant or interesting.
For this last post of 2003, I went through the queue of a dozen or more recent things I could blog about. This thoughtful article about Calvin and Hobbes and creator Bill Watterson stood out:
So I guess maybe the advice for the new year is to stay true to what you are doing. Focus on the real problem and don’t compromise your vision for the wrong reasons.
Happy new year.
I’m blogging this so it will be indexed by the great search engine in the sky, and perhaps save some Mac programmer out there a little time. The new control drag-and-drop Carbon Events are only partially documented. In addition to returning noErr from your kEventControlDragEnter Carbon Event, you need to set the kEventParamControlLikesDrag parameter to true if you want to receive the drag. Unfortunately this constant is missing from the headers. The correct value is: ‘cldg’.
Your code should look something like this:
SetEventParameter (inEvent, ‘cldg’ /kEventParamControlLikesDrag/, typeBoolean, sizeof(Boolean), &t);
These new events were introduced in Mac OS X 10.2, and they are quite convenient. Happy coding.
After SXSW earlier this year, I posted that Tantek wanted a way to add meaning to blogrolls, something with less complexity than FOAF. Apparently he and others have been churning away at this idea since then, and the resulting specification is called XHTML Friends Network (XFM). It’s refreshingly simple.
P.S. Happy holidays, everyone. Enjoy the weekend.
NetNewsWire 1.0.7 adds support for the feed protocol. Wes has suggested that MIME types and helper apps are the correct way to handle this, but modern browsers seem to have practically given up on good integration between MIME types and other apps.
I took a few minutes to read the feed protocol specification. It needs a little refinement, particularly the part about extensions (sending commands and parameters with the URL). For feed URLs with no commands, I don’t like that feed://http://example.org/rss.xml is the same as feed:example.org/rss.xml, but if you introduce a command, the real protocol (“http” or “ftp”) seems to be required. The “how to process a feed URL” section continues this confusing by saying that the real part of a URL is denoted by either “:” or “.”, but all the examples always include “http://”, which implies that feed://command/example.org/rss.xml would not be valid. Even more confusing would be an example like feed://command/localhost/.
A minor gripe, perhaps. Anyway, we’ll see whether it catches on.
Another smart experiment with making subscription easier (or at least not as disconcerting for new users) is the work done by Jason Shellen to apply CSS to the Atom XML file. The addition of a proposed “info” element helps describe what the user is seeing.
Update: Brent points to Dare Obasanjo’s pre-draft feed URI spec. On first glance it appears to be a more formal but less complete spec (not necessarily a bad thing). Apparently this is a somewhat unorganized effort.
Doug of Stopdesign discusses fixed vs. liquid layouts in CSS:
It’s refreshing to hear him admit the advantage that table-based layouts still have. I would have expected CSS to be in a better state by now. Designers shouldn’t have to choose fixed-width layouts just because it’s easier.
Meanwhile, the <a href=“http://www.w3.org/TR/2003/WD-css3-page-20031218/
“>CSS Paged Media specifications (which I’d never heard of before) are nearing completion. Maybe CSS will fulfill its promise after all.
Apple still hasn’t fixed text drag-and-drop in Cocoa. In addition to going against how drag-and-drop has worked in previous versions of Mac OS for a decade, I believe it is based on a flawed concept. Has it seen any usability testing within Apple?
I guess the argument for this behavior goes something like this: Because selecting text is more common than drag-and-drop, dragging over a previously selected run of text should take precedence. If you really want to drag the text itself, merely hold the mouse down for a half-second after the click and then drag. Simple, right?
Not at all, for three reasons:
The first is easy enough. If you can drag most “things” (a file in the Finder, or a window, or an object in a graphic design application) by clicking and dragging right away, why should dragging selected text be any different?
And it’s slower not just because you have to click and hold, but because you have to think too much. How long do I hold? Half second? Full second? Us humans never know exactly, and it’s easy to make a mistake and get a selection when you wanted a drag.
To illustrate what I mean by the last reason, let’s go over how someone would learn to make selections and use text drag-and-drop.
The Cocoa way: User makes a selection. They want to drag that selection, but instead the app keeps making a new selection where they clicked. User tries a few more times, then gives up, thinking that the app doesn’t support dragging of text. They use copy-and-paste instead.
The Carbon and old Mac way: User makes a selection. They drag that selection and it works as expected. If they are a new user, they might try to make a selection inside an existing selection, but without meaning to drag it. In this case they get the wrong behavior – the text starts to drag and they are momentarily confused. The next time this happens, they realize that they should single-click to remove the selection before making a new one in the same run of text.
See the difference? With the original Mac drag-and-drop behavior, the user might make a mistake once but that process teaches them how selection and drag-and-drop works. With the Cocoa behavior, the user might never learn how text drag-and-drop works!
Luckily, Mac developers using Cocoa can override this behavior in their application (which speaks to the power of those frameworks), but I have yet to see an application that does.
Congratulations to James Duncan Davidson, whose Running Mac OS X Panther has gone to press just in time for him to enjoy the holidays. I had the opportunity to review the book, and it’s a solid achievement. He covers many topics that will be useful to new and long-time Mac OS X users alike. Even in the most basic chapters there was nuggets of goodness, little tricks that will make working with your system easier. I particularly like how he covers the command-line tool equivalents for many features, which makes the book a good resource to turn to later.
Mike Clark has a fun review which will surely make the back cover. The official web site is also now up.
I’ve been digging back into comics lately, hence some of the comic-related posts. One of the things that fascinates me is the abundance of great web comics out there. Tons of artists who haven’t quite found the right business model, but are producing incredible stuff anyway.
Chad Townsend pointed me to Kazu’s work at BoltCity.com. His latest there is a quality monthly one-page comic called Copper.
I went shopping in the real world the other day, and came back with the Adventures of Mia, by Pixar story Enrico Casorosa; The Red Star, colored by Animation Nation member Snakebite; and a few issues of Bone, the award-winner from Jeff Smith.
What will the future hold for independent comic artists? Who knows. Here’s a semi-related excerpt from a Dave Sim speech from 1993:
Over a decade ago I bought most of Todd McFarlane’s Spidey comics, as well as the first few issues of Spawn. Fast-forward to today: Spawn is drawn by someone else and McFarlane is a millionaire. And Dave Sim is a few months shy of wrapping up the entire 300 issue run of his independent comic, Cerebus. (He started 26 years ago.)
I’ve come to enjoy the yearly tradition of putting up Christmas lights: balancing on a wobbly ladder, hanging over the side of the roof, and searching for that elusive burned-out mini-bulb. This year we put our lights up in record time, before the sun set on the eve of December 1st. Ah, the holidays.
(Not a great photo above. I was trying to capture the lights on the bird feeder.)
The New York Times covers Roy Disney’s resignation:
Animated-News.com has a reprint of the full letter to Eisner and the board:
Big news. It’s a shame that Roy is the one to leave. It’s clear that Disney (the company) has lost its way, and Eisner has no vision for what the company could be.
While looking for something else the other day, I ran across this Apple technote. I think it illustrates quite nicely the kind of sacrifices that were made to put Mac OS on top of unix. In the end the rewards are worth it, but the way volumes are handled is a step backwards. Seems like they could have created a small root partition, just for links to standard unix directories (usr, lib, etc), and mounted volumes in their own directories /My hard drive, /My apps, etc. This “/Volumes” business is silly. It’s another example of the fragility of the new system.
We used to brag that you could rename your System Folder and the Mac would still boot. Those days are long gone.
Related: John Siracusa reviews Panther.
The Austin Chronicle profiles HorseBack Salad Entertainment:
I first saw their name when the Question Authority interactive game showed before the Matrix at the Alamo Drafthouse. It was immediately obvious that these guys had talent, with some traditional animation know-how that is absent from a lot of online content.
It’s been a few years since Scott McCloud’s Reinventing Comics was published. In that time, a couple digital cash companies have probably closed their doors, and thousands of web comics have been created by artists with little expectation of even covering their costs.
Peppercoin is the latest company trying to solve this problem (not just for web comics, but for any small purchase, such as music downloads). An article on Technology Review covers the details, and I have to admit it’s a pretty clever idea:
But it still requires the user to install new software. The content will have to be extremely compelling for people to install new software they’ve never heard of just to access it. Even BitPass, a competing service just getting started, is completely browser based. As is PayPal, for that matter.
Meanwhile, we recently resubscribed to the local paper. (You know, the physical one that shows up on our driveway every morning.) Imagine my surprise that the comics section is now a full one-and-a-half pages, not just the one page when I was growing up. Now that’s progress.
Something interesting is going on with VoodooPad, winner of O’Reilly’s Mac OS X Innovators Content. It’s the best front-end to a Wiki I’ve seen, but more than that, the implementation for talking to servers is XML-RPC based and open (overview and more documentation).
The API is simple, and you could probably use it as a front-end for other custom content-management systems, not just Wiki. But it is yet another API. I wonder if they considered building off of one of the existing weblog APIs, or the Atom project.
I’m going to give VoodooPad a try for general purpose note taking. I’ve always liked the idea of a Wiki but have never been able to successfully use one for anything meaningful.
My new G5 arrived last week. This machine replaces (supplements) my old TiBook, which was really showing signs of age even with Panther. It is an understatement to say the G5 is a fast machine, and it makes programming a joy again.
Of all the machines in my office now, the new G5 most resembles another machine I got just a few months ago: an old Power Mac 9600. That machine was a monster in its day too. As a Linux server, it does the job quite nicely. I finally finished migrated this site and email to it last night. (If you’re wondering why I would move this site to such an old machine, I should point out that this site used to run on a Power Mac 7600, even more ancient and running an extremely old Linux Kernel. Both run Yellow Dog Linux.)
In the process I learned something valuable: Webmin is your friend. I had heard of this web-based unix administration suite years ago, but finally tried it yesterday. I configured a bunch of stuff that I didn’t know how to touch before now. I like the power of the command line, but using Webmin probably shaved two hours off of what I was doing. The only real problem I ran into was with Postfix, and I had to do a little troubleshooting with netstat and friends. Overall the migration went very well.
After visiting family in Louisiana last week (wait, 2 weeks ago), we took a trip to New York City for a few days vacation. It was great New York City weather: cold, and a little rain one night. We did the usual tourist sites, Broadway show, and walks in Central Park. We covered the city on foot, by taxi, and in the subway. All great experiences, and even though I’m back at home I catch myself jaywalking. Oops.
The night we arrived, Al Franken was signing books. I finished his “Liars” book a few nights ago. It’s mostly good stuff, and I found myself laughing out loud at 1am, trying not to wake the sleeping three-year-old next to me. But there’s a darker side too. There’s only so much “funny” you can put in September 11, and he puts very little.
Of course ripping apart conservative talking heads is fine, but the problem is not just with the right. Cable news in general has spiraled down into so much sensationalist garbage that there’s little or no time for real journalism. Even so, most of Franken’s arguments are pretty dead-on and well researched. (Disclaimer: I don’t actually have cable anymore, so what do I know.)
One of the unfunny chapters is a moving description of the memorial service for his friend, Senator Paul Wellstone. Now Al Franken is contemplating a run for senator in Minnesota:
Some people look to 2004 and ask, “How can a Democrat hope to win against Bush?” But this president’s credibility has been weakened, and the uphill battle right now is his. Wait to see the turnout on election day. Democrats hate this guy, maybe even more than many Republicans hated Clinton.
Semi-related: George Soros gives $5 million to MoveOn.org, attacks Bush.
(Don’t worry, politically-themed posts to this blog will be very rare.)
Earlier this week, the brand new English dub of Hayao Miyazaki’s Porco Rosso was screened at the Paramount Theater as part of the Austin Film Festival. I bought a full pass to the festival to make sure I wouldn’t get cheated out of seeing this film, and I thought I could catch a few other films and the pass would pay for itself. No luck, I haven’t made the time to see any other films. But who cares. This is Miyazaki for crying out loud, and the only chance to see it on the big screen before it hits DVD next year.
As John Lasseter said on some of the Miyazaki’s DVDs: “You are lucky. You get to see (insert great film here).”
The film was fantastic, and the audience loved it. Funnier than his other films, but also with that sincere Miyazaki touch – beautiful sky scenes, not afraid to pause and appreciate a moment.
Cindy and Donald Hewitt answered questions afterwards. They did the English dialogue for Porco Rosso and also for last year’s Academy Award winning Spirited Away. Sounds like they enjoy working on these films, even though they have a short time to get the screenplay done (2-3 weeks). They are also playing a bigger role in directing the voice actors.
To see how potential voice actors will fit the part, they use Final Cut Pro to take audio clips from other movies and play it over the animation. When working on the English version, they just practice the dialogue while watching the movie, trying to get the lip sync right (lots of rewinding). They use the direct translation and also other existing dubs as a guide.
Miyazaki’s next film, currently in production, is Howl’s Moving Castle.
Today: Apple and Pepsi to Give Away 100 Million Free Songs
Two decades ago, Steve Jobs to John Scully of Pepsi:
My copy of the Rustboy book arrived the other day. It is an incredible achievement, one of the best “making of” books I’ve seen. Like the upcoming film, it was put together by one guy, a Mac with off-the-shelf software, and some good design sense.
Much of the book contents can also be found on the main Rustboy web site, but there is new stuff in the book too, plus some great insight. And hey, it even comes with 3d glasses.
I only hope that he can finish the film itself relatively soon. Yesterday I caught myself saying that he would never finish it at this rate, or that it would take 5 years, but the truth is that I can see it being completed in another year or two. My only concern is that the story might not be strong enough to engage an audience for 25 minutes, but his work is beautiful so it hardly matters. And he has been such a perfectionist up to this point, it’s better to give him the benefit of the doubt.
Paul Graham’s Hackers and Painters essay surprised me. I put off reading it for months, because I assumed I knew what it was about – that programmers are artists, that their work today is just as important an art form as that of painters during the Renaissance. And sure, there’s some of that in there, but that’s not really the point at all. By looking for patterns between two seemingly unrelated subjects, Paul attempts to better understand the strengths or weaknesses of different approaches to programming. In the process I think he also defines what a hacker is – a tinkerer, a designer, but also someone who jumps in and starts coding. Not all programming projects should be tackled this way, and that’s fine too.
The human figure is complicated and beautiful and impossibly hard to draw well. If you can master it, the quality of the rest of your work will improve. When I have time, I go to an open life drawing session on Saturday mornings to practice. I don’t have anything recent scanned in yet, but here is some stuff from a few years ago (nudity).
For some people, drawings appear to just flow off their pencil. They’ve also usually been carrying a sketchbook their whole life. For others, it is a constant struggle to improve their drawing skills. When I was young, I fell into the former category. But right now, it’s work, and I think it will take drawing regularly for a few more years for it to become easier. On the other hand, fighting over a drawing or piece of animation (and winning) is good too.
Richard Williams, animation director for Roger Rabbit and author of the excellent Animator’s Survival Kit, writes:
Kelly is an animation student beginning her second year at CalArts, and writes one of a handful of LiveJournal weblogs that I’ve run across. I think she would agree with Williams, but she says it as only a passionate student artist can.
Most people who know me know that I’m a big fan of animation. There’s a great potential in animation to create stories and characters that move the audience in ways that are impossible in live-action. Many considered it the art form of the 20th century, but in the aftermath of Saturday morning cartoons and outsourcing to cheap labour in Asia, it is rare that audiences get a glimpse of what animation can do.
In addition to being a fan, I’m also something of an animator by night, working on a short traditionally animated film. I’ve been working on it for about a year, a few hours a week, in the evenings when time permits. (Often, it hasn’t.)
Lately I’ve found myself talking about this more frequently, so it seems the right time to expand the coverage of this weblog to include some of the things I’m working on. Mainly as a chronicle that I can come back and read later.
Here’s a little sketch I made last night while doing thumbnails (a quick way to explore the key poses for a scene before animating). As I get further along with the film I will post some storyboards, production stills, and pencil tests.
TidBITS, iMovie 3 Tips and Gotchas:
I still wonder about performance sometimes. Why is iCal so slow anyway? And why is the rewritten-in-Cocoa iMovie 3 slower than iMovie 1 and 2? No doubt that it is design decisions more than the language or framework that makes an app slow. OmniOutliner and Keynote are two examples of fast Cocoa apps.
I spent several weeks last month working on Cocoa experiments – small test applications and new features in a Carbon application. It’s clear that the Cocoa framework is very powerful. If I started a new application from scratch I would probably use Cocoa, but for an existing Carbon application the choice is more difficult.
Look at apps like iTunes. It’s still all Carbon, even the new music store. Or Final Cut Pro. These are some of Apple’s best apps. Not to mention Photoshop and Illustrator. Why should I abandon Carbon if it produces apps like these?
And there’s something else: I trust the Carbon team at Apple. They know the Mac better than most – not just the APIs but what it takes to build solid apps, and what the essence of Mac UI is all about.
I need to think about this more. Contrary to my previous post, mixing Cocoa and Carbon windows in the same application is problematic. Window focus doesn’t always work correctly, and dealing with menu commands in two different ways complicates the app. A better approach would be to stick with one framework for the UI (Cocoa or HIToolbox), and mix-and-match Cocoa and Carbon as needed under the hood.
You always think that these are the kind of things that happen to other people, until it happens close to you. I went to the funeral service for Kali Sansone today, someone I saw practically everyday from kindergarten to 8th grade, but had not seen at all since.
Some people are lucky to live to an old age and have their accomplishments written about in history books, but for the rest of us, it’s about what we leave to the world through our children, and in those who remember us. Many people will remember and be inspired by Kali.
I don’t usually post this kind of personal stuff here, but I met up with some old friends and wanted to note that. If you’re Googling and find this site, send me an email. I’d be interesting in hearing about what you’ve been up to these last 12 years. :-)
Jeffrey Veen argues for the practical advantages of new web standards:
And, in tribute to HotWired and the old school of web design, I present a list of things I miss from when the web was young:
The series finale of Futurama aired last month. It was a great show that ended too soon (thanks Fox execs). I had only seen a handful of episodes until last month, when I rented the first season disc 1 on NetFlix. I had forgotten how great the show was, so I bought the first season box set and ordered season 2, which I’ve been enjoying since.
The commentaries on the DVDs are some of the best I’ve ever seen. Completely unscripted, funnier than the episodes themselves in many ways.
Now that Fox has pulled the plug on the series, Futurama is enjoying a popular run on Cartoon Network. The fanbase is there, and there could be a movie version some day. But chances of Cartoon Network funding new episodes seems pretty slim, given the cost of each episode. Producer David Cohen has done a few interviews lately, here’s one.
I guess anything’s possible, since apparently a Family Guy movie is in the works as well [via BoingBoing]. I never watched the television show, but it had a shorter run than Futurama yet strong DVD sales.
I just received my copy of Fragments in the mail. It’s a great collection of sketches and paintings by Pixar story artists Ronnie Del Carmen and Enrico Casarosa. (Pixar, for those not paying attention, is the new Disney – where artists control the process, and good storytelling still means something.)
There’s a shift occurring in the animation and comic world, a change that favors independent artists. Fragments is self-published. So are Michel Gagne’s popular books. The RustBoy book should be out by the end of the month, and all indications point to great sales that will help fund the film. Countless comic artists are publishing sketchbooks, or moving their comics online. The other piece of the puzzle is the technology: producing an independent short film at home has never been more possible, if you’re willing to put in the work to see it through to completion.
Why does this matter? It enables artists to create what they want, if the audience is there. And it provides a personal touch that big companies can’t match, such as this little cat sketch from the Fragments mailing package.
We saw Whale Rider last night, and I was pulled into it from the very beginning. There were few big surprises, but the story was moving, especially for all of us with daughters. It was told in a uniquely honest way that made the whole feel special. The scenes had a thoughtful timing and flow to them that really worked, and you could tell each shot was carefully composed. As Traci said as we left the theater, it was one of those rare films that you want to see again soon.
A new sketch group officially started up yesterday, led by local artist John Rubio. The first meeting was at Opal Divines. We passed around sketchbooks and discussed art, comics, animation, and how the digital world has effected independent artists. Some people brought laptops, some brought prints. Most everyone sketched.
Rick gave out copies of his comic book, Budget Strips; Justin had his Flash short films on his PowerBook; Ismael showed some framed prints inspired by doodles; and John and Jasun both had great sketchbooks. About a dozen people showed up, an incredible mix of talented artists. I’ve been trying to get in the habit of keeping a sketchbook and drawing more regularly, so it was a big inspiration.
John Gruber counters anti-Carbon arguments from Andrew Stone, again:
Apple’s original plan more or less boiled down to replacing the Mac OS with NextStep; Mac developers had the crazy idea that it should be replaced with a new version of the Mac OS. Apple listened, the plan was revised, and six years later, here we are.
Apparently, no one sent Stone the memo.
The good news is that most of this Carbon vs. Cocoa stuff has died down by now. Developers realize that there are strengths in both APIs.
Over the last few weeks I’ve been experimenting with adding Cocoa functionality to an entirely Carbon app. It turns out this is fairly straight forward. In fact the hardest part was making the move to mach-o and an application package. At that point you can drop NIB files in to the project, and mix and match Objective-C with C++. All using CodeWarrior.
The integration is mostly seamless. For example I have drag-and-drop working between a Data Browser control in a Carbon window and an NSTableView in a Cocoa windows. The Cocoa code knows nothing about the Carbon window and the Carbon code knows nothing about Pasteboards. Another surprise was menu integration: NSTextView properly enables and responds to menu items in my Carbon Edit menu!
I often subscribe to a weblog because I trust that person’s opinion on a certain subject. I know that they worked at a company I have respect for, or wrote software that I like, or created some art or film that is interesting.
But many go further than that. They open up another part of their life that in many ways is much more interesting. A great example of that is Jeffrey Veen. Forget web design, his posts on cycling have been great. He also blogs in a pattern that I have come to appreciate: infrequent posts but each one actually says something. Too many bloggers now post 10 times a day, and it’s all useless stuff. You have to read a week’s worth of garbage to get something insightful.
Here’s Veen on Pain and Cycling:
Friday night’s premiere of The Animation Show here in Austin was a lot of fun. An excellent collection of shorts. Many of them I had never heard of, and most I had never seen.
Afterwards Don Hertzfeldt and Mike Judge took some questions. Here are two quotes from Don:
Basically, he made two points on the purpose of the show:
Other points:
The big surprise in the program was the inclusion of Ward Kimball’s 1957 film, “Mars and Beyond.” Kimball, one of Disney’s Nine Old Men, passed away earlier this year.
Some more highlights (incomplete list):
The Animation Show web site now has a complete program list, and a schedule for cities the tour will hit over the next year.
I finished the fifth Harry Potter book last weekend. It was easily the best so far, and as usual a lot of fun to read.
Here are two pictures from the bookstore party last month. I picked up my copy at midnight with hundreds of other fans. I half expected a lot of crazies to show up, but it was all normal folks. Just people of all ages exciting about reading. A few dressed up. One woman let me take a picture of her Golden Snitch tattoo.
I guess I should go back to reading adult books now. Yawn.
I meant to blog every day from WWDC, but the network was just too flaky, and all my free time was spent coding. I wrote up a few things and will post them over the next week.
I hoped to feel rested, but I was drained after the conference was over. Slept on the plane back, and a big nap the next day trying to adjust. The church that owns the land behind our house put on an incredible fireworks show Sunday night. It lasted a good 30 minutes, and rivaled any city-sponsored fireworks I’ve seen. It was even bigger than the same event two years ago. We had just moved into our new house the previous day, and we sat on the back deck with a drink, staring at the sky above our house. It was a great welcome to the neighborhood.
John Gruber: “The elephant in the middle of the room, of course, is Apple Mail.”
For a while now I have regretted switching to Apple Mail. But this is not unusual, because I have regretted switching to every single email client I have tried since the Eudora days. Let’s face it – Eudora’s ugly, but it was a rock-solid app.
The first big mistake was moving to CyberDog. There was a lot to like about that app, and I was a big fan of OpenDoc, but even today I have a bunch of mail stuck in its proprietary formats. I need to boot into Mac OS 8 and extract that stuff one of these days.
Then I moved to Mailsmith. Unfortunately I lost mail due to corrupted databases. I have no idea how to get that stuff out. Even so, the 2.0 release sounds nice, and I’d be willing to give Mailsmith a another try. I’m stupid that way.
Back to Apple Mail. If you are ever confused enough to think it’s a great app, try this: delete a single email message in a folder containing 2-3 thousand emails. On my TiBook, the OS locks for a good 5+ seconds.
The saving grace of Apple Mail is that it is easy (presumably) to get out of it – they use standard unix mbox files for everything. Thank you Apple.
Now I’m at WWDC, and Steve Jobs just demoed the new Apple Mail. Pretty nice stuff, but no mention of performance. I’ll wait to dump Apple Mail until trying Panther, which I’ll install on an external drive sometime this week. Or maybe I’ll just get a G5 desktop and not worry about performance anymore.
It’s going to be a fun week.
I believe in traditional (2d) animation. But watching Nemo, for a moment I almost believed the hype – that 2d just can’t compete with 3d anymore. To remind myself that it’s not true I looked at the great drawings in the Art of Finding Nemo book, and remembered the fish sequence from the original Fantasia. Both mediums are appropriate for their own stories, and any great idea with strong characters can be embraced by audiences. You only have to look at last year’s successes Lilo & Stitch and Spirited Away as proof. The thing that makes Pixar great is the story artists and the hands-off management, not the render farm.
There will be great 2d films to come, and to be successful they will need to embrace what makes 2d special: drawings. It’s clear that Disney (the company) has never understood what Walt believed in. Jim Hill thinks that many top artists, rather than submit to 3d re-training, may leave to build a new traditional animation company, taking over the art form that Disney pioneered.
Don Bluth, tired of the cheap production process compared to the classic Disney films, left the company and took many senior animators with him. They made The Secret of Nihm, and then the financial successful An American Tail.
Although I don’t know the political climate at the studio, it is clear that there was a division among the animators, and Bluth left many young recruits behind. One of them, Glen Keane, is among the most respected animators in the business. He has supervised the characters Ariel, Beast, Alladin, Pocahontas, Tarzan, and Long John Silver. Now he wants to direct Rapunzel with charcoal animation, or 2d with 3d hair, but the project is being forced into an all-CG production.
Getting back to Jim Hill’s point, would Glen leave rather than make a completely CG film? Maybe not. Ironically, he worked closely with John Lasseter before Lasseter left for Pixar, and then closely with Eric Daniels on the computer/traditional hybrid Long John Silver in Treasure Planet.
Witold Riedel:
Happy Father’s Day!
Finding Nemo – about a father, among other things – set a new record for biggest animated film opening with $70 million, and another record for fastest animated film to $100 million. Now, in its third weekend, it is still the number one movie, and will likely pass $200 million total in a few days. Congratulations Pixar!
More on this subject tomorrow.
It’s appropriate that I’m in a coding frenzy for the next few weeks. WWDC e-ticket in hand, and at work we go GM on a major version of our software just a week before the conference.
This will be my fifth WWDC, and I think it will be a good one. It’s great to work for a company committed to this conference. Lots of mysterious TBA sessions, which probably means they will cover new Panther technology. Unfortunately the session map puts some of the good Carbon sessions on the last day. Every WWDC I have to wonder if Apple will fully support Carbon development.
The code I’m working on now will be the last for Mac OS 9. Since I use a custom C++ framework, we’ve been expanding it over the last few months. Wrappers for Carbon Timers, network transfer, and QuickTime. OS X-specific stuff, like sheets. More advanced UI controls, custom buttons, and a search box. A minimal toolbar class, which looks like the OS X toolbar at first glance, but works on OS 9 and doesn’t support customization.
When we finally say goodbye to OS 9, some of this code can be replaced. WWDC is a good turning point. Without worrying about shipping a product, I can dive into the new Carbon HIToolbox APIs. And Cocoa. Based on what Apple says at the conference I will decide whether moving to a hybrid Carbon/Cocoa app is the way to go.
It should be fun.
The Matrix double-feature last night was fun (thanks Damon). Five hours of movies and food, yikes. I enjoyed the movie, and my only complaint was when they started replacing Keanu with a CG character in some of the fight scenes. It started to look more like a video game then a film, but given the nature of the Matrix world, maybe that was the point.
Kottke was also annoyed by the effects: “The completely computer-generated effects (e.g. in the Neo vs. 100 Agent Smiths fight) looked, well, completely computer-generated.”
Before and between the features they screened 3 of the new Animatrix shorts. I had seen part of one online, but was waiting until the DVD came out so I could watch them all. Now I’m not so sure. I’ll probably still get the DVD, but I hope the subject matter in the other shorts is better than The Second Renaissance. Not that it was bad – it was brilliantly done, with a great blend of CG and hand-drawn – but it sure was a depressing little film. Sort of like Grave of the Fireflies: a beautiful and moving film, but not something I want to watch over and over.
IGN: Interviewing the Animatrix
At SXSW I told Mena Trott that RSS 1.0 was dead or dying, because it was too complicated. Turns out I was partially wrong – it’s very much alive, but perhaps only because it’s the default in Movable Type. Six Apart has signed up for the semantic web vision, and they are tool builders so they look for ways to make their products spit out semantic goodness.
I used to feel the same way. I wanted to build tools to help web designers use meta data effectively, provide meaningful structure to their site, put their template-driven pages in a database, and a whole host of other tricks that in 1995 seemed like noble work. I’m too tired for that now. I just want to use the web, and build good software, and do a few other things.
You reach a point where you no longer want to tinker with things that work. Could RSS 2.0 be better? Sure, but so could any number of standards. You need stability to build new tools on top of.
The RSS profile discussion on Sam Ruby’s blog makes me want to set fire to my computer. As do all the competing approaches for putting HTML into RSS.
Ben Trott chimes in with “RSS for Weblogs”. I still think there’s a division in the RSS community between people that want a simple format and people that want to evolve it, embracing RDF and a handful of upcoming weblog-related specs. As such, the battle for RSS standards is going to suck. Of course maybe I’m wrong, maybe this work does need to happen, to “finish” RSS. To all involved, good luck!
<a href=“http://diveintomark.org/archives/2003/04/24/zeldman_has_an_rss_feed.html
“>Mark Pilgrim:
In the TypePad announcements comes word that they will be pushing FOAF (friend of a friend). According to the Guardian article, “instantly taking an experimental standard and taking it to the mainstream.” Is that a good thing?
Let’s not forget the little guy who has to code this stuff by hand. And don’t push formats that no one wants. Where possible, give choices. When a product takes off like Movable Type has, the formats that it spits out have a big influence.
I’ll end with a few RDF articles. Hopefully this will be my last blog post about blogs for a while.
IT World: “RDF and other monkey wrenches”
Jon Udell, <a href="The Semantic Blog:
A few weeks ago John Siracusa wrote a great summary of the Finder, with specifics on why the OS X Finder is a step back from the OS 9 Finder. In the second half he provides suggestions for improvement that return what was good about the old Finder, plus a general architecture and guidelines for adding features.
And Tog writes that Apple has been squandering the advantage it used to have. Some of the interface innovations he wants include piles, file cabinets, and scrapbooks, all to help better organize documents. Just the names alone carry a lot of meaning.
eWeek hints at possible Jaguar “user at the center” features, including piles that Tog mentions in the link above:
There’s an opportunity for Ranchero if they act soon. We are still in the early stages of RSS readers and aggregators, both web-based and desktop apps. Over the next year, we are going to see even more tools for managing weblog subscriptions and discovering new blogs.
<a href=“http://www.dashes.com/anil/index.php?archives/005631.php
“>Anil Dash wants to follow many, many weblogs:
At SXSW, he made the comparison to the New York Times. Instead of hundreds of writers and editors at a newspaper, you have thousands of bloggers focused on topics they know something about, and smart software that brings it all together.
Impossible today. At least two things are needed: Better ways to discover new blogs, using blogrolls and FOAF-like formats to connect bloggers that share common interests; and filtering systems that allow unimportant entries to be hidden, or special topics flagged and brought to your attention.
Back to NetNewsWire. It has a good UI, it’s built on a nice database (SQLite), it knows network stuff and RSS, and it will soon integrate a good rendering engine (WebKit). Why not use that infrastructure to build other tools on. Plug-ins could hook into the application at different levels, such as filtering incoming RSS feeds, providing search services, or making changes to the subscription list. NetNewsWire has great AppleScript support, but this would go a step beyond that.
Now would be a great time for Ranchero to start thinking about this, before everyone starts writing their own aggregator. The last thing I want is 10 applications with incomplete features. I’d rather have a couple good ones that are compatible and can be extended.
I was out of the house Sunday night so I set the old VCR timer to record the Oscars. Unfortunately I programmed it with the wrong channel. I guess that’s an argument for Tivo. But it was probably just as well, since I was able to catch up on the winners and speeches in 10 minutes instead of 3 hours.
The big news for me – more than Michael Moore’s rant, or Adrien Brody’s win for The Pianist – was that Spirited Away beat out Lilo & Stitch for Best Animated Feature. Now comes word that Disney will keep its promise to re-release Spirited Away to 800 theaters this week. Hopefully it can find an American audience.
Update: Box Office Mojo shows a 700-theater opening tomorrow. At least two theaters here in Austin.
After SXSW I made a point to seek out new blogs. One is Micah Alpern, who writes about Marissa Mayer’s talk, “The How and Why of Google UI”:
Also on the Google UI front today, 37signals enhances Google’s default design by exposing similar search terms and their hit counts:
Interestingly, 37signals has placed the entire design into the public domain using a Creative Commons license, essentially giving the idea to Google free of charge. Good for them.
Dave Winer from 1999:
At some point Dave stopped evangelizing the scriptingNews format, but Userland tools still support it. Manila’s RSS output is actually often incomplete compared to the scriptingNews version. This annoyed me enough with Hack the Planet that I wrote a little Python script to convert scriptingNews to RSS. (NetNewsWire doesn’t support scriptingNews subscriptions.)
I had never coded in Python before, but I’ve read a little from Learning Python and Dive into Python. Even so, the script is mostly an unenlightened mess. The usual disclaimers apply: do whatever you want with it, don’t blame me, feel free to send improvements back to me, etc.
I’m running it from cron on my Mac OS X laptop with curl -s wmf.editthispage.com/xml/scrip… | python sn2rss.py > wmf_rss.xml, and then I point NetNewsWire at the local generated file.
You can download it here: sn2rss.py.txt.
For those wondering why I didn’t just use XSLT, I did try that first. But doing string replaces didn’t seem to be available in the old version of XT I was testing with.
A final warning: Python’s XML parser on Mac OS X 10.2 is broken. I had to install PyXML, which also had a broken install script that required tweaking. Too bad I threw away my changes.
Macromedia is fortunate to have two things going for it: Kevin Lynch, who seems like a smart guy, and Dreamweaver, which won’t let the company forget about HTML.
My expectations were very low for the Macromedia.com beta report, but truthfully there is some good stuff in there. Macromedia will not be successful pushing their Rich Internet Application strategy without educating customers when to use Flash, when to stick with HTML and core web technologies, and when to combine both. The report feels honest. Here’s the take-home point:
Anil Dash said at SXSW, about why audio blogs suck: “They break the web to me in all the ways Flash does.” How does Flash break the web? Used poorly, it’s a glorified JPEG – no links, no URIs, no back/forward button in the browser, no user control. Ironically, Macromedia was held up as a good example in Jesse James Garrett’s user-centered URL design essay, and that URL consistency remains on the new site. Obviously there are people at Macromedia who get it. When the report says “Internally, there was a lot of debate about the home page”, you can read between the lines and imagine the different camps fighting it out in meetings.
I had a great lunch conversation with Trei Brundrett of Handwire last week about Flash vs. traditional web applications. He had experimented with a completely Flash front-end for a previously web-based content management system, with disappointing results (slow load times and decreased usability). Other web developers that go down this path might also find themselves questioning their decision, depending on the project. There are small studios producing entire animated television series using Flash! You have to wonder if the same tool is also appropriate for building software user interfaces.
It’s great to see Macromedia eating their own dog food. I wonder if it will change their rhetoric on Rich Internet Applications a year from now.
After the panel Tuesday I commented to Mena that TrackBack is still sort of Movable Type-only and maybe needs simplifying if it is to gain acceptance in other tools. Turns out I was wrong, in part. TrackBack is a pretty good specification. As far as how pinging works, it’s about simple as it could be.
I started implementing TrackBacks for my blog tonight. I’m using Radio Userland, which has it’s own centralized comment system that I don’t use. For a couple of reasons I prefer the idea of TrackBack. It adds a little bit of accountability (you need your own weblog), and also allows the poster more control over his or her own comments.
However, not everyone knows how to issue TrackBack pings, which is really the part about the system that needs some usability help. So I also want to eventually add support for detecting in-bound links using referrers, which would be gathered into the same database and co-exist alongside TrackBacks. All the coding will be in PHP, included as necessary from the static HTML files that Radio generates.
Another one of my goals is to have simple TrackBack Ping URLs. My first idea here was to use the permalink itself, but right now I think I’ll use a variation like /trackback/2003/03/15. When I have it working, I’ll add the URL below each post.
Matt Haughey is also doing interesting things with TrackBack: “So Winamp is now sending trackbacks to my blog, and every time a new song comes on, a new ping goes out, and my site changes.”
Earlier this year Timothy Appnel suggested changes for the next generation to TrackBack.
SXSW has wrapped up for me, although many others will still be out partying long after I post this. I’ve had the chance to meet some interesting people. Some of them I have names and URLs for, some just faces and conversations.
The Future of Blogging panel was good. Tantek Çelik asked a question about the complexity of Friend of a Friend (FOAF), and whether a more human-readable/writable format was needed. The question was not well received by the panel, which took the view that tools (like Movable Type) will be able to hide the sometimes messy details from the user.
But remember that if nothing else, the weblog movement has proved that it is the simple formats that will be successful. RSS 1.0 (RDF-based) was interesting, but it’s dead, and it’s dead because it was too complicated. Similar situation with XML-RPC vs. SOAP. To get to the point of having great tools that hide the protocols, you need to go through a period of hand-coding. The easier a spec is to understand and implement, the more people will adopt it, the more momentum it will have, and the more tools that can build on it.
I took a bunch of notes in some of the more interesting sessions. Originally I had planned on posting them to the SXSWblog Notes Exchange, but alone their value is questionable; they are so interspersed with my own thoughts which need more exploration. Over the next few days I’ll unravel them and post my view on the topics that have threaded through the conference.
Justin Hall on note taking:
Now that I’m practicing more professional journalism, I see less value in a straight recitations of events. I want a summary, with key glowing thoughts brought out, hyperlinked and put in context. Notes are good for article building, but they don’t make much of an article in and of themselves.
Mike Clark is thinking about blogging:
girlwonder.com might be outgrowing SXSW:
I turned this web site into a blog one year ago today. More on that in a few paragraphs.
This afternoon I was sitting in the hall at SXSW trying to organize some notes, and charge up my PowerBook battery. A convention center employee told me and others that we can’t use the wall outlets. He forwarded us to Regina at the utility services booth in the trade show hall, who confirmed that she “owns all the power outlets” in the convention center. Apparently she’d loose money if a few laptop batteries were charged on her watch. She kindly told me about the iMacs in the corner where I could check email. (No thanks.)
I’ve been taking notes and writing up a few thoughts to post later. It’s been a good show so far. David Weinberger gave a great talk yesterday afternoon – well-timed after his and Doc Searls' “World of Ends” essay. It started the conference on the right foot, and I found myself making connections between his view of the web and other sessions.
In the “Doing Good Online” panel, Chris Mandra from NPR Online said: “If you do the best thing you can do, and satisfy yourself, you will satisfy other people.” The web allows communities to form across existing boundaries (nothing new here, but worth repeating). Being on the web is fine, but by itself has little meaning; it’s about adding to the value of the web. Something as simple as posting about your washing machine in a site’s discussion forum, or writing a weblog on wireless networking, or politics, or whatever – all these things add value, if they can be linked (and indexed) into the whole. Do something as well as you can and put it out there.
Maybe the most valuable weblogs, then, are the ones that can focus on a set of topics. Where individual posts or groups of posts can stand by their own when read a year from now. In response to a question from the audience, Weinberger said he didn’t believe that most bloggers include personal information in their writing, as they would in a private journal. A few trips to LiveJournal or a random Blog*Spot site might lead to a different conclusion. But somewhere in all that rambling there will be some great stories, and they have the potential to connect on some level with someone, somewhere.
I wrote most of the above paragraphs during the conference today. When I got home I went to re-read Meg’s “What We’re Doing When We Blog”, only to find out that I had never actually read it. Probably just skimmed. There’s good stuff in it, and the best parts of the “Journalism: Old vs. New” panel today echoed some of it: about weblogs enabling conversations, involving the reader. Dan Gillmor: “My readers know more than I do, and that’s not a threat, it’s an opportunity.”
One year ago I wrote: “Seems an appropriate time to start a weblog, as if there weren’t enough in the world already.” Since then, thousands more have surely been added to the web, and there are still not enough blogs. The challenge for the next year will be finding readers for those new voices – building software to help discover new sites and connect people.
SXSW Interactive kicks off tonight. Wes, against his better judgement, is going to the Linux Top Gun contest. I decided to skip out on the opening night for a variety of reasons, mostly to stay home with family, and because driving downtown just for an hour seemed a little silly.
SXSW is a weird mix of sessions. Here are some of the ones I plan to hit during the conference (my comments in parenthesis):
There has been some excellent critique of Apple’s UI experiments on Irate Scotsman, Daring Fireball, and NSLog. While moving some books last night I found the following, which you may recognize from Apple’s Think Different ad campaign. Reading it I couldn’t help but think of the posts above.
etc…
The important thing here is that you want to be different and better, not just different. Lately, Apple has been better. The recent failures are so annoying because they got the hard things right (new design approaches to old problems) and the easy things wrong (UI widget consistency).
A follow-up to yesterday’s post. Many people contribute to a film, and not all of them are given direct screen credit. Last month, legendary illustrator Al Hirschfeld passed away. His lines graced the pages of books, magazines, and newspapers including the New York Times, and proved an influence to many future artists. Disney’s Eric Goldberg brought Hirschfeld-esque lines to Aladdin’s Genie and the “Rhapsody in Blue” sequence of Fantasia 2000.
Amid Amidi of Animation Blast writes:
Thank you Disney. Despite massive layoffs, horrible cheapquels, and a general disregard for their past culture, it’s nice to know that someone there still gets it.
Slashdot points to a Salon article about Andy Serkis (voice and motion reference for Gollum in The Two Towers) missing an Oscar nomination:
The article is disappointing. While Andy Serkis did a great job, giving him sole credit for the performance would be forgetting all the animators who also brought that character to life. Much of the performance used motion-capture, but many of the most important scenes (such as the “split personality” scene that cuts back and forth between the two faces of Gollum) were entirely keyframed by animators, with just a glance at the actor’s performance for reference.
The real problem is that the Oscar categories need to be updated to include roles that don’t fall into the traditional actor/actress ones. The Annie Awards (for animated films and television) have long had a best voice actor category. The Oscars could embrace that category, and add others such as best lead animator or best character, to pay tribute to the whole team that brought a digital character to life.
I’ve added a list of books I am reading or have recently read to the right column of this web site. Just a friendly reminder to stick your head over the walls of RSS-land every once in a while.
Of all the things I should be doing, staying up late hacking Konfabulator widgets is not one of them. I started building one to display select headlines from NetNewsWire. It wasn’t until this morning that I noticed there were already some RSS-related widgets available. Still, it could be a fun little hack. The platform Konfabulator is building is interesting, and the app is polished.
Konfabulator is from Perry Clarke and Arlo Rose, whose name you might recognize from Apple and the Kaleidoscope project.
Still, I have to wonder if Konfabulator as a shareware product will be successful. There would have to be a few really compelling widgets to justify the $25 price. See Joel’s Chicken and Egg problems.
It snowed when I was about 5 years old and when I was maybe 10, so I assumed it would snow every 5 years. When you’re young, it’s easy to jump to conclusions and see patterns that don’t exist. Of course it hasn’t snowed since then.
But after a few days of teasing weather reports forecasting snow and ice, I woke up at 4am and stepped out on the back deck to see snow covering the ground. I raised my hands and could feel it falling, lightly. For someone who has lived in central Texas their whole life, this is a big deal.
It all melted within a few hours, but not before I made a miniature snowman with my kids.
Boxes and Arrows article by David Heller: “Ultimately, I don’t see a long term future for HTML as an application development solution.”
Meanwhile, there has been a steady integration of HTML interface behavior into traditional applications. Two years ago, Microsoft published a document titled “Inductive User Interface Guidelines” that made this case in a strong way. It was a result of lessons learned from years of building web applications.
The idea is simple. Despite the lack of mature interface components for web based apps, people understand hyperlinks. (Remember Steve from last month’s Macworld keynote: People only use what they understand.)
Of course it’s more than just hyperlinks – it’s about taking the tasks that you need to do right now out from their hidden places in the menu bar and displaying them in context. No more digging, and it’s text instead of obscure toolbar icons.
But I wonder if something else is going on here. In the studies that Microsoft cites, there is an increased success in solving tasks, but the long-term usability is not measured. I’m talking about the satisfaction that comes from using a well designed piece of software every day. The web style is easy to understand, but it is also heavy on the clicks (repetitive and modal).
Furthermore, the idea can easily be taken too far, and in doing so it jeopardize the consistency of the rest of the interface. Take the Visual Studio .NET installer, which I recently had the pleasure of using. (I’m sure this is true for other Microsoft product installers as well.) It uses HTML-like links for things that buttons are perfectly good for, such as “Continue” on the bottom of a wizard screen.
Jeffrey Veen on links:
Contrast this with David Heller’s article promising the end of HTML. As the Veen quote suggests, HTML can be effective and powerful when used properly. Throwing out accepted web interface conventions in favor of Flash front-ends would leave a mess of “fancy” but otherwise non-standard and unusable interfaces until new best practices could evolve. Likewise, merging HTML-like interfaces into traditional applications probably only makes sense for a minority of applications.
Oh no.
AP: NASA Loses Touch with Shuttle Columbia:
CNN: Columbia shuttle breaks up over Texas:
Listening to NPR this morning: “Eerie quiet at Kennedy Space Center.”
I remember a few years ago, seeing the shuttle pass over Austin. We went outside, and it seemed half the neighborhood was also out in the streets, looking up. I wondered aloud if we’d be able to see anything. We squinted at the clouds, and other imagined dots in the sky. And then, the sky lit up – a huge streak across the sky as the shuttle passed. An amazing sight.
For Christmas I received a copy of Scott McCloud’s Understanding Comics. I was familiar with his work only from his web comics (the I Can’t Stop Thinking series is particularly good), but never read his books. Turns out, it’s excellent. Probably best enjoyed if you’ve read comics, but I think there’s some good stuff in there for everyone.
McCloud’s “6 steps” (Idea/Purpose, Form, Idiom, Structure, Craft, and Surface) can be applied to many pursuits outside comics. To master the artform you need to progress through each of those steps, but often a comics fan decides he wants to “be a comic book artist.” He starts copying the surface qualities of the work (“look, I can draw Superman”), but rarely does he delve into it enough to go back to the other foundation steps: having a unique idea or purpose for the work, and understanding the form and structure of the medium enough to produce something great.
Building software is not all that unlike creating a traditional work of art. (Odd that I’m including comics in “traditional” art, but there you go.) Crafting the user interface, thinking through the design, layering one piece on top of another. And above all, keeping in mind the problem being solved. It can be creative work, if you approach it that way.
Maybe that is one of the reasons why Cocoa is so successful. By putting the emphasis on up-front user interface design while simplifying some of the coding with a mature object-oriented framework, it opens up application design and implementation to more people. In a sense, allowing people to jump directly to Scott McCloud’s step number 6 (“Surface”, in this case Aqua goodness), and then work their way backwards as they mature as software developers – if they choose to.
What a difference two years made to Brent Simmons:
Joel likes Tintin comics.
It wasn’t long after I started programming that I developed a pet peeve with other programmers who don’t feel the user is worth the time to put an extra “if” statement into their code. Here’s an example: “There were 5 result(s) for your search.” Obviously it’s a trivial matter to check if there was indeed just 1 result or some other number of results, and leave the “s” off or not. The “(s)” annoys the hell out of me, and I think it is distracting for most users as well.
Tonight I saw something that tops even that. The web folks over at Tripod Blogs display this bit of brilliance under a blog entry:
In other words, they took the time to put “no” instead of “0”, but left the “(s)” anyway.
It’s been two weeks since I last posted, and with every passing day it becomes more difficult to post something. Why? Because with such a delay I feel that I need to somehow justify it with a great blog post. Just wait another day – then I’ll hit my readers (all 2.5 of them) with something great.
Well, something great hasn’t happened. Instead, I fooled around and added a blogroll to the site, tested Movable Type and Blosxom as possible Radio replacements (not yet), and took notes on things that I’d like to blog about.
I’ve also been thinking about what to do with my recently reacquired domain, metacontent.org. I’ve been looking at TrackBack closer, and the metacontent.org site might make a good general index of recent metadata-related blog posts. It would use the standalone TrackBack implementation and could be pinged by anyone.
In my old NetNewsWire subscriptions, I had a group named “Natural Born Bloggers”. These were mostly old-school bloggers who defy classification, such as Meg with topics that range from web design to cooking, or Dave with technology to life lessons. Apparently I’m just not cut out for that elite group.
The flipside, though, is that I’ve been getting a great amount of real work done.
Safari puts the classic SSL “lock” icon in the window title bar. Here’s a screenshot:
Turns out this is easy to do in Jaguar with Carbon’s HIView system. Since the entire structure of the window (not just the content area) is a view, you can position items anywhere, including the title bar. Apple has published some example code showing how.
Another nice UI feature in Safari is the enhanced drag preview when dragging links:
Matthew Thomas continues to update his thoughts on Safari’s interface and what the new browser means for Mozilla.
John Gruber provides some even longer thoughts on Safari:
Okay, I’m done with the Safari-related blogging. Tomorrow: something different.
Macworld was a week ago today. A few fun quotes from Steve Jobs:
Almost every weblog I read has been buzzing about Apple’s new web browser, Safari, but this Macworld also saw updates to iMovie and iDVD. iDVD has has some great new themes, and iMovie has apparently been rewritten in Cocoa (which explains the delay between the last release and now).
It used to be that part of an argument between a Mac person and a PC person might go something like this: “There are way more applications available for PCs than for Macs.” Response: “Well, that’s true, but all the ones that matter are on both platforms.”
In the last two years we have seen a different situation emerge. Innovative apps that are well-designed and focused on a single purpose are appearing for the Mac that have no good counterparts in the Windows world. NetNewsWire, OmniOutliner, and OmniGraffle come to mind. And Apple is continuing to lead the way by bringing a lot of power to users in the form of iMovie and iDVD. I don’t have numbers to back this up but I think bundling these apps can only help sell machines.
I’ve been using Safari since its release. I don’t miss tabbed browsing, but I do miss Chimera’s ability to store web site passwords in the system keychain. And for no good reason I’ve changed the color of the toolbar icons.
In My Experience: “I still use html tables”:
Mark Pilgrim: “Semantic obsolescence”:
There are some good points in both of these. Like many things, there is the “right way” to do something, the way that makes you smile and feel good inside when you leave work, and there is the way that actually works and allows you to implement a solution quickly and move on to what is really important (adding content to a site, improving application features, etc). I tried an all-CSS layout for an Intranet project many years ago where the browser version could be mandated. Sure, that was before Mozilla was done, but even so it’s not an experience I’d like to return to any time soon, just for the sake of doing things the “right way”. There has to be a real need, and that differs from project to project.
A great new blog to start off 2003: The Diary of Samuel Pepys. What an innovative use of the weblog format.
This is also perfect timing for my new year’s resolutions, one of which is to write in my own journal more. (That’s the old cloth-bound, hand-written kind.) I filled the first one up a few years ago, a good portion of that on a 2-month trip to Europe, but my current journal has remained mostly blank.
Congratulations to the site creator for producing such an excellent site. Very polished, clean design, putting hypertext to great use. RSS feeds are also available, under “Other formats” on the about page.
Salon has an article on Tolkien-inspired video games:
Over Christmas I talked with a relative (who is writing about cell phone gaming) about the possibilities of networked, collaborative games. Without the graphics features of the modern computer, maybe the cell phone will be the perfect place for a new innovative game to emerge. Building a game for a cell phone does not require the army of programmers, designers, and animators that is commonplace for PC games, so a few creative developers could create something unique.
Meg on holiday video gaming: “I was stealing motorcycles and punching cops and doing all sorts of other nefarious things I would never ever do in real life.”
A couple of hours from now I should be firmly planted in my seat with popcorn and drink for The Two Towers. I didn’t get to finish re-reading the book this week as I had planned, but from what I’m hearing there are enough differences that maybe it wouldn’t have mattered. These films have a way of intruding on our own version of the story. After seeing the film, it’s sometimes hard to remember how you first imagined things.
Not to mention the plot changes. There was one subtle change that annoyed me about Fellowship, and as far as I can tell there was no reason for it. In the last chapter of Fellowship and the opening of Two Towers, Aragorn is busy running around and makes a crucial decision as the Orcs attack to not continue to find Frodo, and so Frodo and Sam leave unnoticed with the ring. By the time Aragorn realizes what has happened, he admits to himself that it’s probably best for Frodo to go the rest of the journey alone, and he can focus on rescuing the other hobbits.
But in the film, Aragorn and Frodo have a little talk, and Aragorn lets Frodo go to Mordor alone. This is definitely wrong for Aragorn’s character, since after Gandalf disappeared he was responsible for seeing the journey to it’s conclusion. He would never have willingly let Frodo go alone, and my guess is that Tolkien spent some time crafting the right situation that would allow Frodo to go by himself.
Meg: “I’m most looking forward to seeing the Ents.”
I’m both looking forward to and dreading the Ents. In the early trailers, there was no sign of Treebeard or his friends, so I assumed they had been given the ol' Tom Bombadil (cut). Of course it will be computer animation, but I wonder if they can pull it off in a believable way.
Steven Johnson for Slate, “Is the Computer Desktop an Antique?"
While Apple has moved to many small, focused apps to get the job done, they have also attempted to build a new suite of interface components so that each app is easy to use right out of the box.
One such nifty widget they have invented is the rounded search box. Most of the iApps use it, and so does the Finder. It’s got a little “x” that clears the search text, and rounded edges so the search box is easy to find. (“Which of these text fields do I type to search? Oh yeah – the round one.")
Splasm Software’s Checkbook is the first app I’ve seen to copy Apple’s search box. Unfortunately they didn’t get it quite right. (Psst: The “x” is supposed to be inside the box.)
Aaron Swartz talks at the Creative Commons launch party:
Aaron, thank you for being optimistic. Someone still needs to be.
Back in 1996, when RDF was more an idea than an acronym, I worked on a side-project with my friend Travis Weller. It was based on RV Guha’s MCF and hosted at the domain metacontent.org. We demoed the first part of the software at Mactivity/Web, and I still have the slides for the presentation (click the logo to advance). It was a web server plug-in that served a site from an object database (the prototype used an embedded version of Userland’s Frontier database, but the idea was to eventually provide object-relational mappings to other more common databases). We called the web server portion Rendezvous, because it gathered pieces of content and metadata and assembled them together to serve a page. Apple likes that name too.
We also designed parts of the admin interface, which was to be the killer app to enable thousands of web designers to make metadata an integral part of their web site. You sell users on the product by providing a great interface for managing an entire site’s content, and then handle organizing the metadata behind the scenes.
Somewhere along the way, we realized the magnitude of our goals and grew disillusioned. Or maybe we just found better day jobs. Either way, the metacontent.org domain expired and was taken by someone else, we never shipped any software (although I still have the code on a backup disk somewhere), and the W3C’s Semantic Web effort eventually emerged with a ton of smart people trying to solve this problem.
Yesterday I noticed that the metacontent.org domain was available again, so we took it back. Maybe I still have some optimism left in me after all.
The weather turned cold here yesterday, and that just contributes to my blogging apathy after the Thanksgiving weekend. I’m just too lazy to blog, and the backlog of unread items in NetNewsWire was over 150 this morning. Time to trim the subscriptions again. There’s too much to read, and hardly any of it really matters.
Reading text on the screen continues to be a challenge for most people. A recent newsletter article from Human Factors discusses optimal line length:
Aaron Swartz reviews “The Elements of Typographic Style”:
He’s also put some excerpts from the book online.
Adrian Holovaty describes the BBC’s ‘intelligent’ design personalization. By keeping track of what links you follow, sections of the home page are given darker backgrounds to draw your attention to those you visit most often. Sounds like a great idea, but I wonder if it is too subtle to work well in practice. Is it better than increasing the number of news items I see on the home page if I always click on the “News” section? How long before every major web site is as personalized as Amazon?
Either way, it’s good news. Web sites that automatically adapt to the user’s browsing habits will succeed over those that need manual customization. Remember the my.yahoo.com and my.netscape.com portals? The personalization burden was placed on the user, and the UI was awkward and limited at best. Those sites need to be smarter. When I go to tv.yahoo.com, the only thing I ever do is click on “show me what’s playing now”. Why not save me a click and put the current TV schedule on the home page, plus a list of shows that I frequently see the detailed descriptions for.
A related article from 1998: Jakob Nielsen’s “Personalization is Over-Rated”.
Odd that I had never heard of Good Experience, a newsletter by Mark Hurst. Just discovered it today via Tomalak’s Realm. Here’s an excerpt from an interview with Maryam Mohit of Amazon:
Best of chi-web and sigia-l: “Using the archives for each mailing list, I’ve compiled a list of the summary postings from useful threads, and a few personally selected favorite postings.” [via WebWord]
Also on UIWEB, Reasons ease of use doesn’t happen on engineering projects: “The focus on features for features sake typically results in mediocre features, and a product that is difficult for people to use.”
While re-reading parts of Joel Spolsky’s User Interface Design for Programmers, it occurred to me that I had never actually used any Windows software written by Joel’s team. So I downloaded a copy of CityDesk and started clicking. Although it was mostly straightforward to use, there were a few glaring problems. First, some of the windows support control-W for File -> Close, some do not. There’s no obvious reason for this inconsistency. Second, when I went to publish my new site, I expected to be prompted to enter FTP info so that CityDesk could contact my server. Instead, previewing on the local machine was the only option available. It took a trip to the documentation to realize I had to turn on “Designer Mode” to show the FTP settings. Whoops.
From the BBC: “The international community has a ‘moral responsibility’ to avoid war with Iraq, the Catholic Church has warned.”
Meanwhile, Bob Kerrey (former Democratic senator) makes the moral case for war in Iraq:
I haven’t seen Futurama since it first aired – the time slot doesn’t work for me, but I wonder why I haven’t been taping it. The fourth (and final) season started last night, so I finally made time to watch it again. What a great show. It was especially funny that the Al Gore character was voiced by the former Vice President himself. I guess it helped that one of his daughters was on the Futurama writing staff.
Associated Press:
And on the big screen… Disney has submitted Spirited Away (in addition to Lilo & Stitch, and the upcoming Treasure Planet) for Oscar consideration, but only in the Best Animated Feature category, not for Best Picture. This increases my concern that it will be difficult for animated features to ever compete with live-action films for best picture, now that they’ve been relegated to a separate category. Other likely contenders will be Dreamworks' Spirit and Fox’s Ice Age. It’s not clear yet whether there will be enough films to trigger five nominees or just three, but either way I’d be surprized if Lilo didn’t take the win.
And finally… Animation Blast unveils their tribute to Ward Kimball:
Today is the big day, and you should vote. Even though you can’t stand all the negative ads. Even though it’s hard to tell who’s the Democrat and who’s the Republican because they all move to the center for their campaign. Even though they just give us the buzzwords we want to hear (“education”, “health care”, “drugs for seniors”, “social security”) without telling us what they plan to do about it. Even though it doesn’t appear that half of them truly believe in anything anymore.
Even so, you should vote.
I voted last week on the eSlate, the replacement for the paper ballot in this county. It’s not a perfect interface, but good enough, and there was one convenient feature that I wasn’t expecting: when you vote straight party, it automatically marks all the candidates of that party and you can just page through the ballot reviewing and making changes as needed.
The only real concern I have is that people who have little or no experience with computers will be scared away from the polls, even though the system is easy to use. Luckily they had a demo station dedicated to showing people how it worked while we waited in line. I saw at least one person take them up on the offer.
Apparently the turnout this year has been higher than usual. The line was conveniently positioned along the donuts in the bakery (it was at a grocery store), and everyone joked about how tempting it was to grab a dozen glazed and make a party out of it.
Houston Chronicle: “Stakes high for eSlate voting”.
Associated Press: “Scrutiny of High-Tech Voting System”.
Austin American-Statesman: “Travis GOP reports problems at polls”.
Matthew Thomas' “When good interfaces go crufty” is a fun read. It’s nothing we don’t already know, but sometimes it’s helpful to be reminded that some of the interfaces that we are so used to are still confusing for new users. His talk on the evils of using file paths to reference files and applications is resurfacing in the Mac world, as a new crop of Cocoa-based applications generally ignore using aliases (not alias files in the Finder but the AliasHandle toolbox type to keep track of files that might be moved or renamed out from under the application). Try this test in BBEdit, then in Apple’s TextEdit:
When I tried this with OmniOutliner, I expected it to perform as poorly as TextEdit. Instead, OmniOutliner does recognize the change and updates the document’s title bar with the new name. But then it ruins this intelligence by asking the user whether they are sure they want to save with the new name. It’s as if OmniOutliner is bragging – “Hey look at me, I’m so smart I noticed that you renamed my file”. Applications shouldn’t need to show off, and the ones that just work as expected will usually be more enjoyable to use.
Out all last week, vacationing around the Gulf coast. It was good to unplug for a week and forget about the email, the blogs, and the constant hum of a noisy FireWire drive. I think we went three whole days without hearing the word “sniper”.
Brent Simmons responds point by point to the misinformation in the Applelust.com article, “Going Native: The Attraction of the Cocoa Interface."
Although the article is a mess, there are a couple of valid observations in it:
Sadly, I agree. I think one of the reasons is this: most Carbon developers still support Mac OS 9, which makes adopting X-only features (drawers, toolbars, and sheets) more difficult because of the need to maintain two separate pieces of code. But as more users move away from OS 9, Carbon developers will give their apps a good facelift and release X-only versions, possibly even Jaguar-only versions in some cases.
Last night I saw Spirited Away. I first heard about the film shortly before its release in Japan, and finally it is getting a limited release here. It opened in Austin at 3 theaters, which is more than I expected. Our showing had a good attendance, and one earlier in the day had even sold out.
That Spirited Away is original and brilliant shouldn’t surprize anyone who has seen Miyazaki’s previous films. I have only seen 3 others (Kiki’s Delivery Service, My Neighbor Totoro, and Princess Mononoke). There is a lot to take in from this one. In fact, after a few failed attempts at writing a critique where you see this sentence, I’m going to wait on giving my personal interpretation and instead just say: go see it.
From an Animation World Network profile of Miyazaki:
AWN also has an interview with husband-and-wife writing team Cindy Davis Hewitt and Donald H. Hewitt on adapting Spirited Away to English.
The comments for Slashdot’s “Which Coding Framework for Mac OS X?" are frustrating. I have been experimenting with Cocoa lately, and I really like it. Objective-C is slick and the UI frameworks are good. But I’m so tired of seeing Carbon discounted as just a transitional technology and not as “native” as Cocoa. Now that it is possible to mix-and-match Cocoa and Carbon windows in the same application, hopefully we will see both technologies used where appropriate.
As big a Carbon fan as I am, though, I would probably recommend Cocoa for first-time programmers looking to write a simple X-only app. But it’s not appropriate for all apps. Photoshop and similar cross-platform apps will stay Carbon and C++ for some time to come, and many have their own internal frameworks to make life easier between the two platforms.
Unsanity.org has a good Cocoa vs. Carbon article that discusses the speed issue. Many people have noticed that recent Cocoa apps from Apple such as iPhoto and iCal are sometimes painfully slow, while iTunes and iMovie (both Carbon apps) have always been speedy even on Mac OS 9.
And then there’s iDVD. I used it for the first time last week, and it’s a great piece of software.
It took me a little while to figure this out, but the DVD Enabler that used to be distributed with OWC’s DVD-R drives does not work under Mac OS 10.2. I had to install 10.1.5 on a second drive and boot from that to use iDVD on my TiBook. But it’s well worth the trouble. iDVD is one of those rare apps that takes something that was impossible to do before (mastering DVDs for home movies and pictures on the cheap), and not only makes it possible but makes it easy. That iDVD is a Cocoa app speaks to the power in the Cocoa frameworks when used effectively.
The first thing I saw when I woke up this morning, from the BBC News: Former US President Jimmy Carter wins the Nobel Peace Prize for “decades of untiring effort to find peaceful solutions to international conflicts, to advance democracy and human rights, and to promote economic and social development.”
The Nobel site has a long history on the Nobel Peace Prize, including this bit on the first award to a US president:
And the second, to Woodrow Wilson:
Aaron Swartz has an excellent write-up of his trip to Washington for the Eldred case. Also covered is Brewster Kahle and the Bookmobile:
Every week or so the tech weblog world (or at least the portion that I view) aligns on one issue. This week it’s the Lessig arguments in the Eldred case before the Supreme court.
Matthew Haughey, “Copyright and the Commons”:
Another timely piece I enjoyed was a Salon article titled “Riding along with the Internet Bookmobile”. Boing Boing summarized it well:
And then there’s this ridiculous headline from the United Press International web site: “Case could strip Disney of Mickey”. File that one under oversimplification or misinformation, your choice.
Slashdot reports on Brazil’s electronic ballots.
Early voting here in Austin this month will use the eSlate system, which has already been tested in some surrounding counties. It will be used by everyone in Travis County for the general election next year. It looks like an okay interface: a wheel for scrolling through candidates and a big red button to submit your ballot. The final screen shows a summary of your choices so you can correct any mistakes.
Peter Merholz writes about his first contribution to the Mirror Project:
I submitted a photo to the Mirror Project earlier this year, too, but it doesn’t have an interesting story behind it. I had browsed through the Mirror Project site earlier that day or week, and afterwards whenever I saw my reflection in something I thought about the site. It’s a cool idea. If you like what you see, you can even subscribe to an RSS feed of the latest submissions.
It’s fun watching the posts come in to the Mac OS X Conference “Trackback” feed. Hopefully more people will hook into it before the conference is over. It’s a good way to learn about other blogs that share a common interest.
MacCentral has a short write-up on James Duncan Davidson’s Cocoa talk at the OS X conference. One quote that stood out for me: “Project Builder was the first IDE I actually liked”. That’s funny – the more I use Project Builder, the less I like it.
There’s also some coverage at the O’Reilly site.
James Duncan Davidson echoes a complaint I have also raised:
Meanwhile, the praise for NetNewsWire continues on many sites. The most amusing of all is Mac Net Journal, which feels compelled to notify us every time Brent posts a new beta (as if users of NetNewsWire don’t already subscribe to Ranchero’s feed).
However, seeing links to NetNewsWire doesn’t make me fall asleep as fast as reading more arguments about RSS 2.0 and namespaces. Yet.
Kottke.org, “A Day”:
A different format, but nice. He should do that every week or so.
Apple releases the iSync beta. I’ve never seen an Apple software release with so many warnings. Must still be buggy.
Speaking of buggy, Yahoo’s RSS finance feeds were pulled just a week after Jeremy Zawodny announced their availability. Maybe Yahoo thinks they’ll loose clicks into the ad-supported web site? Hopefully the big guys can continue to find ways to make RSS profitable for their business. News stories are easy – just provide a snippet and link to the full article – but it becomes trickier as RSS is used as a more general notification system.
I finally made the jump from Radio Userland’s news aggregator to NetNewsWire last night. It’s good software, and it’s been fun watching how quickly it has matured. I have about 40 RSS subscriptions, but I migrated to NetNewsWire in just a few minutes by dragging the XML links from Radio into NetNewsWire’s subscriptions pane. The app has really embraced interoperability. Brent has also proposed a common RSS clipboard and drag-and-drop format.
Web browsers on the Mac since Mosaic have stored bookmarks in an HTML file. Chimera apparently breaks this long tradition and uses it’s own simple XML format. Is this progress? No. Sure, they do fun things like type=“toolbar”, but the same extensibility could have been achieved with XHTML and some new elements or attributes under their own namespace. Now, we have a politically correct file format that cannot be viewed in a web browser or parsed by existing bookmarks-parsing code. Oh well.
Last week, Joel wrote about Mac software developers:
Of course he gets some things wrong and misses the point on others. Luckily the comments in his discussion forum provided a good balance to his argument. Even Dave Winer jumped into the game this morning, bringing his perspective as a long-time Apple developer who embraced Windows development while Apple was suffering from vision and profitability problems in the 90s.
And then there’s Brent Simmons: “Why I develop for Mac OS X." There’s also some good stuff in the comments below the essay. The essence of his argument is simple: Windows programming is boring.
Dave Winer, on his health and the RSS 2.0 flame wars:
Thankfully most of the RSS discussion that I’ve seen has been constructive, such as Rael’s post that provided a good perspective of the RSS 1.0 effort.
Bill Plympton has started work on his next animated feature film, “Hair High”. You can watch him draw live from a webcam pointed over his desk. Great idea, especially for an independent filmmaker with a limited/non-existent budget for promotion. It uses a Java applet that updates every second or so, which unfortunately doesn’t do the artist’s skill justice – he draws like a madman, seemingly taking any point on the character and meandering around it until it’s complete, as if he can see the drawing on the paper and is just tracing over it.
Here are some sketches from one year ago by New York animator Pat Smith.
Everyone finds there own form of comfort. For some, it’s a doodle.
John Siracusa has an excellent Jaguar article over at Ars Technica. A long read, but worth it. One highlight:
And don’t miss this gem:
Jeffrey Veen: Standards Still Matter. “Will there ever be a day when we can just assume that browsers will render our code correctly? Can we imagine a future in which we don’t budget an extra 40 percent to ensure our Web projects work on multiple browsers?”
Matthew Thomas: “Microsoft are, still, five years ahead on the road to the perfectly designed browser. But they’re parked by the side of the road, and having a picnic.”
PHPeverywhere: “When things turn sour, Open Source is not about open minds, but naked egos and pride. That’s why the key to really successful Open Source projects is leadership, not merely technical skills. And this holds true in life too.”
Krzysztof Kowalczyk: “So remember, kids: source code is useless if you don’t have skilled people to work on it.”
James Duncan Davidson, author of the upcoming Learning Cocoa (2nd edition), has a new blog. He’s already started rolling with thoughts on preserving his blog posts:
“As long as I can make sure that my data migrates to long lasting media at some point, I can protect them and read them far into the future. However, when that migration happens, I may have all my data, but I’ll have no idea when I wrote it. You see, all those filebase time information will be blasted away when I move the data onto a new filesystem.”
I’m using Radio for this site, and it can automatically archive blog posts to XML files. That is definitely a step in the right direction, and more than most other products will do. It is particularly tricky to get data out of Blogger.
And I still have too much email stuck in old proprietary formats that I may never be able to retrieve completely. Sigh.
Last night I finally saw Michael Dudok de Wit’s short film masterpiece “Father and Daughter”, as part of Spike and Mike’s classical animation festival. It’s a beautiful film, well deserving of its 2001 Oscar win. Not needing dialogue, each shot in the pencil and charcoal film is brilliantly composed and reads perfectly. Even if the big studios turn their back on traditional animation, there will always be a place for it in the hands of independent artists with compelling stories.
After ignoring Mozilla for 6 months, I took the latest version out for a spin a few nights ago to try Pie Menus. Although Mouse Gestures worked okay for me, I couldn’t get Pie Menus to work (maybe it doesn’t work on the Mac?). I can’t decide whether I like Mouse Gestures yet. Back and forward can be useful, but the gesture displayed on the left (go to home page) is just silly.
News.com: “More than 100,000 copies of Apple Computer’s OS X 10.2 operating system were sold worldwide during its first weekend, the company said.”
Back in 2001: Microsoft Windows XP sold 300,000 copies over its weekend launch.
No Sense of Place points to a great collection of early 20th century animated films at the Library of Congress. Includes Krazy Kat and The Katzenjammer Kids, among others. But no Mickey.
The movies section at Internet Archive also has some great stuff, but it takes a little bit of searching to find the good ones (look for John Hubley).
And finally, when you’re tired of squinting at small QuickTime movies, stop by Oscars in Animation: 7 Decades of Animation Art if you live in the LA area. Can’t beat looking at the real thing.
Kottke has the same NetNewsWire gripe that I do, and a mockup to go along with it. I submitted this as a feature request in Ranchero’s bug database earlier this week. The software is maturing quickly, but the 3-pane approach and the inability to easily get rid of news items you have read have made me stick with Radio Userland for now.
Brent Simmons: “If you’re not syndicating your site as RSS it might as well not exist.” So true. The non-RSS sites I read now can be counted on one hand.
While skipping around through my MP3 collection, it’s easy to forget why I don’t run out and buy CDs frequently. But I bought one a few days ago, which brought back the memory. It’s not that they are too expensive (which they are), it’s that those stupid plastic wraps are impossible to open!
Kottke.org increases the text in RSS files to around 80 characters per post. Excellent. It’s as if he read my mind.
This site was down for a server move over the weekend… Thanks to David and the Interactive Ensemble gang for their generous help and bandwidth.
I hate what smileys have become. Just look at all these from the latest Yahoo Messenger! What’s the point? Give me the :-) and ;-) and I’m fine.
Doug Baron points to an article on Schlotzsky’s plan for free wireless around their restaurants. They’re also looking into providing access for other areas such as libraries and schools.
There’s a Schlotzsky’s about a mile from here, so I’ll have to check it out once they get an antenna up. For a year or more, most of the chain in Austin has provided iMacs for surfing, and now I guess I can check email while waiting in the drive-thru. But more than that, it’s nice to see a company that understands the benefits of doing something for their customers – and the community – without thinking about every cent they are going to make charging people for access.
Good sandwiches, too.
I registered on BlogTree. Hey, everyone else was doing it. :-)
In other blog news… There are very few sites that I read now that don’t have RSS feeds. Two on that short list were PeterMe and Kottke.org, which in the last week have both put up RSS versions. Unfortunately they trim the post so you only get the first sentence or two in your RSS reader. Ugh. I think this may be a Movable Type default.
I also think that Blogger made a mistake when they chose to only support RSS in Blogger Pro (not in the regular free version of Blogger). There are a lot of Blogger sites out there. With the huge momentum behind RSS, and as more good RSS readers emerge, the way people are browsing news and blog sites is changing. Sites without an RSS feed risk being ignored. (I have paid for both Blogger Pro and Radio Userland.)
Hey Apple, can we use those fancy colored checkboxes from iCal in our apps, too?
I have used Yahoo for almost a decade. It wasn’t long ago that I pointed to Yahoo and Google as great successes – sites based on the idea that a simple, functional interface is what users want rather than some fancy Flash application or graphics-heavy site.
But as of today I will avoid yahoo.com like the plague.
Late yesterday I logged into Yahoo Mail and almost dropped to the floor in shock. Instead of seeing my email, a message stared back at me stating that I had not logged in for at least 4 months. My account was disabled and all my mail was deleted! Unbelievable. I regularly log into other sections of Yahoo (the calendar, for example), and it never occurred to me that they would pull something like this on their customers.
Reading over the Terms of Service, all I could find was a vague statement that Yahoo “reserves the right to log off accounts that are inactive for an extended period of time.” First of all, my account was not inactive, since I regularly log in with my Yahoo ID and do other non-email things, and secondly, I hardly consider 4 months an “extended” period of time. I usually use Yahoo Mail when out of town, so it might be months between trips without my PowerBook.
So why do I care? While traveling in Europe a few years ago, I used Yahoo Mail frequently, at Internet cafes, hotels, and hostels. Much of my communication with people back home went through Yahoo’s servers. It’s all gone now.
(Yes, I should have gotten the important stuff off of Yahoo Mail before now, but they don’t make that easy.)
In the unlikely event that someone working at Yahoo is reading this, hook me up with someone in the data center that can pull backups for me. I need that email back!
I love Amazon Light already. Great for when you want to lookup something quickly. I wonder how long it will be before native apps start providing features that use Amazon’s API (or Google’s, for that matter). I’d love a simple OS X app to catalog all my books, for starters. Leveraging the Amazon database would provide instant categorization, etc.
Ward Kimball, one of Disney’s legendary animators, passed away today. Tom Sito sent an email out that reads:
“Please pause to recall one of the giants of Animation who passed away this morning. WARD KIMBALL- artist, animator, designer, filmmaker, trombone and model train aficionado. He was 88 and had been in poor health from pneumonia since early this year. His achievements as one of the Nine Old Men are the stuff of legend- Jiminy Cricket, The Three Caballeros, Pecos Bill, Toot- Whistle- Plunk and Boom and many, many more. His free spirit and nonconformist attitude in very conformist times demonstrates to generations to come how to work in a administered corporate climate yet remain an artist. I heard that when he was in hospital the other day he was still making jokes about the golf course nearby. He will be missed but he will live on in our collective memory.”
From a thoughtful Kottke.org post:
“Elastic sites work well because they embrace the ‘Webness’ of the Web…they allow people to interact and communicate with each other as they prefer to do in the real world. Human relationships are elastic in nature. Like a clingy friend, nothing is worse than a needy Web site sucking all of your time away and not letting you spend any time on other sites.”
37signals has a beautiful mockup for what the future of a web-based car interface might look like. But unlike 37signals usual stuff, it’s not grounded in reality. Car companies need to focus on real innovations like cars that get 100 miles to the gallon before implementing any of this fancy stuff.
Having said that, though, we test drove a wagon with a built-in DVD player yesterday. Not a requirement, but it sure beats trying to find a place to prop up the PowerBook to watch a movie on those long trips.
As most bloggers on the planet know by now, Dave Winer has been in the hospital this week. Rogers Cadenhead organized a quick passing of the PayPal hat to buy Dave an engraved iPod. I have to admit I got a chill when I read the quote. The ability for online communities to hook up like this and make a big difference is very powerful. Also today, the K5 fundraising drive has almost reached $35,000.
Last night, Traci stayed up late researching a question on Google Answers about Disney’s use of television and what influence it had on the other major studios. It was an interesting question, and she was able to look through books we have here as well as link to articles she found online. Today, as I’m reading through my daily RSS flow of blogs, I hit upon a post from Cory on BoingBoing that is talking about the same topic. Then I get to the end of the post, and it turns out he was the one who asked the question on Google Answers! I guess it’s a small web after all. :-)
Mark Pilgrim has a great idea for RSS auto-discovery: use the <link> tag to point to the XML version of the page. I’ve made the change on the template for this site. Hopefully it won’t be long before we see smart news aggregators that can pay attention to this extra bit of metadata, or search engines that can automatically find sites with an RSS feed.
A few days ago I took Paper Dreams off my bookshelf and read a few chapters that I hadn’t looked at before. One was on Bill Peet, storyman from Disney on some of their classics, including most of Song of the South, 101 Dalmatians, and Sword in the Stone. Yesterday I picked up another book that I have owned for years, Storytelling in Animation, and noticed a panel discussion from 1988 conducted by John Canemaker that included Bill Peet. What an interesting coincidence. I made a mental note to look for his biography and maybe get a few of his children’s books for my kids when they are older.
Today I see that Bill Peet had passed away just two weeks ago.
It seems that all the great ones are passing on. When I finally discovered Shamus Culhane’s books a couple of years ago, I found that he had died already too.
When news of Chuck Jones' death came, I flipped through Chuck Amuck, remembering when I first received it as a gift. In the inside cover an inscription dated Christmas 1989 reads: “For Manton, budding cartoonist.” That brought a smile. Still not quite there yet, though. :-)
I saw Enigma a week ago. We’ve seen many movies about technology come and go, but so far only Enigma deserves a place next to Sneakers as one of the best ever. Some may be bothered that the characters are fictional, but the rest of the movie was so true to the spirit and technology of the time that I easily fell into the story without a thought to Alan Turing’s absence until I left the theater. From the dials and plugs on the Enigma machine, to the explanation of cryptanalysis and the handwritten notes as the code breakers worked out a problem – it all felt real, a refreshing break from the fake computer interfaces usually designed by Hollywood.
That Turing’s story could be great on the big screen, I have no doubt. But Enigma’s story – romance, cryptography, war – also has its place. The look of the film is perfect, and with dialogue to match. You might recognize Tom Stoppard in the screenplay credit; his other credits include Shakespear in Love, Rosencrantz and Guildenstern Are Dead, and Empire of the Sun.
When I got home, I searched my bookshelves for other crypto books to supplement the film. Here’s a paragraph from The Code Book, detailing the “weather report” code which was referenced in the film but not entirely explained:
“…experience showed that the Germans sent a regular enciphered weather report shortly after 6 a.m. each day. So, an encrypted message intercepted at 6.05 a.m. would be almost certain to contain wetter, the German word for ‘weather’. The regorous protocol used by any military organisation meant that such messages were highliy regimented in style, so Turing could even be confident about the location of wetter within the encrypted message.”
You gotta love this stuff.
WWDC 2002 was a great week. Apple has a lot of great stuff coming. It’s real, it works. Now that the migration to X is behind them, they are really firing on all fronts. Very focused.
Yesterday I finished reading Steven Johnson’s Emergence: The Connected Lives of Ants, Brains, Cities, and Software. It was one of those rare books that leaves you with a dozen different things to think about.
It’s a fascinating book, and the topics are woven together beautifully. I get the feeling that Johnson did thorough research, planned out the entire structure of the book, but then wrote many sections straight through without stopping to edit – it flows with a rhythm and pace that makes for an easy read.
A related ant story in the news two weeks ago: “A supercolony of ants has been discovered stretching thousands of miles from the Italian Riviera along the coastline to northwest Spain.”
Mac OS X users have yet another browser choice in the works: Chimera, based on Mozilla but with a beautiful interface that removes the clutter and extraneous features of the full Netscape browser. David Hyatt, one of the main people behind Chimera, provides some background on Chimera development.
Matthew Thomas, also of Mozilla, has some things to say about “Why Free Software usability tends to suck” (also see part 2).
From Joel last Saturday: “It usually takes a lot more code to make a simpler interface.”
Jeff Veen from Dec 1999: “My prediction remains as it always has: The fastest Web sites, regardless of end-user bandwidth, will be the most successful… I’m looking for a page loading experience of under one second. Period.” [From EVHEAD]
Google Features: “Google examines more than 2 billion web pages to find the most relevant pages for any query and typically returns those results in less than half a second.”
Everyone’s talking about web services this week.
Megnut: “All this talk about APIs and web services warms my heart. We’ve passed the nadir of the dot-com hype and we’re coming back to the Web in interesting and important ways.”
Kottke: “Google is betting that a free teaser of their API (only 1000 searches/day currently allowed) will demonstrate to developers the power of Google in their applications and hope that they upgrade to a more industrial strength version (at least, that’s what they should be thinking).”
Brent Simmons: “I like web services. And I’m glad when they’re implemented and adopted, even when they’re SOAP interfaces. Something is better than nothing. The trend is good. But while XML-RPC is a thing of beauty, SOAP should have been named COAP–Convoluted Object Access Protocol.”
Yet, some people still don’t get it. From a copy of Java Developer’s Journal that has recently started showing up in my mailbox unasked for: “I’m not too excited about the whole Web services revolution. Personally, I think it’s just a marketing gimmick to repackage old products and technology.”
For me, the question of whether to adopt web services is a no-brainer. We’ve all been developing web-based applications for so long that we breathe HTTP and SQL. Connecting systems over HTTP is an obvious solution, because it works on top of the same backend that our web application uses, whether its PHP and MySQL or Java and Oracle. Simple, open, cross-platform, and we can use any of the tools we are comfortable with.
Hack the Planet has a long thread on publish and subscribe, OpenDoc, Microsoft, and the new Apple. From Paul Snively: “It’s a commonplace among folks I know that Microsoft doesn’t get anything right until it’s at 3.0, but implicit in that observation is that Microsoft is willing to field a product, have that product fail in the marketplace, find out from the marketplace why it failed, and then try again, until, mirable dictu, they own that market category.”
Joel Spolsky, on Picking a Ship Date: “Generally, people who buy “off-the-shelf” software don’t want to be part of a Grand Development Experiment; they want something that anticipates their needs. As a customer, the only thing better than getting feature requests done quickly is getting them instantaneously because they’re already in the product.”
Userland’s Instant Outliner Beta Notes: “First, let me apologize for inflicting such an unfinished and inadequate piece of software on such unsuspecting and good-natured people.”
Steve Jobs, sometime before 1984: “Real artists ship.”
Alan Cooper’s “The Inmates Are Running the Asylum” had been gathering dust on my bookshelf for a couple years before I finally picked it up again. I finished it last week, and I only wish I had read it sooner. There is good stuff in it for everyone involved in software development, from managers to designers, and yes, even programmers. Although Cooper describes a world where software development companies will have a dedicated team of interaction designers, and programmers won’t be actively creating user interfaces, the reality for small companies is that programmers need to be involved in many aspects of product design, including interface and feature definition. The book contains some great tools for changing the way we approach interface design, though, and even just implementing some pieces of his approaches would improve the design process at most companies.
Until now, most sites creating their own UI widgets in DHTML have been slow, not to mention distracting – the non-standard scrollbars and buttons clash with the rest of your system. Oddpost.com changes that, creating an incredibly dynamic application that raises the bar for acceptable DHTML work. Frankly, it makes many of our page-based web applications look juvenile. But it comes at a cost: Windows MSIE 5 only.
Which brings the question: Is this a good thing? With Oddpost, MSIE 5 becomes the platform for your application, and many of the advantages of what we traditionally consider a web application are gone (any machine, any operating system, any browser). Which is fine. But at that point would Flash, with its richer interfaces and broader platform support, be a better choice?
From a technology standpoint, traditional web applications haven’t changed much since the CGI days. With sites like Oddpost, and all the Flash MX interfaces that are sure to come our way in the near future, maybe we will see a gradual shift. The work that KnowNow has been doing is relevant, also.
Peter Merholz: “I believe the degree of security folks are forced to place on their own system is far too draconian.”
Jacob Nielsen, from November 2000: “In reality, users simply write down difficult passwords, leaving the system vulnerable.”
From the Six Degrees weblog: “Disorganized or Just Disorderly?", on the mess that we’re in with email filters and the hierarchical file system. I’ve been eagerly awaiting a look at their product since I heard Joel mention it, but it’s not clear when they will ship. A few screenshots are available.
It amazes me that email programs still don’t learn at least a little from our behavior. As an example, if I subscribe to a mailing list, the email program should help me out by noticing several messages with the same to/cc address and “Precedence: bulk” headers, and create a folder to file those messages in automatically. Why is this so hard?
Anyone care to guess what the difference between the OK and Cancel buttons is?
Meg talks about her experience using personas at Pyra in a new article on Boxes and Arrows.
Evan Williams, from Jan 31 2001: “And Then There Was One”, on the breakup of the Pyra team.
I saw Revolution OS at the Alamo Drafthouse here in Austin on Saturday. A really great film, and very approachable – it doesn’t matter if you’ve never heard of Richard Stallman or don’t know what a kernel is. Certainly the filmmakers didn’t entirely know the culture before starting the documentary, and I think that’s what makes the film work: It doesn’t take itself too seriously, and it’s not invested in the open source movement’s success or failure. They’re just showing a slice of time in which the landscape of server operating systems was completely changed, and having some fun in the process.
Dave Winer mentions some of the thought his team put into making Radio Userland respond quickly to the user. Thank you. The thing that makes this possible (that most other apps don’t have, whether they are web-based or not) is the events page, a human-readable log of events and actions taken on your behalf by Radio. Instead of interrupting the user with error messages or “your blog has been published” notifications, those messages are hidden until asked for.
It would be nice if the user could tell at a glance if there were any fatal errors, though. On the desktop web site home page, add a more useful summary to the events area: “Events: 23 since midnight (1 fatal error)”, with a hyperlink to the specific problem events. (Maybe the software already does this?)
Every so often a web site will add something small that makes all the difference. Today the example of this for me was the Sample Code section of the Apple Developer site. A new popup menu allows quick viewing of source files before downloading the full archive. This change took minimal effort for Apple to implement, but it will save developers from having to download lots of small archives (cluttering up their desktop) just to find the piece of sample code they were looking for.
Martijn van Welie has some concise descriptions of web design patterns and types of navigation that have become common over the years. They are things we intuitively know from building and using web sites, presented together in a clean way.
But then, after I wrote the above, I see an article on Boxes and Arrows in which Jacob Nielson says: “Intuition is completely the wrong word to use – it’s not a matter of intuition. It’s a matter of being very good at pattern matching, being able to spot small things, and hold together the big picture of what that really means.”
Slides from the Veen and Lynch SXSW keynote are up. Also includes links to sites mentioned in the keynote and to Jeff’s notes. Very useful – more panelists should do this sort of thing, especially since its unclear whether video or audio from any of the panels will be made available.
First in a series of new Megnut columns for the O’Reilly Network: Attendee-Centered Conference Design.
Went out to Home Depot this evening to get paint supplies. On the counter was a hand-written sign that read: “Can’t do paint color matching because of computer death.”
Notes from the Simplicity in Web Design panel at SXSW are now online. “Someone suggested that tooltips were always useful, but someone else shot that down because of the time required.” I was that someone else. After the session I couldn’t remember whether I had made any sense or was just babbling. Apparently some if it got through. Although I may not have articulated it very well, my point was really this: Good icons are hard to design. Even the big guys like Apple and Microsoft frequently get it wrong. Icons can serve as a visual aid that guides the user in a certain direction, but don’t rely solely on your icons for meaning. Use labels, or get rid of the icons completely if they are distracting.
In the latest CRYPTO-GRAM, Bruce Schneier weighs in on the factoring breakthrough covered recently on SlashDot. While reading all the SlashDot posts – that could best be summed up as “everyone update their PGP key sizes, quick!” – I knew I would have to wait until Schneier responded to make sense of the issue. While giving credit to Dan Bernstein’s work as good research, he says: “The improvements described in Bernstein’s paper are unlikely to produce the claimed speed improvements for practically useful numbers”. And: “it will be years before anyone knows exactly whether, and how, this work will affect the actual factoring of practical numbers.” Whew.
It turned into a really beautiful day in Austin. I’m sitting outside on the deck with my TiBook. No cars, no phone – just the wind chimes and a few birds. To everyone who was in town for SXSW: You should have stayed through the weekend. :)
A few years ago, a friend gave me a copy of Alan Cooper’s The Inmates Are Running the Asylum. For some reason I never finished it. I saw it recommended yesterday and dug up my copy. A great book on the need for interaction design.
Which leads into… Next week is the User Interface 6 West Conference in San Francisco. (I won’t be going.) Peter Merholz was interviewed before the conference about his work with PeopleSoft.
At the SXSW keynote the other day, Jeff Veen pointed at his slides and said that they’d all be online by the next day. I smiled, thinking to myself there is no way those will be online within a week, if ever. So far that prediction has been correct. But as he was giving his talk, I recognized some of the slides from other Adaptive Path presentations.
A Pattern Language, a book mentioned in Veen’s slides, is also on the just updated Joel Spolsky book recommendations. It seems everywhere I look I see this book now. Maybe I should finally read it.
Cam writes: “The cool thing is that Kevin was very receptive to my concerns and actually echoed some of them, which tells me that Macromedia is very aware of how their products, especially the Flash Player, are perceived among both the end user and the developer crowds.”
I too got the impression that Kevin understands the issues. But he was still pitching Flash for some types of web applications. The question becomes if Macromedia can educate Flash users on when it’s appropriate to use Flash and when it’s counter to the way the web works. I don’t have high hopes that this will happen.
In the weblogs panel Doc asks: “How many people are blogging this live?” At least three or four hands went up.
I brought my PowerBook to the conference today. A big thank you to Wes Felter and Cory Doctorow for the AirPort connectivity. Cory mentioned that an extra hub and power strip will make things easier, so I might bring my little 4-port switch tomorrow morning.
Speaking of Cory, he will speak with Bruce Sterling in the keynote tomorrow. I’ve read and enjoyed most of Sterling’s novels, but I have to admit to being out of the loop on Cory’s work, other than the occasional trip to BoingBoing.
SXSW was a mixed bag today. Although it’s always good to hear Mike Erwin talk about security, the first panel really wasn’t so useful as a technical discussion (despite my lame attempt to steer it that way with a question about FTP). The second panel followed with the same result. Yawn. I can only take so much mention of Interactive TV in one weekend.
It was good to hear Jeff Veen speak at the keynote, though he seemed a little too accepting of Kevin Lynch’s “replace your entire site with a Flash interface” demo. That’s not the Veen I’ve read.
The best session of the day was Lane Becker’s “Everything New is Old Again.” It was great to connect with Lane again, who I hadn’t talked to since our brief encounter at a web development company back in 1996. I left my PowerBook at home, but to my right Wes and Doc were blogging away on their’s.
Ernest Kim and Jason Fried of 37signals ran a great panel yesterday: “Simplicity in Interface Design: A Game Show.” A lot of fun, with some good discussion at the end on icon design and designing for speed. Ernest and Jason really get it – I hope they inspire some designers to think about web sites in a new way, and finally start focusing on usability and page load time and cut the fancy graphics, roll-overs, and animations.